Build fix: cannot use framework-style include for ProgIDMacros.h,
[WebKit-https.git] / WebKit / win / ChangeLog
1 2007-12-21  Alexey Proskuryakov  <ap@webkit.org>
2
3         Build fix: cannot use framework-style include for ProgIDMacros.h,
4         because the file is only created on a leter step. 
5
6         * ForEachCoClass.h:
7
8 2007-12-20  Kevin McCullough  <kmccullough@apple.com>
9
10         Reviewed by Steve.
11
12         - <rdar://5656485> Drosera: Win: Nightly does not reliably connect to 
13         WebKit.
14
15         - Drosera and Safari need to use the same ProgIDs in order for
16         CoCreateInstance to work properly.  The most robust way to do this is
17         for WebKit to dynamically publish those ProgIDs.
18
19         * ForEachCoClass.cpp: Added.
20         (setUseOpenSourceWebKit):
21         (progIDForClass):
22         * ForEachCoClass.h: Added functionality to publish ProgIDs.
23         * WebKit.vcproj/WebKit.def: Exposed added functions for applications.
24         * WebKit.vcproj/WebKit.vcproj: Added ForEachCoClass.cpp
25         * WebKit.vcproj/WebKit_debug.def: Exposed added functions fori
26         applications.
27
28 2007-12-19  Dave Hyatt <hyatt@apple.com>
29
30         Add a fourth preference value for GDI text in the font smoothing prefs.
31         
32         Reviewed by mitz
33
34         * Interfaces/IWebPreferences.idl:
35         * WebPreferenceKeysPrivate.h:
36         * WebPreferences.cpp:
37         (WebPreferences::initializeDefaultSettings):
38         (WebPreferences::fontSmoothing):
39         (WebPreferences::setFontSmoothing):
40         * WebView.cpp:
41         (WebView::notifyPreferencesChanged):
42
43 2007-12-17  Darin Adler  <darin@apple.com>
44
45         Reviewed by Sam.
46
47         - <rdar://4516170> Back/Forward Cache on Windows
48
49         * WebFrame.cpp:
50         (WebFrame::forceLayout): Implemented this. Just calling through to
51         Frame::forceLayout matches the Mac pretty well and should be enough
52         for now. Without this we won't repaint the new page when we go back
53         and forward.
54         (WebFrame::dispatchWillSubmitForm): Use COMPtr's AdoptCOM constructor
55         instead of the adoptRef function.
56         (WebFrame::restoreViewState): Removed unneeded notImplemented() call.
57         This is implemented as much as it needs to be.
58         (WebFrame::shouldGoToHistoryItem): Ditto.
59         (WebFrame::saveViewStateToItem): Ditto.
60         (WebFrame::canCachePage): Ditto, also changed it to return true. This
61         is what was preventing the back/forward cache from running, and there's
62         no need for any additional checks in the Windows version.
63
64         * WebView.cpp:
65         (PreferencesChangedOrRemovedObserver::onNotify): Fix backwards null check
66         that was preventing this notification from ever being sent, which in turn
67         meant that page cache had a capacity of 0.
68         (WebView::initWithFrame): Removed unneeded setUsesPageCache(false) code.
69         This actually was ineffective and ended up doing no harm, but we don't
70         need it.
71
72 2007-12-16  Alexey Proskuryakov  <ap@webkit.org>
73
74         Reviewed by Darin.
75
76         http://bugs.webkit.org/show_bug.cgi?id=16462
77         REGRESSION: access keys broken on Windows
78
79         * WebView.cpp: (WebView::keyPress): Handle system key presses as access keys.
80
81 2007-12-15  Alexey Proskuryakov  <ap@webkit.org>
82
83         Reviewed by Maciej.
84
85         http://bugs.webkit.org/show_bug.cgi?id=16436
86         Alt+Space works incorrectly
87
88         Test: platform/win/fast/events/alt-space-scroll.html
89
90         * WebView.cpp:
91         (WebView::keyDown):
92         (WebView::keyPress):
93         We do not handle WM_SYSCHAR events.
94
95 2007-12-14  Dan Bernstein  <mitz@apple.com>
96
97         - yet another build fix
98
99         * DOMHTMLClasses.cpp:
100         (DOMHTMLDocument::URL):
101
102 2007-12-14  Dan Bernstein  <mitz@apple.com>
103
104         - build fix
105
106         * WebIconDatabase.h:
107
108 2007-12-14  Darin Adler  <darin@apple.com>
109
110         Reviewed by Adele.
111
112         - http://bugs.webkit.org/show_bug.cgi?id=16443
113           implement some missing Windows WebKit functions
114
115         * DOMHTMLClasses.cpp:
116         (DOMHTMLDocument::URL): Implemented.
117
118         * WebActionPropertyBag.cpp:
119         (WebActionPropertyBag::Read): Fixed the WebActionElementKey case. 
120
121 2007-12-14  Darin Adler  <darin@apple.com>
122
123         Reviewed by Alexey.
124
125         * WebView.cpp:
126         (WebView::execCommand): Switched from Editor::execCommand to Editor:command.
127         Updated name from MoveUpByPageAndModifyCaret to MovePageUp and from
128         MoveDownByPageAndModifyCaret to MovePageDown.
129         (WebView::copy): Switched from Editor::execCommand to Editor:command.
130         (WebView::cut): Ditto.
131         (WebView::paste): Ditto.
132         (WebView::delete_): Ditto.
133
134 2007-12-13  Steve Falkenburg  <sfalken@apple.com>
135
136         Move source file generation into its own vcproj to fix build dependencies.
137
138         Reviewed by Adam.
139
140         * WebKit.vcproj/Interfaces.vcproj:
141         * WebKit.vcproj/InterfacesGenerated.vcproj: Added.
142         * WebKit.vcproj/WebKit.sln:
143         * WebKit.vcproj/WebKit.submit.sln:
144         * WebKit.vcproj/build-generated-files.sh:
145
146 2007-12-13  Adam Roben  <aroben@apple.com>
147
148         Fix <rdar://5517707> Crash on wptv.wp.pl when "make bigger" button is clicked
149
150         Reviewed by Anders.
151
152         * WebView.cpp:
153         (WebViewWndProc): Repost paint messages and ignore all other messages
154         when we're calling a plugin.
155
156 2007-12-13  Steve Falkenburg  <sfalken@apple.com>
157
158         Fix project dependencies based on JavaScriptCore change.
159
160         * WebKit.vcproj/WebKit.sln:
161
162 2007-12-13  Alexey Proskuryakov  <ap@webkit.org>
163
164         Reviewed by Adele.
165
166         http://bugs.webkit.org/show_bug.cgi?id=16421
167         REGRESSION(r28669): Page scrolls down when you hit space key in text area
168
169         Test: fast/events/space-scroll-event.html
170
171         * WebView.cpp:
172         (WebView::keyDown):
173         (WebView::keyPress):
174         Moved space handling to keyPress() to fix this bug and to match IE. Scrolling via arrow keys is correctly handled
175         in keyDown().
176
177 2007-12-12  Brady Eidson  <beidson@apple.com>
178
179         Reviewed by Sam Weinig
180
181         Fix for <rdar://problem/4886844> and lay groundwork for <rdar://problem/4516170> (Back/Forward Cache on Windows)
182
183         Even though this new code isn't exercised yet because the page cache is still turned off for Windows, local testing
184         has indicated it works well.
185
186         * WebCachedPagePlatformData.h: Added.
187         (WebCachedPagePlatformData::WebCachedPagePlatformData): Constructor takes an IWebDataSource and the object retains it
188         (WebCachedPagePlatformData::clear):
189         (WebCachedPagePlatformData::webDataSource):
190
191         * WebFrame.cpp:
192         (WebFrame::savePlatformDataToCachedPage):
193         (WebFrame::transitionToCommittedFromCachedPage):
194         (WebFrame::transitionToCommittedForNewPage):
195         * WebFrame.h:
196
197         * WebKit.vcproj/WebKit.vcproj:
198
199 2007-12-12  Steve Falkenburg  <sfalken@apple.com>
200
201         Build fix.
202
203         * WebKit.vcproj/WebKit.make: Copy only what we need out of obj/bin.
204
205 2007-12-12  Dan Bernstein  <mitz@apple.com>
206
207         Reviewed by Darin Adler.
208
209         - revert my earlier crash fix after making WebCore return the empty
210           editor command for the empty command name.
211
212         * WebView.cpp:
213         (WebView::handleEditingKeyboardEvent):
214
215 2007-12-12  Oliver Hunt  <oliver@apple.com>
216
217         Reviewed by Maciej.
218
219         <rdar://problem/5071781> window.mouseout events are not 
220         sent to window when mouse moves out of window 
221         
222         Hook up the windows mouse tracking logic to allow us to 
223         detect the mouse leaving the window.
224
225         * WebView.cpp:
226         (WebView::close):
227         (WebView::handleMouseEvent):
228         (WebViewWndProc):
229         * WebView.h:
230
231 2007-12-12  Dan Bernstein  <mitz@apple.com>
232
233         Reviewed by Alexey Proskuryakov.
234
235         - fix a crash when pressing a key that is not associated with a command
236
237         * WebView.cpp:
238         (WebView::handleEditingKeyboardEvent): Check if the result of
239         interpretKeyEvent() is empty.
240
241 2007-12-11  Sam Weinig  <sam@webkit.org>
242
243         Reviewed by Darin Adler.
244
245         Scrub URL out of the tree in preparation for renaming KURL to URL.
246
247         * WebFrame.cpp:
248         (WebFrame::url):
249         (WebFrame::dispatchWillPerformClientRedirect):
250         (WebFrame::setTitle):
251         (WebFrame::updateGlobalHistoryForStandardLoad):
252         (WebFrame::updateGlobalHistoryForReload):
253         (WebFrame::cancelledError):
254         (WebFrame::blockedError):
255         (WebFrame::interruptForPolicyChangeError):
256         (WebFrame::createPlugin):
257         * WebView.cpp:
258         (WebView::notifyDidAddIcon):
259
260 2007-12-10  Anders Carlsson  <andersca@apple.com>
261
262         Reviewed by Darin.
263     
264         <rdar://problem/5636865>
265         WebKit needs API to allow registering a protocol as local (RSS feeds appear unstyled)
266         
267         * Interfaces/IWebView.idl:
268         * WebView.cpp:
269         (WebView::registerURLSchemeAsLocal):
270         * WebView.h:
271
272 2007-12-11  Ada Chan  <adachan@apple.com>
273
274         Updated the database SPI to take in IWebFrame.
275
276         Reviewed by Adam.
277
278         * Interfaces/IWebUIDelegatePrivate.idl:
279         * WebChromeClient.cpp:
280         (WebChromeClient::requestQuotaIncreaseForNewDatabase):
281         (WebChromeClient::requestQuotaIncreaseForDatabaseOperation):
282
283 2007-12-11  Alexey Proskuryakov  <ap@webkit.org>
284
285         Windows build fix.
286
287         * WebView.cpp:
288         (WebView::interpretKeyEvent):
289
290 2007-12-11  Darin Adler  <darin@apple.com>
291
292         * WebView.cpp:
293         (WebView::handleEditingKeyboardEvent): Update for change to Editor API.
294
295 2007-12-11  Alexey Proskuryakov  <ap@webkit.org>
296
297         Reviewed by Darin.
298
299         <rdar://problem/5535636>
300         Have to press 4 times instead of 2 times to get the expected result of ^^ with german keyboard.
301
302         http://bugs.webkit.org/show_bug.cgi?id=13916
303         JavaScript detects Tab as a character input on a textfield validation
304
305         Listen to WM_CHAR messages, and actually pass the type of message received down to WebCore.
306         Since WM_KEYDOWN == keydown and WM_CHAR == keypress, this allows for much better IE compatibility
307         than layering Windows keyboard event handling on top of Mac one.
308
309         * WebView.cpp:
310         (WebView::keyUp): Do not special case Alt+F4 and Alt+Space - we don't get keyups for those anyway!
311         (WebView::interpretKeyEvent): Renamed WindowsKeyCode() to windowsVirtualKeyCode().
312         (WebView::handleEditingKeyboardEvent): Use the additional information about event type that
313         we now pass with PlatformKeyboardEvent.
314         (WebView::keyDown): (WebView::keyPress): Split WM_KEYDOWN and WM_CHAR handling in separate
315         functions, pass them down as is, without trying to guess what WM_CHAR Windows would have sent
316         for a given WM_KEYDOWN.
317
318         (WebViewWndProc): Handle WM_CHAR and WM_SYSCHAR.
319
320         * WebView.h: Removed inIMEKeyDown() - it doesn't look like we need it at all. At least, I didn't
321         notice any regressions after removing the only call to it in WebEditorClient.
322
323         * WebEditorClient.cpp:
324         (WebEditorClient::handleKeyboardEvent):
325         (WebEditorClient::handleInputMethodKeydown):
326         * WebEditorClient.h:
327         Renamed handleKeypress() to handleKeyboardEvent(), as it gets both keydowns and keypresses.
328         Renamed handleInputMethodKeypress() to handleInputMethodKeydown() and removed
329         inIMEKeyDown()-related code.
330
331 2007-12-10  Geoffrey Garen  <ggaren@apple.com>
332
333         Reviewed by Sam Weinig.
334
335         Updated for rename in JavaScriptCore.
336
337         * WebScriptCallFrame.cpp:
338         (WebScriptCallFrame::functionName):
339         (WebScriptCallFrame::valueByEvaluatingJavaScriptFromString):
340
341 2007-12-07  Steve Falkenburg  <sfalken@apple.com>
342
343         Fix version parsing.
344
345         Rubber-stamped by Oliver.
346
347         * WebKit.vcproj/auto-version.sh:
348
349 2007-12-07  Steve Falkenburg  <sfalken@apple.com>
350
351         Fix build.
352
353         * WebKit.vcproj/WebKit.vcproj:
354         * WebScriptCallFrame.cpp:
355
356 2007-12-07  Steve Falkenburg  <sfalken@apple.com>
357
358         Fix build.
359
360         * WebHistory.cpp:
361         (_WebCoreHistoryProvider::containsURL):
362
363 2007-12-07  Geoffrey Garen  <ggaren@apple.com>
364
365         Tried to fix build by suppressing warning.
366
367         * WebScriptCallFrame.cpp:
368
369 2007-12-07  Darin Adler  <darin@apple.com>
370
371         Reviewed by Mitz.
372
373         - http://bugs.webkit.org/show_bug.cgi?id=15981
374           speed up visited-link code a bit
375
376         * WebHistory.cpp: Removed unused Latin-1 code path.
377         (_WebCoreHistoryProvider::containsItem): Updated for function name change.
378
379 2007-12-07  Steve Falkenburg  <sfalken@apple.com>
380
381         Re-named our B&I flag from BUILDBOT to PRODUCTION.
382         Fix our tiny versioning.
383         Bump our product version.
384         Use just the major version in the fallback VERSION files.
385         Pick up the version numbers from the production builder.
386
387         Reviewed by Sam Weinig.
388
389         * Interfaces/WebKit.idl:
390         * WebKit.vcproj/Interfaces.vcproj:
391         * WebKit.vcproj/PRODUCTVERSION:
392         * WebKit.vcproj/VERSION:
393         * WebKit.vcproj/WebKit.make:
394         * WebKit.vcproj/WebKit.rc:
395         * WebKit.vcproj/WebKit.vcproj:
396         * WebKit.vcproj/auto-version.sh:
397         * WebKitDLL.cpp:
398         (DllUnregisterServer):
399
400 2007-12-07  Adam Roben  <aroben@apple.com>
401
402         Fix <rdar://5624866> CFStringRef UI_STRING should use a cache and follow the CF "Get" model (current uses leak)
403
404         Added a new class, LocalizedString, that wraps a CFStringRef and a
405         WebCore::String. We store one LocalizedString for each key string.
406
407         Reviewed by Steve.
408
409         * WebLocalizableStrings.cpp: Changed our two HashMaps to map from
410         WebCore::String to LocalizedString*.
411         (LocalizedString::LocalizedString):
412         (LocalizedString::operator CFStringRef):
413         (LocalizedString::operator LPCTSTR): Code moved here from
414         localizedLPCTSTR.
415         (findCachedString): Changed to return a LocalizedString*.
416         (cacheString): Changed to take a LocalizedString*.
417         (localizedString): Changed to return a const LocalizedString&. We
418         first try to find a cached LocalizedString. If there isn't one, we
419         create a new one and cache it.
420         (WebLocalizedLPCTSTRUTF8): Changed to call localizedString.
421         (WebLocalizedLPCTSTR): Ditto.
422
423 2007-12-07  Adam Roben  <aroben@apple.com>
424
425         Make WebLocalizableStrings work a little more like the Mac version
426
427         Reviewed by Steve.
428
429         * WebKit.vcproj/WebKit.def: Deprecated SetWebLocalizedStringMainBundle.
430         * WebKit.vcproj/WebKit_debug.def: Ditto.
431         * WebLocalizableStrings.cpp:
432         (createWebKitBundle): Changed to only create the bundle once.
433         (cfBundleForStringsBundle): Added. Code was factored out of
434         copyLocalizedStringFromBundle. We now use the CFBundleGetMainBundle to
435         get the main bundle and WebLocalizableStringsBundle's identifier to
436         fetch the framework's bundle.
437         (copyLocalizedStringFromBundle): Changed to call
438         cfBundleForStringsBundle.
439         (cacheString): Cleaned up logic a bit with an early return.
440         (SetWebLocalizedStringMainBundle): Moved down with the other
441         deprecated functions and made into a no-op.
442
443 2007-12-07  Adam Roben  <aroben@apple.com>
444
445         Use SoftLinking.h in WebKitClassFactory.
446
447         Reviewed by Oliver.
448
449         * WebKitClassFactory.cpp:
450         (WebKitClassFactory::WebKitClassFactory): We don't have to worry about
451         not finding STInitialize anymore now that a version of SafariTheme
452         containing this function has shipped.
453
454 2007-12-06  Ada Chan  <adachan@apple.com>
455
456         <rdar://problem/5556378> Implemented database related UI delegate methods (prompts for new/enlarged databases)
457
458         Reviewed by Darin.
459
460         * Interfaces/IWebUIDelegatePrivate.idl:
461         * WebChromeClient.cpp:
462         (WebChromeClient::requestQuotaIncreaseForNewDatabase):
463         (WebChromeClient::requestQuotaIncreaseForDatabaseOperation):
464
465 2007-12-06  Alice Liu  <alice.liu@apple.com>
466
467         Fixed <rdar://5540000> onbeforeunload doesn't fire when closing window/tab
468
469         Reviewed by Darin.
470
471         * Interfaces/IWebViewPrivate.idl:
472         * WebView.cpp:
473         (WebView::shouldClose):
474         * WebView.h:
475
476 2007-12-06  Adam Roben  <aroben@apple.com>
477
478         Fix <rdar://5615283> Crash in WebFrame::receivedPolicyDecision
479
480         It's possible for a second policy listener to be created while we're
481         waiting for a decision on the first policy listener. In this case we
482         would crash when the first policy listener had a decision made. Mac
483         WebKit already handles this by invalidating any existing policy
484         listener when creating a new one.
485
486         A test case is coming in a future commit.
487
488         Reviewed by Anders.
489
490         * WebFrame.cpp:
491         (WebFrame::setUpPolicyListener): Copy the Mac behavior of invalidating
492         any existing policy listener, and remove some assertions that we know
493         can fire.
494
495 2007-12-06  Adam Roben  <aroben@apple.com>
496
497         Add SPI so that DumpRenderTree can turn on the Mac font ascent hack
498
499         Reviewed by Hyatt.
500
501         * Interfaces/IWebViewPrivate.idl: Added new method declaration.
502         * WebView.cpp:
503         (WebView::setShouldApplyMacFontAscentHack): Added. Just calls down to
504         FontData.
505         * WebView.h:
506
507 2007-12-06  Ada Chan  <adachan@apple.com>
508
509         Build fix.
510
511         Reviewed by Geoff.
512
513         * WebScriptCallFrame.cpp:
514         (WebScriptCallFrame::valueByEvaluatingJavaScriptFromString):
515
516 2007-12-04  Geoffrey Garen  <ggaren@apple.com>
517
518         Reviewed by Darin Adler.
519
520         Third step in refactoring JSGlobalObject: Moved data members and data
521         member access from Interpreter to JSGlobalObject.
522         
523         * WebFrame.cpp:
524         (WebFrame::globalContext):
525         (WebFrame::attachScriptDebugger):
526         (WebFrame::windowObjectCleared):
527         * WebScriptDebugger.cpp:
528         (WebScriptDebugger::WebScriptDebugger):
529
530 2007-12-05  Steve Falkenburg  <sfalken@apple.com>
531
532         <rdar://problem/5625327> Crash toggling check grammar w/ spelling when no spell checker exists.
533         
534         Reviewed by Adam.
535
536         * WebView.cpp:
537         (WebView::setGrammarCheckingEnabled): Add null check
538
539 2007-12-05  Adam Roben  <aroben@apple.com>
540
541         Expose WebView::setProhibitsMainFrameScrolling through IWebViewPrivate
542
543         Reviewed by Steve.
544
545         * Interfaces/IWebViewPrivate.idl: Added declaration.
546         * WebInspectorClient.cpp:
547         (WebInspectorClient::createPage): Updated for change to
548         setProhibitsMainFrameScrolling signature.
549         * WebView.cpp:
550         (WebView::setProhibitsMainFrameScrolling): Updated and robustified.
551         * WebView.h:
552
553 2007-12-05  Dan Bernstein  <mitz@apple.com>
554
555         Reviewed by Darin Adler.
556
557         - WebKit/win part of fixing <rdar://problem/5111082> Flash popup video ad doesn't close when clicked at http://www.firestonecompleteautocare.com/
558
559         * WebView.cpp:
560         (WebView::initWithFrame): Attach the main frame's view.
561
562 2007-12-04  Ada Chan  <adachan@apple.com>
563
564         Provide API for setting the default storage quota per database origin
565
566         Reviewed by Jon.
567
568         * Interfaces/IWebPreferencesPrivate.idl: added SPI to get/set default database quota
569         * WebPreferenceKeysPrivate.h:
570         * WebPreferences.cpp:
571         (WebPreferences::initializeDefaultSettings): default database quota is 5MB
572         (WebPreferences::longlongValueForKey):
573         (WebPreferences::setLongLongValue):
574         (WebPreferences::defaultDatabaseQuota):
575         (WebPreferences::setDefaultDatabaseQuota):
576         * WebPreferences.h:
577         * WebView.cpp:
578         (WebView::notifyPreferencesChanged): propagate default database quota change to WebCore settings.
579
580 2007-12-04  Kevin McCullough  <kmccullough@apple.com>
581
582         Reviewed by Adam and Darin.
583
584         - Fixed a crasher where the top of the stack was not updated correctly.
585         And set the eol style on IWebScriptCallFrame.idl file.
586
587         * Interfaces/IWebScriptCallFrame.idl:
588         * WebScriptDebugger.cpp:
589         (WebScriptDebugger::atStatement):
590         (WebScriptDebugger::leaveFrame):
591
592 2007-11-27  Adam Roben  <aroben@apple.com>
593
594         Hook up the authorAndUserStylesEnabled preference
595
596         This is the Windows counterpart of r28071.
597
598         Reviewed by Maciej.
599
600         * Interfaces/IWebPreferencesPrivate.idl: Added new method
601         declarations.
602         * WebPreferenceKeysPrivate.h: Added a new preference key.
603         * WebPreferences.cpp:
604         (WebPreferences::initializeDefaultSettings): Set the default for the
605         new preference.
606         (WebPreferences::setAuthorAndUserStylesEnabled): Added.
607         (WebPreferences::authorAndUserStylesEnabled): Added.
608         * WebPreferences.h:
609         * WebView.cpp:
610         (WebView::notifyPreferencesChanged): Communicate the new preference
611         down to WebCore::Settings.
612
613 2007-12-04  Jon Honeycutt  <jhoneycutt@apple.com>
614
615         Reviewed by Ollie.
616
617         Don't crash if our JavaPlugin DLL can't be found 
618
619         * WebFrame.cpp:
620         (WebFrame::createJavaAppletWidget): Added null check
621
622 2007-12-04  Darin Adler  <darin@apple.com>
623
624         Reviewed by Kevin Decker.
625
626         * WebFrame.cpp: Removed obsolete privateBrowsingEnabled.
627         * WebFrame.h: Ditto.
628
629 2007-12-04  Adam Roben  <aroben@apple.com>
630
631         Windows build fix
632
633         * WebScriptCallFrame.cpp:
634
635 2007-12-03  Dan Bernstein  <mitz@apple.com>
636
637         Reviewed by Dave Hyatt.
638
639         - fix <rdar://problem/5346452> Resize event doesn't fire on body element inside a frame
640
641         * WebView.cpp:
642         (WebViewWndProc): Removed call to sendResizeEvent() since FrameView
643         sends them now.
644
645 2007-12-03  Kevin McCullough  <kmccullough@apple.com>
646
647         Reviewed by Adam.
648
649         - <rdar://5618942> Drosera: Console window does not process everything
650         correctly.
651         - <rdar://5619005> Drosera: could be sped up by moving the
652         WebScriptScope stuff into the WebScriptCallFrame.
653         - Now the console can correctly process objects and does not receive
654         notifications from JavaScriptCore about the JavaScript in Drosera's
655         own process.
656
657         * Interfaces/IWebScriptCallFrame.idl: Moved the variable lookup
658         functions from WebScriptScope to here.
659         * Interfaces/WebKit.idl: Removed WebScriptScope.
660         * WebKit.vcproj/Interfaces.vcproj: Ditto.
661         * WebKit.vcproj/WebKit.vcproj: Ditto.
662         * WebKit.vcproj/WebKitGUID.vcproj: Ditto.
663         * WebScriptCallFrame.cpp: Moved WebScriptScope functionality into here.
664         (WebScriptCallFrame::stringByEvaluatingJavaScriptFromString): Now
665         returns a string value for things that are not strings.
666         (WebScriptCallFrame::variableNames): Moved from WebScriptScope.
667         (WebScriptCallFrame::valueForVariable): Moved from WebScriptScope.
668         (WebScriptCallFrame::jsValueToString): Helper functions that converts
669         any JSValue to a String.
670         * WebScriptCallFrame.h: Moved WebScriptScope functionality into here.
671         * WebScriptDebugger.cpp: Added nested guards so that Drosera does not
672         receive notifications about JavaScript that Drosera is running just the
673         JavaScript WebKit is running.
674         (WebScriptDebugger::WebScriptDebugger):
675         (WebScriptDebugger::sourceParsed):
676         (WebScriptDebugger::callEvent):
677         (WebScriptDebugger::atStatement):
678         (WebScriptDebugger::returnEvent):
679         (WebScriptDebugger::exception):
680         * WebScriptDebugger.h: Ditto.
681         * WebScriptScope.cpp: Removed.
682         * WebScriptScope.h: Removed.
683
684 2007-12-03  Mark Rowe  <mrowe@apple.com>
685
686         Speculative Windows build fix.
687
688         * WebScriptCallFrame.cpp:
689         (WebScriptCallFrame::valueByEvaluatingJavaScriptFromString):
690
691 2007-12-03  Adam Roben  <aroben@apple.com>
692
693         Another speculative Windows build fix
694
695         * WebScriptCallFrame.cpp:
696         (WebScriptCallFrame::valueByEvaluatingJavaScriptFromString):
697
698 2007-12-03  Adam Roben  <aroben@apple.com>
699
700         Speculative Windows build fix
701
702         * WebFrame.cpp:
703         (WebFrame::globalContext):
704         (WebFrame::windowObjectCleared):
705         * WebScriptDebugger.cpp:
706         (WebScriptDebugger::WebScriptDebugger):
707
708 2007-12-01  Sam Weinig  <sam@webkit.org>
709
710         Rename IWebViewPrivate::selectionImageRect to IWebViewPrivate::selectionRect.
711
712         Rubber stamped by Adam Roben.
713
714         * Interfaces/IWebViewPrivate.idl:
715         * WebView.cpp:
716         (WebView::selectionRect):
717         * WebView.h:
718
719 2007-11-30  Ada Chan  <adachan@apple.com>
720
721         <rdar://problem/5621373> Added a way for the client to clear undo/redo
722         operations from a WebView.
723
724         Reviewed by Steve.
725
726         * Interfaces/IWebViewPrivate.idl:
727         * WebView.cpp:
728         (WebView::clearUndoRedoOperations):
729         * WebView.h:
730
731 2007-11-29  Anders Carlsson  <andersca@apple.com>
732
733         Reviewed by Sam.
734
735         Add an IWebFrameLoadDelegate2 interface with a didClearWindowObject method 
736         that passes in the frame whose window has been cleared. This matches a newly
737         added delegate method on the Mac.
738         
739         * Interfaces/IWebFrameLoadDelegate.idl:
740         * WebFrame.cpp:
741         (WebFrame::windowObjectCleared):
742
743 2007-11-29  Kevin McCullough  <kmccullough@apple.com>
744
745         Reviewed by Sam.
746
747         - <rdar://5618976> Drosera: should listen for the WebScriptDebugServer
748         dying and vice versa.
749
750         * Interfaces/IWebScriptDebugListener.idl: Added the new function to the
751         interface.
752         * WebKit.vcproj/WebKit.def: Added the new function to the def file so
753         Safari can tell WebKit when the server is dying.
754         * WebKit.vcproj/WebKit_debug.def: Ditto.
755         * WebKitDLL.cpp: Added the new function for Safari to call.
756         (RunAsLocalServer):
757         (LocalServerDidDie):
758         * WebScriptDebugServer.cpp: 
759         (WebScriptDebugServer::WebScriptDebugServer): Removed unused member.
760         (WebScriptDebugServer::sharedWebScriptDebugServer): Ditto, and added new
761         member to prevent adding or removing listeners when the server is dying.
762         (WebScriptDebugServer::addListener): Don't let new listeners be added
763         when the server is dying.
764         (WebScriptDebugServer::removeListener): Don't let listeners remove
765         themselves when the server is dying.  The server will remove them all
766         anyways.
767         (WebScriptDebugServer::serverDidDie): Notify all listeners that the
768         server is dying and remove all listeners.
769         * WebScriptDebugServer.h: Added the new method and removed an unused
770         member.
771
772 2007-11-29  Brady Eidson  <beidson@apple.com>
773
774         Build fix that works...?
775
776         * WebChromeClient.h:
777
778 2007-11-29  Brady Eidson  <beidson@apple.com>
779
780         Build fix
781
782         * WebChromeClient.cpp:
783         (WebChromeClient::requestQuotaIncreaseForNewDatabase):
784         (WebChromeClient::requestQuotaIncreaseForDatabaseOperation):
785
786 2007-11-29  Brady Eidson  <beidson@apple.com>
787
788         Keep it building with new client method
789
790         * WebChromeClient.cpp:
791         (ChromeClient::requestQuotaIncreaseForNewDatabase):
792         (ChromeClient::requestQuotaIncreaseForDatabaseOperation):
793         * WebChromeClient.h:
794
795 2007-11-29  Dan Bernstein  <mitz@apple.com>
796
797         Reviewed by Beth Dakin and Darin Adler.
798
799         - fix <rdar://problem/5346394> Contextmenu event doesn't fire on body element inside frame
800
801         * WebView.cpp:
802         (WebView::handleContextMenuEvent): Send the context menu event to the
803         frame containing the node that was hit.
804
805 2007-11-28  Kevin McCullough  <kmccullough@apple.com>
806
807         Reviewed by Tim.
808
809         - Added guards to the wait loop so execution would not hang and now the
810         console window can process JavaScript.
811
812         * WebScriptDebugServer.cpp:
813         (WebScriptDebugServer::suspendProcessIfPaused):
814
815 2007-11-28  Anders Carlsson  <andersca@apple.com>
816
817         Reviewed by Adam.
818
819         Implement the last bits of the WebDatabaseManager API.
820         
821         * Interfaces/IWebDatabaseManager.idl:
822         * WebDatabaseManager.cpp:
823         (isEqual):
824         (WebDatabaseManager::sharedWebDatabaseManager):
825         (WebDatabaseManager::dispatchDidModifyOrigin):
826         (WebDatabaseManager::dispatchDidModifyDatabase):
827         * WebDatabaseManager.h:
828
829 2007-11-28  Anders Carlsson  <andersca@apple.com>
830
831         Get Drosera working again for real.
832         
833         * COMEnumVariant.h:
834         (::Next):
835
836 2007-11-27  Kevin McCullough  <kmccullough@apple.com>
837
838         Reviewed by Maciej and Adam.
839
840         - Added Drosera to the WebKit project.
841
842         * WebKit.vcproj/WebKit.sln:
843
844 2007-11-27  Jon Honeycutt  <jhoneycutt@apple.com>
845
846         Reviewed by Adam.
847
848         Return bool from registerWebViewWindowClass, as nothing uses the ATOM.
849         Set haveRegisteredWindowClass to true
850
851         * WebView.cpp:
852         (registerWebViewWindowClass):
853
854 2007-11-27  Anders Carlsson  <andersca@apple.com>
855
856         Speculative fix to get Drosera working.
857         
858         * COMEnumVariant.h:
859         (::Next):
860         Update the number of elements fetched correctly.
861         
862 2007-11-27  Anders Carlsson <andersca@apple.com>
863
864         Reviewed by Adam.
865
866         Some COM cleanup.
867         
868         * CFDictionaryPropertyBag.cpp:
869         (CFDictionaryPropertyBag::QueryInterface):
870         * CFDictionaryPropertyBag.h:
871         * WebBackForwardList.cpp:
872         (WebBackForwardList::addItem):
873         (WebBackForwardList::removeItem):
874         * WebDownload.cpp:
875         (WebDownload::initWithRequest):
876         * WebFrame.cpp:
877         (WebFrame::loadRequest):
878         (WebFrame::initWithWebFrameView):
879         (WebFrame::webHistory):
880         (WebFrame::dispatchWillSendRequest):
881         * WebURLAuthenticationChallenge.cpp:
882         (WebURLAuthenticationChallenge::QueryInterface):
883         (WebURLAuthenticationChallenge::initWithProtectionSpace):
884         * WebURLAuthenticationChallenge.h:
885         * WebURLAuthenticationChallengeSender.cpp:
886         (WebURLAuthenticationChallengeSender::QueryInterface):
887         * WebURLAuthenticationChallengeSender.h:
888         * WebURLResponse.cpp:
889         (WebURLResponse::QueryInterface):
890         * WebURLResponse.h:
891         * WebView.cpp:
892         (WebView::notifyDidAddIcon):
893         (WebView::goToBackForwardItem):
894         (WebView::canHandleRequest):
895         (WebView::loadBackForwardListFromOtherView):
896         (core):
897
898 2007-11-27  Anders Carlsson  <andersca@apple.com>
899
900         Add COMEnumVariant.h to the project.
901         
902         * WebKit.vcproj/WebKit.vcproj:
903
904 2007-11-27  Anders Carlsson  <andersca@apple.com>
905
906         Reviewed by Adam.
907
908         Return E_INVALIDARG if the databaseName BSTR is null.
909         
910         * WebDatabaseManager.cpp:
911         (WebDatabaseManager::detailsForDatabaseWithOrigin):
912         (WebDatabaseManager::deleteDatabaseWithOrigin):
913
914 2007-11-27  Anders Carlsson  <andersca@apple.com>
915
916         Reviewed by Adam.
917
918         Implement the rest of the WebDatabaseManager API.
919
920         * COMEnumVariant.h:
921         * Interfaces/IWebDatabaseManager.idl:
922         * WebDatabaseManager.cpp:
923         (isEqual):
924         (DatabaseDetailsPropertyBag::DatabaseDetailsPropertyBag):
925         (DatabaseDetailsPropertyBag::~DatabaseDetailsPropertyBag):
926         (DatabaseDetailsPropertyBag::createInstance):
927         (DatabaseDetailsPropertyBag::AddRef):
928         (DatabaseDetailsPropertyBag::Release):
929         (DatabaseDetailsPropertyBag::QueryInterface):
930         (DatabaseDetailsPropertyBag::Read):
931         (DatabaseDetailsPropertyBag::Write):
932         (WebDatabaseManager::detailsForDatabaseWithOrigin):
933         (WebDatabaseManager::deleteAllDatabases):
934         (WebDatabaseManager::deleteDatabasesWithOrigin):
935         (WebDatabaseManager::deleteDatabaseWithOrigin):
936         * WebDatabaseManager.h:
937
938 2007-11-27  Ada Chan  <adachan@apple.com>
939
940         <rdar://problem/5616098> The BSTR returned by WebHistoryItem::alternateTitle
941         was not allocated correctly.
942
943         Reviewed by Anders.
944
945         * WebHistoryItem.cpp:
946         (WebHistoryItem::setAlternateTitle):
947         (WebHistoryItem::alternateTitle):
948         * WebHistoryItem.h:
949
950 2007-11-27  Anders Carlsson  <andersca@apple.com>
951
952         Reviewed by Adam.
953
954         Use COMEnumVariant in WebScriptCallFrame and WebScriptScope.
955         
956         * WebScriptCallFrame.cpp:
957         (WebScriptCallFrame::scopeChain):
958         * WebScriptScope.cpp:
959         (WebScriptScope::variableNames):
960
961 2007-11-27  Anders Carlsson  <andersca@apple.com>
962
963         Reviewed by Adam.
964
965         Use the correct include paths.
966         
967         * COMEnumVariant.h:
968
969 2007-11-27  Anders Carlsson  <andersca@apple.com>
970
971         Reviewed by Darin.
972    
973         Add COMEnumVariant, a templatized class with implements IEnumVARIANT and lets
974         you enumerate over a C++ container, be it WTF or STL.
975         
976         * COMEnumVariant.h: Added.
977         
978         * WebDatabaseManager.cpp:
979         (WebDatabaseManager::origins):
980         (WebDatabaseManager::databasesWithOrigin):
981         Implement these using COMEnumVariant.
982         
983         * WebSecurityOrigin.cpp:
984         (WebSecurityOrigin::QueryInterface):
985         * WebSecurityOrigin.h:
986         Add a UUID for the implementation so that other parts of WebKit can access
987         the WebCore::SecurityOriginData object.
988         
989 2007-11-26  Adam Roben  <aroben@apple.com>
990
991         Take advantage of the new Color constructor that takes a CGColorRef
992
993         This lets us handle grayscale colors (which only have 2 components).
994
995         Reviewed by Darin.
996
997         * WebKitGraphics.cpp:
998         (DrawTextAtPoint):
999
1000 2007-11-26  Steve Falkenburg  <sfalken@apple.com>
1001
1002         Build fix.
1003
1004         * WebKit.vcproj/WebKit.make:
1005
1006 2007-11-26  Steve Falkenburg  <sfalken@apple.com>
1007
1008         Build fix.
1009
1010         * WebKit.vcproj/build-generated-files.sh:
1011
1012 2007-11-26  Steve Falkenburg  <sfalken@apple.com>
1013
1014         Build fix.
1015
1016         * WebKit.vcproj/build-generated-files.sh:
1017
1018 2007-11-26  Anders Carlsson  <andersca@apple.com>
1019
1020         Reviewed by Adam.
1021
1022         Add an implementation of IWebSecurityOrigin and a partially stubbed out
1023         implementation of IWebDatabaseManager.
1024         
1025         * ForEachCoClass.h:
1026         * Interfaces/IWebDatabaseManager.idl:
1027         * Interfaces/WebKit.idl:
1028         * WebDatabaseManager.cpp:
1029         (WebDatabaseManager::createInstance):
1030         (WebDatabaseManager::WebDatabaseManager):
1031         (WebDatabaseManager::~WebDatabaseManager):
1032         (WebDatabaseManager::QueryInterface):
1033         (WebDatabaseManager::AddRef):
1034         (WebDatabaseManager::Release):
1035         (WebDatabaseManager::sharedWebDatabaseManager):
1036         (WebDatabaseManager::origins):
1037         (WebDatabaseManager::databasesWithOrigin):
1038         (WebDatabaseManager::detailsForDatabaseWithOrigin):
1039         (WebDatabaseManager::deleteAllDatabases):
1040         (WebDatabaseManager::deleteDatabasesWithOrigin):
1041         (WebDatabaseManager::deleteDatabaseWithOrigin):
1042         * WebDatabaseManager.h:
1043         * WebKit.vcproj/WebKit.vcproj:
1044         * WebKitClassFactory.cpp:
1045         * WebSecurityOrigin.cpp: Added.
1046         (WebSecurityOrigin::createInstance):
1047         (WebSecurityOrigin::WebSecurityOrigin):
1048         (WebSecurityOrigin::~WebSecurityOrigin):
1049         (WebSecurityOrigin::QueryInterface):
1050         (WebSecurityOrigin::AddRef):
1051         (WebSecurityOrigin::Release):
1052         (WebSecurityOrigin::protocol):
1053         (WebSecurityOrigin::domain):
1054         (WebSecurityOrigin::port):
1055         (WebSecurityOrigin::usage):
1056         (WebSecurityOrigin::quota):
1057         (WebSecurityOrigin::setQuota):
1058         * WebSecurityOrigin.h: Added.
1059
1060 2007-11-26  Kevin McCullough  <kmccullough@apple.com>
1061
1062         Reviewed by Maciej.
1063
1064         - Implemented displaying variables for Drosera on Win.
1065
1066         * Interfaces/IWebScriptCallFrame.idl: Added a local function to be
1067         able to access the WebScriptCallFrame.
1068         * Interfaces/IWebScriptScope.idl: Implemented.
1069         * Interfaces/WebKit.idl: Added WebScriptScope to the tlb.
1070         * WebKit.vcproj/Interfaces.vcproj: 
1071         * WebScriptCallFrame.cpp: Implemented the helper and accessor methods.
1072         (EnumScopes::Next): Fixed a bug where we did not release correctly and
1073         would accidentally destroy scopes.
1074         (WebScriptCallFrame::stringByEvaluatingJavaScriptFromString):
1075         Implemented.
1076         (WebScriptCallFrame::valueByEvaluatingJavaScriptFromString): Implemented
1077         * WebScriptCallFrame.h: Implemented the helper and accessor methods.
1078         (WebScriptCallFrame::impl):
1079         (WebScriptCallFrame::state):
1080         * WebScriptScope.cpp: Implmented.
1081         (EnumVariables::EnumVariables): Created an IEnumVariant over the
1082         variables to be able to pass a DCOM acceptable structure back to
1083         Drosera.
1084         (EnumVariables::createInstance):
1085         (EnumVariables::QueryInterface):
1086         (EnumVariables::AddRef):
1087         (EnumVariables::Release):
1088         (EnumVariables::Next):
1089         (EnumVariables::Skip):
1090         (EnumVariables::Reset):
1091         (EnumVariables::Clone):
1092         (WebScriptScope::WebScriptScope):
1093         (WebScriptScope::createInstance): Implemented.
1094         (WebScriptScope::variableNames): Implemented.
1095         (WebScriptScope::valueForVariable):
1096         * WebScriptScope.h: Implmeneted.
1097
1098 2007-11-26  Anders Carlsson  <andersca@apple.com>
1099
1100         Reviewed by Brady.
1101
1102         Add IWebDatabaseManager and IWebSecurityOrigin interfaces.
1103         
1104         * Interfaces/IWebDatabaseManager.idl: Added.
1105         * Interfaces/IWebSecurityOrigin.idl: Added.
1106         * WebKit.vcproj/Interfaces.vcproj:
1107         * WebKit.vcproj/WebKitGUID.vcproj:
1108
1109 2007-11-26  Alice Liu  <alice.liu@apple.com>
1110
1111         Reviewed by Jon Honeycutt.
1112
1113         Fall back to the default Policy Delegate in these functions, 
1114         as is already done in dispatchDecidePolicyForNavigationAction
1115
1116         * WebFrame.cpp:
1117         (WebFrame::dispatchDecidePolicyForMIMEType):
1118         (WebFrame::dispatchDecidePolicyForNewWindowAction):
1119         (WebFrame::dispatchUnableToImplementPolicy):
1120
1121 2007-11-25  Adam Roben  <aroben@apple.com>
1122
1123         Fix a leak pointed out by Alexey
1124
1125         * WebView.cpp:
1126         (getUpdateRects): Use a Vector<unsigned char>, since OwnPtr doesn't
1127         know to call delete[].
1128
1129 2007-11-25  Adam Roben  <aroben@apple.com>
1130
1131         Fix Bug 16138: Reduce code duplication in WebView.cpp
1132
1133         http://bugs.webkit.org/show_bug.cgi?id=16138
1134
1135         Reviewed by Sam.
1136
1137         * WebView.cpp:
1138         (getUpdateRects): Factored code out of updateBackingStore and paint
1139         into this new helper function.
1140         (WebView::updateBackingStore): Use getUpdateRects.
1141         (WebView::paint): Ditto.
1142         (WebView::paintIntoBackingStore): Changed to take a const IntRect&.
1143         (WebView::paintIntoWindow): Ditto.
1144         * WebView.h:
1145
1146 2007-11-25  Adam Roben  <aroben@apple.com>
1147
1148         Add ImageDiff.vcproj to WebKit.sln
1149
1150         Reviewed by Sam.
1151
1152         * WebKit.vcproj/WebKit.sln:
1153
1154 2007-11-17  Timothy Hatcher  <timothy@apple.com>
1155
1156         Reviewed by Mark Rowe.
1157
1158         Bug 13470: i18n: The Web Inspector is not localizable
1159         http://bugs.webkit.org/show_bug.cgi?id=13470
1160
1161         * English.lproj/Localizable.strings: Updated.
1162         * WebInspectorClient.cpp:
1163         (WebInspectorClient::localizedStringsURL): Empty stub.
1164         * WebInspectorClient.h: Added localizedStringsURL.
1165
1166 2007-11-17  Alexey Proskuryakov  <ap@webkit.org>
1167
1168         Windows build fix.
1169
1170         * WebView.cpp:
1171         (WebView::deleteSelection): Use canSmartCopyOrDelete() directly.
1172
1173 2007-11-14  Adam Roben  <aroben@apple.com>
1174
1175         Change Interfaces to be a "Static Library" project
1176
1177         Being a Utility project meant that Interfaces was rebuilding every
1178         time (Utility projects are supposed to handle their own dependencies).
1179         Interfaces isn't really a static library, but it means that VS will
1180         handle dependencies for us (and not complain about missing manifests
1181         like it did when the project was an Application).
1182
1183         * WebKit.vcproj/Interfaces.vcproj:
1184
1185 2007-11-14  Adam Roben  <aroben@apple.com>
1186
1187         Shut up FixMIDLHeaders.pl
1188
1189         * WebKit.vcproj/FixMIDLHeaders.pl:
1190
1191 2007-11-14  Adam Roben  <aroben@apple.com>
1192
1193         Change Interfaces to use a Utility configuration
1194
1195         It had previously been marked as an "Application (.exe)", which is
1196         wrong but worked with most versions of Visual Studio.
1197
1198         Rubberstamped by Steve.
1199
1200         * WebKit.vcproj/Interfaces.vcproj:
1201
1202 2007-11-14  Anders Carlsson  <andersca@apple.com>
1203
1204         Reviewed by Adam.
1205
1206         Get the new focus window from the wParam instead of calling GetFocus().
1207         Also, send blur even if there is no focused frame.
1208                
1209         * WebView.cpp:
1210         (WebViewWndProc):
1211
1212 2007-11-14  Adam Roben  <aroben@apple.com>
1213
1214         Another build fix for systems without Cygwin in their PATH
1215
1216         * WebKit.vcproj/Interfaces.vcproj: Add Cygwin to the PATH in the
1217         Post-Build Event.
1218
1219 2007-11-13  Kevin McCullough  <kmccullough@apple.com>
1220
1221         Reviewed by Adam.
1222
1223         - Make Drosera show source, source URLs, and function stack on Windows
1224         and some minor fixes.
1225
1226         * WebScriptCallFrame.cpp: Fixed a bug where the callFrame was not reffed
1227         properly before being returned, and changed functionName() to check for
1228         Null or if the name is empty.
1229         (EnumScopes::Clone):
1230         (WebScriptCallFrame::WebScriptCallFrame):
1231         (WebScriptCallFrame::createInstance):
1232         (WebScriptCallFrame::caller):
1233         (WebScriptCallFrame::functionName):
1234         * WebScriptCallFrame.h: Ditto
1235         * WebScriptDebugServer.cpp: Made the listenerSet static since we were
1236         already treating it as if it were. Removed the EnumViews stuff.  This
1237         was added by Steve to demonstrate DCOM and he thought it would be needed
1238         by Drosera, but I don't believe it will be.
1239         Implemented suspendProcessIfPaused() also added calls to it at the end
1240         of several functions to ensure we pause if Drosera has told WebKit to.
1241         (WebScriptDebugServer::WebScriptDebugServer):
1242         (WebScriptDebugServer::sharedWebScriptDebugServer):
1243         (WebScriptDebugServer::addListener):
1244         (WebScriptDebugServer::removeListener):
1245         (WebScriptDebugServer::suspendProcessIfPaused):
1246         (WebScriptDebugServer::didLoadMainResourceForDataSource):
1247         (WebScriptDebugServer::didParseSource):
1248         (WebScriptDebugServer::failedToParseSource):
1249         (WebScriptDebugServer::didEnterCallFrame):
1250         (WebScriptDebugServer::willExecuteStatement):
1251         (WebScriptDebugServer::willLeaveCallFrame):
1252         (WebScriptDebugServer::exceptionWasRaised):
1253         * WebScriptDebugServer.h: Ditto.
1254         * WebScriptDebugger.cpp: The important change here is that leaveFrame()
1255         is called before willLeaveCallFrame().  I think there is some EOL stuff
1256         going on too.
1257         - It was the implementing of these functions that allows source, the
1258         source URLs and function stack to be displayed.
1259         (WebScriptDebugger::callEvent):
1260         (WebScriptDebugger::atStatement):
1261         (WebScriptDebugger::returnEvent):
1262         (WebScriptDebugger::exception):
1263         (WebScriptDebugger::enterFrame):
1264         (WebScriptDebugger::leaveFrame):
1265         * WebView.cpp: Removed the EnumView functions.
1266         (WebView::WebView):
1267         (WebView::~WebView):
1268
1269 2007-11-13  Adam Roben  <aroben@apple.com>
1270
1271         Fix <rdar://5346832> Infinite recursion when opening Web Inspector on more than one tab
1272
1273         The bug was that multiple WebNodeHighlights would subclass the same
1274         browser window, leading to infinite recursion within
1275         SubclassedWndProc.
1276
1277         WebNodeHighlight is now a WindowMessageListener, and lets
1278         WindowMessageBroadcaster handle subclassing the window.
1279
1280         Reviewed by Ada.
1281
1282         * WebNodeHighlight.cpp:
1283         (WebNodeHighlight::WebNodeHighlight): Initialize m_observedWindow
1284         member.
1285         (WebNodeHighlight::~WebNodeHighlight): Unregister as a listener for
1286         m_observedWindow.
1287         (WebNodeHighlight::highlight): Register as a listener.
1288         (WebNodeHighlight::windowReceivedMessage): Do the work that used to be
1289         done in SubclassedWndProc.
1290         * WebNodeHighlight.h: Made WebNodeHighlight a WindowMessageListener,
1291         and renamed m_subclassedWindow to m_observedWindow.
1292
1293 2007-11-13  Adam Roben  <aroben@apple.com>
1294
1295         Build fix for systems that don't have Cygwin in their PATH
1296
1297         * WebKit.vcproj/Interfaces.vcproj: Put Cygwin in the PATH before
1298         trying to run bash.
1299
1300 2007-11-13  Steve Falkenburg  <sfalken@apple.com>
1301
1302         Add IDOMElementPrivate::font() to get an element's font
1303         as a WebFontDescription.
1304         
1305         Reviewed by Darin.
1306
1307         * DOMCoreClasses.cpp:
1308         (DOMElement::font):
1309         * DOMCoreClasses.h:
1310         * Interfaces/DOMPrivate.idl:
1311
1312 2007-11-12  Adam Roben  <aroben@apple.com>
1313
1314         Windows build fix
1315
1316         * WebKit.vcproj/WebKit.def: Export fastZeroedMalloc.
1317         * WebKit.vcproj/WebKit_debug.def: Ditto.
1318
1319 2007-11-09  Jon Honeycutt  <jhoneycutt@apple.com>
1320
1321         Reviewed by Sam.
1322
1323         <rdar://5585900>: Safari crashes when selected in context menu to open
1324         audio format files (au, aif) with QT 7.3
1325
1326         The crash occurred on a machine where QT 7.3 was failing to initialize.
1327         The fix is to avoid sending streams to full-page plugins that've failed 
1328         to load
1329
1330         * WebFrame.cpp:
1331         (WebFrame::finishedLoading): Check plugin status before calling manual
1332         stream methods
1333         (WebFrame::setMainDocumentError): Same
1334         (WebFrame::committedLoad): Same
1335
1336 2007-11-09  Sam Weinig  <sam@webkit.org>
1337
1338         Rubber stamped by Oliver.
1339
1340         Make WebCore a dependency of Interfaces.
1341
1342         * WebKit.vcproj/WebKit.sln:
1343
1344 2007-11-04  Sam Weinig  <sam@webkit.org>
1345
1346         Reviewed by Adam Roben.
1347
1348         <rdar://problem/5435940>
1349         The COM bindings for the DOM should be autogenerated like the other DOM bindings
1350
1351         Initial commit of the autogeneration of the COM DOM Bindings.  No behavior change
1352         is being introduced in this patch and to insure that no conflicts arise, a temporary
1353         prefix of "GEN_" has been used for all the new classes.
1354
1355         The build architecture for these bindings differs slightly from the other autogenerated
1356         bindings.  Instead of building in WebCore and migrating the resuting code to WebKit (as
1357         is done for the Objective-C bindigs currently), the IDLs and generation scripts are
1358         migrated to WebKit and built there.  This is done with a series of scripts and Makefiles.
1359
1360         This commit includes:
1361             - Hand rolled root class/Interface GEN_DOMObject used to facilated object creation
1362               and ref-counting.
1363             - Generating all of the Core DOM and most of HTML and CSS
1364             - Generating Event, EventTarget, and EventListener
1365
1366         * DOMCreateInstance.cpp: Added.
1367         (domWrapperCache):
1368         (getDOMWrapper):
1369         (setDOMWrapper):
1370         (removeDOMWrapper):
1371         (GEN_DOMNode::createInstance):
1372         (GEN_DOMImplementation::createInstance):
1373         (GEN_DOMCSSRule::createInstance):
1374         (GEN_DOMStyleSheet::createInstance):
1375         (GEN_DOMCSSValue::createInstance):
1376         * DOMCreateInstance.h: Added.
1377         Temporary location for createInstance/object caching methods.  This will be broken up
1378         into seperate files in the near future.
1379
1380         * GEN_DOMObject.cpp: Added.
1381         (GEN_DOMObject::GEN_DOMObject):
1382         (GEN_DOMObject::~GEN_DOMObject):
1383         (GEN_DOMObject::QueryInterface):
1384         (GEN_DOMObject::AddRef):
1385         (GEN_DOMObject::Release):
1386         * GEN_DOMObject.h: Added.
1387         Hand rolled base class.
1388
1389         * Interfaces/IGEN_DOMObject.idl: Added. 
1390         Hand rolled base interface.
1391
1392         * WebKit.vcproj/DerivedSources.make: Added.
1393         * WebKit.vcproj/FixMIDLHeaders.pl: Added.
1394         This script is required because MIDL is producing un-buildable code due to
1395         circular dependencies.
1396
1397         * WebKit.vcproj/Interfaces.vcproj:
1398         * WebKit.vcproj/WebKit.vcproj:
1399         * WebKit.vcproj/WebKitGUID.vcproj:
1400         * WebKit.vcproj/build-generated-files.sh: Added.
1401
1402 2007-11-08  Kevin McCullough  <kmccullough@apple.com>
1403
1404         Reviewed by Adam.
1405
1406         - This patch does two main things.
1407         1) It adds pragma warning guards around WebCore includes in WebKit files
1408         that were previously overlooked.
1409         2) It implements almost the entireity of WebScriptDebugger.  Only one
1410         function remains and that implementation is dependent on finishing the
1411         implementation of WebScriptScope.
1412
1413         * WebScriptCallFrame.h:
1414         * WebScriptDebugServer.h:
1415         * WebScriptDebugger.cpp:
1416         (WebScriptDebugger::WebScriptDebugger):
1417         (WebScriptDebugger::sourceParsed):
1418         (WebScriptDebugger::callEvent):
1419         (WebScriptDebugger::atStatement):
1420         (WebScriptDebugger::returnEvent):
1421         (WebScriptDebugger::exception):
1422         (WebScriptDebugger::enterFrame):
1423         (WebScriptDebugger::leaveFrame):
1424         * WebScriptDebugger.h:
1425
1426 2007-11-08  Steve Falkenburg  <sfalken@apple.com>
1427
1428         <rdar://problem/5491463> Wrong dates shown in History menu.
1429         
1430         Fix off-by-one error in Windows epoch.
1431         
1432         For the Windows DATE type, 1/1/1900 should be 2.0, not 1.0.
1433         DATE is the number of days since 12/30/1899.
1434         
1435         Reviewed by Ada.
1436
1437         * MarshallingHelpers.cpp:
1438         (MarshallingHelpers::windowsEpochAbsoluteTime):
1439
1440 2007-11-08  Kevin McCullough  <kmccullough@apple.com>
1441
1442         Reviewed by Sam.
1443
1444         - With this change Drosera can now get the source of a website and the
1445         listings of the sources it gets.  This also lays the foundation for
1446         letting Drosera show the scope chain of the JavaScript stack.
1447
1448         * Interfaces/IWebFrame.idl: Changed the signature of the local function,
1449         globalContext(), because COM was unable to marshal this object with the
1450         other signature.
1451         * Interfaces/IWebScriptDebugServer.idl: Of course adding and removing
1452         a listener cannot be done in a const function.
1453         * WebChromeClient.h: Added accessor to the WebView for the new added
1454         kit() function in WebFrame.
1455         (WebChromeClient::webView):
1456         * WebFrame.cpp: Added a script debugger object and the necessary
1457         functions to attach and communicate with it. Also needed to change the
1458         local function, globalContext(), because of a COM issue.
1459         (kit):
1460         (WebFrame::WebFrame):
1461         (WebFrame::globalContext):
1462         (WebFrame::loadData):
1463         (WebFrame::attachScriptDebugger):
1464         (WebFrame::detachScriptDebugger):
1465         (WebFrame::dispatchDidLoadMainResource):
1466         (WebFrame::windowObjectCleared):
1467         * WebFrame.h: Ditto.
1468         * WebHTMLRepresentation.cpp: Implemented documentSource so Drosera has
1469         some source code to display.
1470         (WebHTMLRepresentation::WebHTMLRepresentation):
1471         (WebHTMLRepresentation::documentSource):
1472         * WebKit.vcproj/WebKit.vcproj: Added the new WebScriptDebugger class.
1473         * WebScriptCallFrame.cpp: Implemented much of this class' functionality.
1474         (EnumScopes::EnumScopes): Made an EnumScopes class to create an
1475         IEnumVARIANT to wrap a ScopeChain for Drosera.
1476         (EnumScopes::QueryInterface):
1477         (EnumScopes::AddRef):
1478         (EnumScopes::Release):
1479         (EnumScopes::Next):
1480         (EnumScopes::Skip):
1481         (EnumScopes::Reset):
1482         (EnumScopes::Clone):
1483         (WebScriptCallFrame::caller):
1484         (WebScriptCallFrame::scopeChain):
1485         (WebScriptCallFrame::functionName):
1486         (WebScriptCallFrame::stringByEvaluatingJavaScriptFromString):
1487         * WebScriptCallFrame.h: Added member data needed for the above functions
1488         * WebScriptDebugServer.cpp: Began implementing. 
1489         (WebScriptDebugServer::listenerCount):
1490         (EnumViews::QueryInterface):
1491         (EnumViews::AddRef):
1492         (EnumViews::Release):
1493         (EnumViews::Next):
1494         (EnumViews::Skip):
1495         (EnumViews::Reset):
1496         (EnumViews::Clone):
1497         (WebScriptDebugServer::WebScriptDebugServer):
1498         (WebScriptDebugServer::createInstance):
1499         (WebScriptDebugServer::sharedWebScriptDebugServer):
1500         (WebScriptDebugServer::AddRef):
1501         (WebScriptDebugServer::Release):
1502         (WebScriptDebugServer::addListener):
1503         (WebScriptDebugServer::removeListener):
1504         (WebScriptDebugServer::step):
1505         (WebScriptDebugServer::pause):
1506         (WebScriptDebugServer::resume):
1507         (WebScriptDebugServer::isPaused):
1508         (WebScriptDebugServer::suspendProcessIfPaused):
1509         (WebScriptDebugServer::didLoadMainResourceForDataSource):
1510         (WebScriptDebugServer::didParseSource):
1511         (WebScriptDebugServer::failedToParseSource):
1512         (WebScriptDebugServer::didEnterCallFrame):
1513         (WebScriptDebugServer::willExecuteStatement):
1514         (WebScriptDebugServer::willLeaveCallFrame):
1515         (WebScriptDebugServer::exceptionWasRaised):
1516         * WebScriptDebugServer.h: Began implementing.
1517         * WebScriptDebugger.cpp: Added.
1518         (WebScriptDebugger::WebScriptDebugger):
1519         (WebScriptDebugger::sourceParsed):
1520         * WebScriptDebugger.h: Added.
1521         * WebScriptScope.cpp: Make this class use createInstance which is more
1522         in line with our guidelines.
1523         (WebScriptScope::WebScriptScope):
1524         (WebScriptScope::createInstance):
1525         * WebScriptScope.h:
1526
1527
1528 2007-11-07  Darin Adler  <darin@apple.com>
1529
1530         Reviewed by Steve.
1531
1532         * Interfaces/IWebUIDelegate.idl: Added the functions needed below.
1533         * WebChromeClient.cpp:
1534         (WebChromeClient::setMenubarVisible): Eliminated the notImplemented()
1535         here by calling through the UI delegate.
1536         (WebChromeClient::menubarVisible): Ditto.
1537         (WebChromeClient::runDatabaseSizeLimitPrompt): Ditto.
1538
1539 2007-11-07  Steve Falkenburg  <sfalken@apple.com>
1540
1541         Added IWebDocumentText available via QI from WebFrame.
1542         
1543         Reviewed by Sam.
1544
1545         * WebFrame.cpp:
1546         (WebFrame::QueryInterface): Added IID_IWebDocumentText.
1547         (WebFrame::supportsTextEncoding): Stubbed out.
1548         (WebFrame::selectedString): Implemented.
1549         (WebFrame::selectAll): Stubbed out.
1550         (WebFrame::deselectAll): Stubbed out.
1551         * WebFrame.h:
1552
1553 2007-11-07  Adam Roben  <aroben@apple.com>
1554
1555         Fix <rdar://5569268> Crash when opening any FTP site in second tab/window
1556
1557         Reviewed by Sam.
1558
1559         * WebView.cpp:
1560         (WebView::initWithFrame): Set the ftpDirectoryTemplatePath for every
1561         Page, not just the first one.
1562
1563 2007-11-06  Adam Roben  <aroben@apple.com>
1564
1565         Change WebLocalizableStrings to take UTF-8 C strings
1566
1567         This matches the way things work on the Mac, and will allow source
1568         files containing localizable strings to be shared between Mac and
1569         Windows. The old functions have not been removed for compatibility
1570         reasons, but are now just wrappers around the new UTF-8 functions.
1571
1572         Reviewed by Ada.
1573
1574         * WebKit.vcproj/WebKit.def: Added new functions.
1575         * WebKit.vcproj/WebKit_debug.def: Ditto.
1576         * WebLocalizableStrings.cpp:
1577         (copyLocalizedStringFromBundle): Changed to take a WebCore::String
1578         representing the key.
1579         (localizedString): Refactored from WebLocalizedString. Takes a
1580         WebCore::String representing the key.
1581         (localizedLPCTSTR): Ditto for WebLocalizedLPCTSTR.
1582         (WebLocalizedStringUTF8): Added. Takes a UTF-8 C string as the key.
1583         (WebLocalizedLPCTSTRUTF8): Ditto.
1584         (WebLocalizedString): Changed to call localizedString.
1585         (WebLocalizedLPCTSTR): Changed to call localizedLPCTSTR.
1586         * WebLocalizableStrings.h: Changed macros to use the new UTF-8
1587         functions.
1588
1589 2007-11-06  Darin Adler  <darin@apple.com>
1590
1591         Reviewed by Adam and Steve.
1592
1593         - added hooks needed to implement showModalDialog on Windows
1594
1595         * Interfaces/IWebUIDelegate.idl: Added canRunModal, createModalDialog,
1596         and runModal functions to the end of IWebUIDelegate3.
1597
1598         * WebChromeClient.h: Added uiDelegate and uiDelegate2 helper functions,
1599         so it's easier to write client functions.
1600         * WebChromeClient.cpp:
1601         (WebChromeClient::createWindow): Implemented dialog case. Calls IWebUIDelegate3.
1602         (WebChromeClient::canRunModal): Implemented. Calls IWebUIDelegate3.
1603         (WebChromeClient::runModal): Ditto.
1604         (WebChromeClient::uiDelegate): Added.
1605         (WebChromeClient::uiDelegate2): Added.
1606         (WebChromeClient::uiDelegate3): Added.
1607
1608 2007-11-06  Alexey Proskuryakov  <ap@webkit.org>
1609
1610         Rubber-stamped by Adam Roben.
1611
1612         Windows build fix.
1613
1614         * WebFrame.cpp:
1615         (WebFrame::string): plainText() returns a String now.
1616
1617 2007-11-05  Ada Chan  <adachan@apple.com>
1618
1619         <rdar://problem/5579772> Regression: AltGr does not work
1620         Testing whether alt-key is down is not the right test for system key event.
1621         Added a m_isSystemKey flag in PlatformKeyboardEvent to keep track of whether
1622         this is a system key event, check that flag instead in handleEditingKeyboardEvent().
1623
1624         Reviewed by Oliver.
1625
1626         * WebView.cpp:
1627         (WebView::keyUp):
1628         (WebView::handleEditingKeyboardEvent):
1629         (WebView::keyDown):
1630         (WebViewWndProc):
1631         * WebView.h:
1632
1633 2007-11-05  Ada Chan  <adachan@apple.com>
1634
1635         Build fix.
1636
1637         Reviewed by Tristan.
1638
1639         * WebChromeClient.h:
1640
1641 2007-11-05  Tristan O'Tierney  <tristan@apple.com>
1642
1643         Reviewed by Darin Adler.
1644         
1645         Part of the WebKit/WebCore API changes for
1646         <rdar://problem/5368188>
1647
1648         * WebChromeClient.cpp:
1649         (WebChromeClient::createWindow):
1650         Removed usage of createModalDialog and revised to use new createWindow
1651         ChromeClient API.
1652
1653 2007-11-04  Adam Roben  <aroben@apple.com>
1654
1655         Add IWebCache::disabled
1656
1657         This matches the Mac WebCache class.
1658
1659         Reviewed by Sam.
1660
1661         * Interfaces/IWebCache.idl:
1662         * WebCache.cpp:
1663         (WebCache::disabled):
1664         * WebCache.h:
1665
1666 2007-11-04  Adam Roben  <aroben@apple.com>
1667
1668         Add IWebInspector and a way to get one from a WebView
1669
1670         This API matches the Mac one added in r27266.
1671
1672         Reviewed by Sam.
1673
1674         * Interfaces/IWebInspector.idl: Added.
1675         * Interfaces/IWebViewPrivate.idl: Added a new inspector method to
1676         match Mac.
1677         * WebInspector.cpp: Added.
1678         (WebInspector::createInstance):
1679         (WebInspector::WebInspector):
1680         (WebInspector::~WebInspector):
1681         (WebInspector::webViewClosed):
1682         (WebInspector::QueryInterface):
1683         (WebInspector::AddRef):
1684         (WebInspector::Release):
1685         (WebInspector::show):
1686         (WebInspector::showConsole):
1687         (WebInspector::showTimeline):
1688         (WebInspector::close):
1689         (WebInspector::attach):
1690         (WebInspector::detach):
1691         * WebInspector.h: Added.
1692         * WebKit.vcproj/Interfaces.vcproj: Added IWebInspector.idl.
1693         * WebKit.vcproj/WebKit.vcproj: Added WebInspector.{cpp,h}.
1694         * WebKit.vcproj/WebKitGUID.vcproj: Added IWebInspector_i.c.
1695         * WebView.cpp:
1696         (WebView::close): Notify the WebInspector that we're closing.
1697         (WebView::inspector): Added.
1698         * WebView.h:
1699
1700 2007-11-04  Adam Roben  <aroben@apple.com>
1701
1702         Cache strings that come directly from WebLocalizedString
1703
1704         Reviewed by Steve.
1705
1706         * WebLocalizableStrings.cpp:
1707         (copyLocalizedStringFromBundle): This used to be WebLocalizedString,
1708         but is now just a static helper function.
1709         (findCachedStringInMap): Added static helper.
1710         (findCachedString): Refactored and cleaned up code from
1711         WebLocalizedLPCTSTR.
1712         (cacheString): Ditto.
1713         (WebLocalizedString): Rewrote to use the new helper functions.
1714         (WebLocalizedLPCTSTR): Changed to use the new helper functions.
1715
1716 2007-11-03  Adam Roben  <aroben@apple.com>
1717
1718         Only override the default user agent string if we're actually given a custom one
1719
1720         Reviewed by Sam.
1721
1722         * WebView.cpp:
1723         (WebView::setCustomUserAgent):
1724
1725 2007-11-01  Oliver Hunt  <oliver@apple.com>
1726
1727         Reviewed by Alexey.
1728
1729         Allow Shift, Ctrl, Alt, Meta and Capslock keys to be sent into WebCore.
1730
1731         * WebView.cpp:
1732         (WebView::keyDown):
1733         (WebView::keyUp):
1734
1735 2007-11-01  Kevin McCullough  <kmccullough@apple.com>
1736
1737         - Fixed a build failure
1738
1739         * WebEditorClient.cpp:
1740         (WebEditorClient::textWillBeDeletedInTextField):
1741
1742 2007-11-01  Adam Roben  <aroben@apple.com>
1743
1744         Fix the parameter type of WebLocalizedString to match the UI_STRING macro
1745
1746         Reviewed by Sam.
1747
1748         * WebLocalizableStrings.cpp:
1749         (WebLocalizedString):
1750         (WebLocalizedLPCTSTR):
1751         * WebLocalizableStrings.h:
1752
1753 2007-11-01  Alexey Proskuryakov  <ap@webkit.org>
1754
1755         Rubber-stamped by Adam Roben.
1756
1757         Rolled out r27326 - debug CRT seems to cause no problems after all.
1758
1759         * WebKit.vcproj/WebKit.vcproj:
1760
1761 2007-10-31  Adam Roben  <aroben@apple.com>
1762
1763         Switch the Debug configuration to using the non-debug CRT
1764
1765         The debug CRT conflicts with what Safari uses, which causes loading
1766         problems.
1767
1768         Reviewed by Steve.
1769
1770         * WebKit.vcproj/WebKit.vcproj:
1771
1772 2007-10-30  Kevin McCullough  <kmccullough@apple.com>
1773
1774         Reviewed by Adam and Geoff.
1775
1776         - Added the globalContext method so Drosera can ask a WebFrame for its
1777         context.
1778
1779         * Interfaces/IWebFrame.idl:
1780         * WebFrame.cpp:
1781         * WebFrame.h:
1782
1783 2007-10-30  Adele Peterson  <adele@apple.com>
1784
1785         Reviewed by Darin.
1786
1787         WebKitWin part of fix for http://bugs.webkit.org/show_bug.cgi?id=10577
1788         <rdar://problem/5110427> REGRESSION: Caps lock icon should show in password fields
1789
1790         * WebView.cpp: (WebView::keyDown): Call capsLockStateMayHaveChanged so WebCore knows it may have to update a password field.
1791
1792 2007-10-29  Kevin McCullough  <kmccullough@apple.com>
1793
1794         Reviewed by Adam and Maciej.
1795
1796         - Added the IWebScriptScope interface which is used by Drosera to get
1797         information and run contextually significant code with respect to the
1798         current JS stack frame.
1799
1800         * Interfaces/IWebScriptCallFrame.idl: Line endings changed, not sure why
1801         but the real changes were to change the return type of scopeChain() and
1802         the return type and name of evaluateWebScript() to
1803         stringByEvaluatingJavaScriptFromString().
1804         * Interfaces/IWebScriptScope.idl: Added.
1805         * WebKit.vcproj/Interfaces.vcproj: Added the new interface.
1806         * WebKit.vcproj/WebKit.vcproj: Added the files for the new class.
1807         * WebKit.vcproj/WebKitGUID.vcproj: Added the new interfaces.
1808         * WebScriptCallFrame.cpp: Changed the return type to E_NOTIMPL and
1809         asserted so it would be obvious if I accidentally try to use one of
1810         these functions before it's implemented.
1811         (WebScriptCallFrame::caller):
1812         (WebScriptCallFrame::scopeChain):
1813         (WebScriptCallFrame::functionName):
1814         (WebScriptCallFrame::stringByEvaluatingJavaScriptFromString):
1815         * WebScriptCallFrame.h: Changed the return types mentioned above.
1816         * WebScriptDebugServer.cpp: Also changed the return type to E_NOTIMPL.
1817         (WebScriptDebugServer::addListener):
1818         (WebScriptDebugServer::removeListener):
1819         (WebScriptDebugServer::step):
1820         (WebScriptDebugServer::pause):
1821         (WebScriptDebugServer::resume):
1822         (WebScriptDebugServer::isPaused):
1823         * WebScriptScope.cpp: Added.
1824         (WebScriptScope::WebScriptScope):
1825         (WebScriptScope::~WebScriptScope):
1826         (WebScriptScope::QueryInterface):
1827         (WebScriptScope::AddRef):
1828         (WebScriptScope::Release):
1829         (WebScriptScope::getVariableNames):
1830         (WebScriptScope::getValueForVariable):
1831         * WebScriptScope.h: Added.
1832
1833 2007-10-28  Darin Adler  <darin@apple.com>
1834
1835         - try to fix Windows build
1836
1837         * WebKit.vcproj/WebKit.vcproj: Suppress warning 4800 (conversion to bool),
1838         since we don't want to add !! everywhere, and because HashTable.h has a
1839         conversion to bool of this type now.
1840
1841 2007-10-27  Kevin McCullough  <kmccullough@apple.com>
1842
1843         Reviewed by Adam.
1844
1845         - Stubbed out IWebScriptCallFrame for Drosera.
1846
1847         * Interfaces/IWebScriptCallFrame.idl: Added function declarations.
1848         * WebKit.vcproj/WebKit.vcproj: Added .h/.cpp files to the project.
1849         * WebScriptCallFrame.cpp: Added.
1850         (WebScriptCallFrame::WebScriptCallFrame):
1851         (WebScriptCallFrame::~WebScriptCallFrame):
1852         (WebScriptCallFrame::createInstance):
1853         (WebScriptCallFrame::QueryInterface):
1854         (WebScriptCallFrame::AddRef):
1855         (WebScriptCallFrame::Release):
1856         (WebScriptCallFrame::caller):
1857         (WebScriptCallFrame::scopeChain):
1858         (WebScriptCallFrame::functionName):
1859         (WebScriptCallFrame::evaluateWebScript):
1860         * WebScriptCallFrame.h: Added.
1861
1862 2007-10-26  Kevin McCullough  <kmccullough@apple.com>
1863
1864         Reviewed by Sam and Steve.
1865
1866         - Added convenience methods for converting between BSTR and JSSTringRefs
1867         - Added WebKit_debug.def to the project.
1868
1869         * WebKit.vcproj/WebKit.def:
1870         * WebKit.vcproj/WebKit.vcproj:
1871         * WebKit.vcproj/WebKit_debug.def:
1872
1873 2007-10-25  Sam Weinig  <sam@webkit.org>
1874
1875         Reviewed by Adam Roben.
1876
1877         Make debug builds run again.
1878
1879         * WebView.cpp:
1880         (WebView::notifyPreferencesChanged):
1881
1882 2007-10-25  Sam Weinig  <sam@webkit.org>
1883
1884         Reviewed by Adam Roben.
1885
1886         Remove JSStringRefCFHack.
1887
1888         * WebKit.vcproj/WebKit.vcproj:
1889
1890 2007-10-25  Sam Weinig  <sam@webkit.org>
1891
1892         Reviewed by Steve Falkenburg.
1893
1894         Fix for <rdar://problem/5463608>
1895         Port WebKit cache model code (Windows needs a big disk cache, smarter memory cache) 
1896
1897         * Interfaces/IWebPreferences.idl: 
1898         Deprecate pageCacheSize and objectCacheSize and add cacheModel/setCacheModel.
1899
1900         * Interfaces/IWebPreferencesPrivate.idl:
1901         Add automaticallyDetectsCacheModel/setAutomaticallyDetectsCacheModel
1902      
1903         * WebFrame.cpp:
1904         (WebFrame::didPerformFirstNavigation):
1905         Implement based on the mac version.
1906
1907         * WebKit.vcproj/WebKit.vcproj:
1908         * WebKitSystemBits.cpp: Added.
1909         (WebMemorySize): Moved and renamed from WebPreferences.cpp
1910         (WebVolumeFreeSize): Added.
1911         * WebKitSystemBits.h: Added.
1912         * WebPreferenceKeysPrivate.h: Added WebKitCacheModelPreferenceKey.
1913
1914         * WebPreferences.cpp:
1915         (WebPreferences::sharedStandardPreferences):
1916         (WebPreferences::WebPreferences):
1917         (WebPreferences::initializeDefaultSettings): Added default for cacheModel.
1918         (WebPreferences::webPreferencesChangedNotification):
1919         (WebPreferences::webPreferencesRemovedNotification):
1920         (WebPreferences::initWithIdentifier): Post a preferences change notification.
1921         (WebPreferences::pageCacheSize): Deprecated.
1922         (WebPreferences::objectCacheSize): Deprecated.
1923         (WebPreferences::cacheModel): Added.
1924         (WebPreferences::setCacheModel): Added.
1925         (WebPreferences::setAutomaticallyDetectsCacheModel): Added.
1926         (WebPreferences::automaticallyDetectsCacheModel): Added.
1927         (WebPreferences::willAddToWebView): Added.
1928         (WebPreferences::didRemoveFromWebView): Added.
1929         * WebPreferences.h:
1930
1931         * WebView.cpp:
1932         (PreferencesChangedOrRemovedObserver::PreferencesChangedOrRemovedObserver):
1933         (PreferencesChangedOrRemovedObserver::~PreferencesChangedOrRemovedObserver):
1934         (PreferencesChangedOrRemovedObserver::QueryInterface):
1935         (PreferencesChangedOrRemovedObserver::AddRef):
1936         (PreferencesChangedOrRemovedObserver::Release):
1937         (PreferencesChangedOrRemovedObserver::sharedInstance):
1938         (PreferencesChangedOrRemovedObserver::onNotify):
1939         (PreferencesChangedOrRemovedObserver::notifyPreferencesChanged):
1940         (PreferencesChangedOrRemovedObserver::notifyPreferencesRemoved):
1941         This singleton class updates static properties for all webviews when
1942         preferenceChange or preferenceRemoved notifications are fired for
1943         any WebPreference.
1944         (WebView::WebView):
1945         (WebView::~WebView):
1946         (initializeStaticObservers):
1947         (allWebViewsSet):
1948         (WebView::addToAllWebViewsSet):
1949         (WebView::removeFromAllWebViewsSet):
1950         (WebView::setCacheModel):
1951         (WebView::cacheModel):
1952         (WebView::didSetCacheModel):
1953         (WebView::maxCacheModelInAnyInstance):
1954         (WebView::close):
1955         (WebViewWndProc):
1956         (WebView::developerExtrasEnabled):
1957         (WebView::initWithFrame):
1958         (WebView::setPreferences):
1959         (WebView::preferences):
1960         (WebView::onNotify):
1961         (WebView::notifyPreferencesChanged):
1962         (updateSharedSettingsFromPreferencesIfNeeded):
1963         * WebView.h:
1964         Match the macs behavior by using explicit postings of notifications to
1965         update the preferences.
1966
1967 2007-10-25  Adam Roben  <aroben@apple.com>
1968
1969         Update WebKit.sln for the removal of Release dftables
1970
1971         Reviewed by NOBODY.
1972
1973         * WebKit.vcproj/WebKit.sln:
1974
1975 2007-10-25  Kevin McCullough  <kmccullough@apple.com>
1976
1977         Rubber stamped by Geoff.
1978
1979         - Stubbed out the WebScriptDebugServer methods to give Drosera something
1980         to connect to and now the signature of the interface matches the mac.
1981
1982         * Interfaces/IWebScriptDebugServer.idl:
1983         * WebScriptDebugServer.cpp:
1984         (WebScriptDebugServer::addListener):
1985         (WebScriptDebugServer::removeListener):
1986         (WebScriptDebugServer::step):
1987         (WebScriptDebugServer::pause):
1988         (WebScriptDebugServer::resume):
1989         (WebScriptDebugServer::isPaused):
1990         * WebScriptDebugServer.h:
1991
1992 2007-10-24  Kevin McCullough  <kmccullough@apple.com>
1993
1994         Reviewed by Darin.
1995
1996         - Renamed WebDebugProgram to WebScriptDebugServer to match the naming
1997         scheme on the mac.
1998
1999         * Interfaces/IWebDebugProgram.idl: Removed.
2000         * Interfaces/IWebScriptDebugServer.idl: Copied from win/Interfaces/IWebDebugProgram.idl.
2001         * Interfaces/WebKit.idl: 
2002         * WebDebugProgram.cpp: Removed.
2003         * WebDebugProgram.h: Removed.
2004         * WebKit.vcproj/Interfaces.vcproj:
2005         * WebKit.vcproj/WebKit.vcproj:
2006         * WebKit.vcproj/WebKitGUID.vcproj:
2007         * WebKitClassFactory.cpp:
2008         (WebKitClassFactory::CreateInstance):
2009         * WebKitDLL.cpp:
2010         (RunAsLocalServer):
2011         * WebScriptDebugServer.cpp: Copied from win/WebDebugProgram.cpp.
2012         (WebScriptDebugServer::WebScriptDebugServer):
2013         (WebScriptDebugServer::~WebScriptDebugServer):
2014         (WebScriptDebugServer::createInstance):
2015         (WebScriptDebugServer::QueryInterface):
2016         (WebScriptDebugServer::AddRef):
2017         (WebScriptDebugServer::Release):
2018         (WebScriptDebugServer::viewAdded):
2019         (WebScriptDebugServer::viewRemoved):
2020         (WebScriptDebugServer::attach):
2021         (WebScriptDebugServer::detach):
2022         (WebScriptDebugServer::statistics):
2023         (WebScriptDebugServer::webViews):
2024         * WebScriptDebugServer.h: Copied from win/WebDebugProgram.h.
2025         * WebView.cpp:
2026         (WebView::WebView):
2027         (WebView::~WebView):
2028
2029 2007-10-24  Adam Roben  <aroben@apple.com>
2030
2031         Fix <rdar://5549919> Initialize the font database before any font code is invoked
2032
2033         We initialize the database in two places:
2034            1. When instantiating WebKitClassFactory, which is guaranteed to
2035            happen before any WebView is instantiated.
2036            2. When making a WebCore::Font in WebKitGraphics.
2037
2038         This ensures that the font database will be populated before any font
2039         code is invoked. We rely on WebCore to only populate the database
2040         once.
2041
2042         Reviewed by Ada.
2043
2044         * WebKitClassFactory.cpp:
2045         (WebKitClassFactory::WebKitClassFactory): Populate the font database.
2046         * WebKitGraphics.cpp:
2047         (makeFont): Ditto.
2048
2049 2007-10-24  Adam Roben  <aroben@apple.com>
2050
2051         Add [I]WebTextRenderer
2052
2053         Right now this class can only be used to add private fonts for use by
2054         the running process, but will eventually be the home of the
2055         WebKitGraphics functions.
2056
2057         Reviewed by Ada.
2058
2059         * ForEachCoClass.h: Added WebTextRenderer.
2060         * Interfaces/WebKit.idl: Ditto.
2061         * WebKit.vcproj/Interfaces.vcproj: Ditto.
2062         * WebKit.vcproj/WebKit.vcproj: Ditto.
2063         * WebKit.vcproj/WebKitGUID.vcproj: Ditto.
2064         * WebKitClassFactory.cpp: Ditto.
2065         * WebTextRenderer.cpp: Added.
2066         (WebTextRenderer::createInstance):
2067         (WebTextRenderer::WebTextRenderer):
2068         (WebTextRenderer::~WebTextRenderer):
2069         (WebTextRenderer::QueryInterface):
2070         (WebTextRenderer::AddRef):
2071         (WebTextRenderer::Release):
2072         (WebTextRenderer::registerPrivateFont):
2073         * WebTextRenderer.h: Added.
2074
2075 2007-10-24  Adam Roben  <aroben@apple.com>
2076
2077         Use FOR_EACH_COCLASS in WebKitClassFactory
2078
2079         Reviewed by Ada.
2080
2081         * WebError.cpp:
2082         (WebError::createInstance): Added an overload that takes no arguments
2083         to make the macro used in WebKitClassFactory work.
2084         * WebError.h:
2085         * WebKitClassFactory.cpp:
2086         (WebKitClassFactory::CreateInstance): Use FOR_EACH_COCLASS.
2087
2088 2007-10-24  Adam Roben  <aroben@apple.com>
2089
2090         Put FOR_EACH_COCLASS macro into its own file and export it
2091
2092         The macro used to be called FOR_EACH_CLASS and lived in WebKitDLL.cpp.
2093         This way we will be able to use the macro in more places that care
2094         about all WebKit's COM classes.
2095
2096         Reviewed by Ada.
2097
2098         * ForEachCoClass.h: Added.
2099         * WebKit.vcproj/WebKit.vcproj: Copy ForEachCoClass.h to
2100         WebKitOutputDir, and added it to the project.
2101         * WebKitDLL.cpp: Updated for macro rename, and changed to #undef the
2102         macros we pass to FOR_EACH_COCLASS after we're done with them.
2103
2104 2007-10-24  Ada Chan  <adachan@apple.com>
2105
2106         <rdar://problem/5552221> REGRESSION(310A24-ToT): Shortcut key disable. (15604)
2107
2108         Reviewed by Adam.
2109
2110         * WebView.cpp:
2111         (WebView::handleEditingKeyboardEvent): don't handle system key events as text input
2112         (WebView::keyDown): only remove WM_SYSCHAR message from the queue if we handle it.
2113         For WM_SYSCHAR message that we don't handle, let it stay in the queue and return 
2114         false to let windows handle it.
2115
2116 2007-10-24  Brady Eidson  <beidson@apple.com>
2117
2118         Reviewed by Anders
2119
2120         Windows portion of <rdar://5554130> 
2121         
2122         Slowly introduce Windows WebKit portion of the Database API that sets the 
2123         on-disk location for databases
2124         
2125         * WebDatabaseManager.cpp: Added.
2126         (WebKitSetWebDatabasesPathIfNecessary):
2127         * WebDatabaseManager.h: Added.
2128         
2129         * WebKit.vcproj/WebKit.vcproj:
2130         
2131         * WebView.cpp:
2132         (WebView::initWithFrame): Call WebKitSetWebDatabasesPathIfNecessary()
2133
2134 2007-10-24  Kevin McCullough  <kmccullough@apple.com>
2135
2136         Reviewed by Sam, Steve and Darin.
2137
2138         - Added stubs for what will be neede to let Drosera attach to the
2139         WebKit process and debug it.
2140
2141         * Interfaces/IWebScriptCallFrame.idl: Added.
2142         * Interfaces/IWebScriptDebugListener.idl: Added.
2143         * Interfaces/WebKit.idl:
2144         * WebKit.vcproj/Interfaces.vcproj:
2145         * WebKit.vcproj/WebKitGUID.vcproj:
2146
2147 2007-10-23  Adam Roben  <aroben@apple.com>
2148
2149         Move safe file creation code to WebCore
2150
2151         Reviewed by Brady.
2152
2153         * WebPreferences.cpp:
2154         (preferencesPath): Made into a static helper function.
2155         (WebPreferences::save): Now calls WebCore's safeCreateFile function.
2156         (WebPreferences::load): Uses String/CString to handle the UTF-8
2157         conversion.
2158         * WebPreferences.h: Removed preferencesPath and
2159         safeCreateFileWithData.
2160
2161 2007-10-23  Adam Roben  <aroben@apple.com>
2162
2163         Reduce code duplication by using WebCore's FileSystem functions
2164
2165         Reviewed by Brady.
2166
2167         * WebIconDatabase.cpp: Removed a now-unused function and a fixed
2168         FIXME.
2169         (WebIconDatabase::init): Changed to use FileSystem functions.
2170         * WebPreferences.cpp:
2171         (WebPreferences::preferencesPath): Ditto.
2172
2173 2007-10-23  Sam Weinig  <sam@webkit.org>
2174
2175         Make the WebNotificationCenter work with null (wildcard) and specific
2176         observed objects, matching NSNotificationCenter.
2177
2178         - Removes the ObserverKey, ObserverHash, and ObserverKeyTraits as we now
2179           hash against the notification name only and check the object on notification
2180           posting.
2181         - Use OwnPtr for the WebNotificationCenterPrivate member variable.
2182
2183         Reviewed by Adam Roben.
2184
2185         * WebNotificationCenter.cpp:
2186         (WebNotificationCenter::WebNotificationCenter):
2187         (WebNotificationCenter::~WebNotificationCenter):
2188         (WebNotificationCenter::postNotificationInternal):
2189         (WebNotificationCenter::addObserver):
2190         (WebNotificationCenter::postNotification):
2191         (WebNotificationCenter::postNotificationName):
2192         (WebNotificationCenter::removeObserver):
2193         * WebNotificationCenter.h:
2194
2195 2007-10-23  Ada Chan  <adachan@apple.com>
2196
2197         <rdar://problem/5244261> SafariWin ignores cookie policy setting "never" in the preferences
2198         Custom WebPreferences (not the shared WebPreferences) could override the cookie accept
2199         policy setting on the default cookie storage.  To fix that, I added a new method in
2200         WebView called updateGlobalSettingsFromPreferences() to handle updating the global pref
2201         options such as cookie accept policy, and it's only called to update changes from
2202         the shared WebPreferences.
2203         
2204         Use CLSID_WebPreferences and remove IID_WebPreferences.
2205
2206         Reviewed by Darin and Adam.
2207
2208         * WebPreferences.cpp:
2209         (WebPreferences::QueryInterface):
2210         * WebPreferences.h:
2211         * WebView.cpp:
2212         (WebView::updateWebCoreSettingsFromPreferences):
2213         (WebView::updateGlobalSettingsFromPreferences):
2214         (WebView::updateSettingsFromPreferences):
2215         (WebView::developerExtrasEnabled):
2216         (WebView::initWithFrame):
2217         (WebView::onNotify):
2218         * WebView.h:
2219
2220 2007-10-18  Brady Eidson  <beidson@apple.com>
2221
2222         Reviewed by Anders
2223
2224         Keep windows building with new Chrome additions
2225
2226         * WebChromeClient.cpp:
2227         * WebChromeClient.h:
2228
2229 2007-10-18  Adam Roben  <aroben@apple.com>
2230
2231         Fix <rdar://5547784> ProgIDMacros.h should explicitly use wide strings
2232
2233         Reviewed by Adele.
2234
2235         * ProgIDMacros.h: Always use wide strings instead of relying on the
2236         TEXT macro.
2237
2238 2007-10-17  Adam Roben  <aroben@apple.com>
2239
2240         Fix for clean builds needed after r26683
2241
2242         Reviewed by NOBODY.
2243
2244         * WebView.cpp: Remove #include of non-existant file.
2245
2246 2007-10-17  Anders Carlsson  <andersca@apple.com>
2247
2248         Update for locking primitive changes.
2249
2250         * WebIconDatabase.cpp:
2251         (WebIconDatabase::scheduleNotificationDelivery):
2252
2253 2007-10-16  Adam Roben  <aroben@apple.com>
2254
2255         Remove WebKitInitializer
2256
2257         Reviewed by Sam.
2258
2259         * WebKit.vcproj/WebKit.sln:
2260
2261 2007-10-16  Adam Roben  <aroben@apple.com>
2262
2263         Add FindSafari
2264
2265         Reviewed by Darin.
2266
2267         * WebKit.vcproj/WebKit.sln:
2268
2269 2007-10-16  Adam Roben  <aroben@apple.com>
2270
2271         Rename WebKit_debug.dll to WebKit.dll for the Debug configuration
2272
2273         This is needed so that we can stop having Safari delay-load WebKit,
2274         which in turn is needed so that Maciej can land a JavaScript speedup
2275         which breaks delay-loading.
2276
2277         Reviewed by Kevin McCullough.
2278
2279         * WebKit.vcproj/WebKit.vcproj: Use WebKitDLLConfigSuffix for the name
2280         of our DLL and module definition file.
2281         * WebKit.vcproj/debug.vsprops: Added WebKitDLLConfigSuffix.
2282         * WebKit.vcproj/debug_internal.vsprops: Ditto.
2283         * WebKit.vcproj/release.vsprops: Ditto.
2284
2285 2007-10-15  Jon Honeycutt  <jhoneycutt@apple.com>
2286
2287         Reviewed by Ollie.
2288
2289         <rdar://5530789>: REGRESSION(303-310A19): Crash opening .wma files with
2290         MediaPlayer for the first time
2291
2292         Failure to setup the stream in PluginView::didReceiveResponse will lead,
2293         in a full-page plugin, to the main document load being cancelled. This
2294         is the case with at least two versions of Windows Media Player, which
2295         cancels the stream and brings up its own "Welcome to Windows Media
2296         Player" dialog.
2297         
2298         As part of the main document load cancellation, m_pluginView is set to
2299         null, and the crash came from dereferencing this pointer. This patch
2300         adds a null check.
2301
2302         * WebFrame.cpp:
2303         (WebFrame::finishedLoading): Fix some typos
2304         (WebFrame::committedLoad): Added a null check
2305
2306 2007-10-15  Alice Liu  <alice.liu@apple.com>
2307
2308         Reviewed by Sam Weinig.
2309
2310         Fixed <rdar://5382546> layoutTestController.setCustomPolicyDelegate is unimplemented causing tests to fail
2311
2312         * DefaultPolicyDelegate.cpp: Added.
2313         Implementation is a direct port of WebKit/DefaultDelegates/WebDefaultPolicyDelegate.m
2314         (DefaultPolicyDelegate::DefaultPolicyDelegate):
2315         (DefaultPolicyDelegate::~DefaultPolicyDelegate):
2316         (DefaultPolicyDelegate::sharedInstance):
2317         (DefaultPolicyDelegate::createInstance):
2318         (DefaultPolicyDelegate::QueryInterface):
2319         (DefaultPolicyDelegate::AddRef):
2320         (DefaultPolicyDelegate::Release):
2321         (DefaultPolicyDelegate::decidePolicyForNavigationAction):
2322         (DefaultPolicyDelegate::decidePolicyForNewWindowAction):
2323         (DefaultPolicyDelegate::decidePolicyForMIMEType):
2324         (DefaultPolicyDelegate::unableToImplementPolicyWithError):
2325         * DefaultPolicyDelegate.h: Added.
2326         * WebFrame.cpp:
2327         (WebFrame::dispatchDecidePolicyForNavigationAction):
2328         Implemented default action
2329         * WebKit.vcproj/WebKit.vcproj:
2330         Adding files to project
2331
2332 2007-10-12  Steve Falkenburg  <sfalken@apple.com>
2333
2334         Move pthreads up in the linker order and don't mark it for delay load.
2335         Fixes crash during regsvr32 of WebKit (currently repro if you do a spade ti).
2336         
2337         Reviewed by Darin, Ada.
2338
2339         * WebKit.vcproj/WebKit.vcproj:
2340
2341 2007-10-11  Steve Falkenburg  <sfalken@apple.com>
2342
2343         Delay load additional libraries to improve startup time.
2344         
2345         Reviewed by Darin, Ada.
2346
2347         * WebKit.vcproj/WebKit.vcproj:
2348
2349 2007-10-11  Ada Chan  <adachan@apple.com>
2350
2351         <rdar://problem/5534421>
2352         Switched to using wkGetDefaultHTTPCookieStorage() to avoid recreating CFHTTPCookieStorageRef.
2353         Removed usage of ResourceHandle::cookieStorage().
2354
2355         Reviewed by Oliver.
2356
2357         * WebView.cpp:
2358         (WebView::updateWebCoreSettingsFromPreferences):
2359         (WebView::initWithFrame):
2360
2361 2007-10-10  Alice Liu  <alice.liu@apple.com>
2362
2363         Reviewed by Geoff Garen.
2364
2365         Fixed <rdar://5464402> Crash when running fast/frames/onload-remove-iframe-crash.html in DRT
2366
2367         * WebFrame.cpp:
2368         (WebFrame::createFrame):
2369         The crash was caused by the early destruction of the subframe.  To resolve this issue, 
2370         the manual deref of the child frame that occurs in between being appended to the 
2371         frametree and being used in loadURLIntoChild wasn't exactly incorrect, but just needed 
2372         to be moved until after loadURLIntoChild. This hasn't been a problem for other uses of 
2373         child frames because this test case involves removing a child frame immediately after 
2374         loading it, all in an onload handler.  Even better than just moving the deref would be 
2375         to change the signature of createFrame to use a RefPtr<Frame> so that a manual deref isn't 
2376         necessary. This is what was done in this patch. 
2377         * WebFrame.h:
2378         createFrame() now returns a RefPtr instead of a raw Frame pointer. 
2379         Making this change improves the way we handle frames on Windows WebKit. 
2380
2381
2382 2007-10-05  Ada Chan  <adachan@apple.com>
2383
2384         <rdar://problem/5436617>
2385         Implement WebIconDatabase::delayDatabaseCleanup() and WebIconDatabase::allowDatabaseCleanup().
2386
2387         Reviewed by Brady.
2388
2389         * WebIconDatabase.cpp:
2390         (WebIconDatabase::delayDatabaseCleanup):
2391         (WebIconDatabase::allowDatabaseCleanup):
2392
2393 2007-10-04  Adele Peterson  <adele@apple.com>
2394
2395         * Interfaces/IWebViewPrivate.idl: Moving setInitialFocus down to the end to avoid breaking the OpenSource build.
2396
2397 2007-10-04  Adele Peterson  <adele@apple.com>
2398
2399         Reviewed by Darin.
2400
2401         WebKit/win part of fix for <rdar://problem/5369017> REGRESSION: Can't tab to webview that doesn't have editable content
2402
2403         * WebView.cpp: Added setInitialFocus so the application can specify that its handing off focus to WebKit
2404           and so that it can specify the focus direction.
2405         * WebView.h: ditto.
2406         * Interfaces/IWebViewPrivate.idl: ditto.
2407
2408 2007-10-03  Ada Chan  <adachan@apple.com>
2409
2410         <rdar://problem/5521230> Implement IWebIconDatabase::iconURLForURL in WebKit for windows
2411
2412         Reviewed by Steve and Brady.
2413
2414         * Interfaces/IWebIconDatabase.idl:
2415         * WebIconDatabase.cpp:
2416         (WebIconDatabase::iconURLForURL):
2417         * WebIconDatabase.h:
2418
2419 2007-10-02  Sam Weinig  <sam@webkit.org>
2420
2421         Rubber-stamped by Adam Roben.
2422
2423         * Interfaces/IWebPreferences.idl: Remove unnecessary comments. 
2424
2425 2007-10-02  Darin Adler  <darin@apple.com>
2426
2427         Reviewed by Adam.
2428
2429         - started using the new OwnPtr everywhere we do DeleteObject
2430
2431         * WebNodeHighlight.cpp:
2432         (WebNodeHighlight::updateWindow):
2433         * WebView.cpp:
2434         (WebView::WebView):
2435         (WebView::deleteBackingStore):
2436         (WebView::ensureBackingStore):
2437         (WebView::addToDirtyRegion):
2438         (WebView::scrollBackingStore):
2439         (WebView::updateBackingStore):
2440         (WebView::paint):
2441         (WebView::paintIntoBackingStore):
2442         (WebView::paintIntoWindow):
2443         * WebView.h:
2444
2445 2007-10-02  Adam Roben  <aroben@apple.com>
2446
2447         Fix <rdar://5505062> WebKit's version-independent ProgIDs contain version numbers
2448
2449         I also added a few registry keys for our version-independent ProgIDs
2450         that we were missing.
2451
2452         Reviewed by Steve.
2453
2454         * ProgIDMacros.h: Added new macros to get version-independent ProgIDs.
2455         * WebKitDLL.cpp: Use the version-independent ProgIDs in the right
2456         places, and added some new keys for version-independent ProgIDs.
2457
2458 2007-10-02  Anders Carlsson  <andersca@apple.com>
2459
2460         Reviewed by Adam.
2461
2462         Fix a bug discovered by app verifier where we would treat an LPCTSTR as a BSTR causing a crash.
2463         
2464         Also rename some protection space constants and change their values to match the mac version.
2465         
2466         * Interfaces/IWebURLAuthenticationChallenge.idl:
2467         * WebURLProtectionSpace.cpp:
2468         (WebURLProtectionSpace::initWithHost):
2469         (WebURLProtectionSpace::initWithProxyHost):
2470         (WebURLProtectionSpace::protocol):
2471         (WebURLProtectionSpace::proxyType):
2472
2473 2007-09-29  Adam Roben  <aroben@apple.com>
2474
2475         Clean-up in preparation for <rdar://5505062> WebKit's version-independent ProgIDs contain version numbers
2476
2477         Reviewed by Steve.
2478
2479         * ProgIDMacros.h: Stringify the passed in class name.
2480         * WebKitDLL.cpp: Added a FOR_EACH_CLASS macro to ensure that our class
2481         lists stay in the right order, and updated uses of the *_PROGID macros
2482         for to take the stringification into account.
2483
2484 2007-09-27  Kevin McCullough  <kmccullough@apple.com>
2485
2486         Reviewed by Darin.
2487
2488         - <rdar://5261371> Nothing downloaded when exporting bookmarks from iGoogle web history
2489         - Implemented IWebHTTPURLResponse::allHeaderFields so that if the content disposition is "attachment" we will download the file instead of display it.  Also implemented some missing functionality.
2490
2491         * HTTPHeaderPropertyBag.cpp: Added.
2492         (HTTPHeaderPropertyBag::HTTPHeaderPropertyBag):
2493         (HTTPHeaderPropertyBag::createInstance):
2494         (HTTPHeaderPropertyBag::setResponse):
2495         (HTTPHeaderPropertyBag::response):
2496         (HTTPHeaderPropertyBag::QueryInterface):
2497         (HTTPHeaderPropertyBag::AddRef):
2498         (HTTPHeaderPropertyBag::Release):
2499         (ConvertFromLPCOLESTR):
2500         (ConvertToVariant):
2501         (ConvertFromVariant):
2502         (HTTPHeaderPropertyBag::Read):
2503         (HTTPHeaderPropertyBag::Write):
2504         * HTTPHeaderPropertyBag.h: Added.
2505         * Interfaces/IWebHTTPURLResponse.idl:
2506         * WebKit.vcproj/WebKit.vcproj:
2507         * WebURLResponse.cpp:
2508         (WebURLResponse::allHeaderFields):
2509         (WebURLResponse::isAttachment):
2510         * WebURLResponse.h:
2511
2512 2007-09-27  Ada Chan  <adachan@apple.com>
2513
2514         <rdar://problem/5507481> Added a delegate method to inform the client
2515         app that WebView has painted.
2516
2517         Reviewed by Steve.
2518
2519         * Interfaces/IWebUIDelegatePrivate.idl:
2520         * WebView.cpp:
2521         (WebView::updateBackingStore):
2522
2523 2007-09-25  Adam Roben  <aroben@apple.com>
2524
2525         Add WebKitInitializer to WebKit.sln
2526
2527         Reviewed by Sam.
2528
2529         * WebKit.vcproj/WebKit.sln: DumpRenderTree and testkjs now depend on
2530         WebKitInitializer.
2531
2532 2007-09-25  Darin Adler  <darin@apple.com>
2533
2534         Reviewed by Steve.
2535
2536         - fix <rdar://problem/5095701> Download requring HTTP auth fails
2537           (progress bar forever)
2538
2539         The functions in WebDownload relating to authentication challenges needed
2540         to be implemented.
2541
2542         * WebDownload.cpp:
2543         (WebDownload::cancelAuthenticationChallenge): Implement.
2544         (WebDownload::continueWithoutCredentialForAuthenticationChallenge): Ditto.
2545         (WebDownload::useCredential): Ditto.
2546         (WebDownload::willSendRequest): Fix storage leak by adopting request
2547         and response after creating them. Also retain the result before returning
2548         it, since that's the API contract with CFNetwork.
2549         (WebDownload::didReceiveAuthenticationChallenge): Implement.
2550         (WebDownload::didReceiveResponse): Fix storage leak by adopting response.
2551         (WebDownload::willResumeWithResponse): Ditto.
2552         (WebDownload::didFail): Ditto.
2553
2554         * WebURLAuthenticationChallenge.h: Get rid of the IID #define,
2555         instead using __declspec(uuid). Added a sender parameter to the
2556         create function and an m_sender data member.
2557         * WebURLAuthenticationChallenge.cpp:
2558         (WebURLAuthenticationChallenge::WebURLAuthenticationChallenge): Added an
2559         explicit sender parameter so this can be used with a WebDownload, which
2560         does not involve a ResourceHandle. Later we should clean this up and not
2561         involve WebCore or ResourceHandle directly even for the non-download case.
2562         (WebURLAuthenticationChallenge::createInstance): Added an overload for the
2563         case with an explicit sender parameter.
2564         (WebURLAuthenticationChallenge::QueryInterface): Use __uuidof for the ID
2565         of this class. In general, we should move to __uuidof as much as possible
2566         and keep the separate macros to a minimum -- but we should do this for all
2567         uses of each class at one time to make sure we don't run into problems
2568         with two different UUIDs for the same class. This patch does it for three
2569         classes.
2570         (WebURLAuthenticationChallenge::initWithProtectionSpace): Use the query
2571         constructor instead of an explicit QueryInterface for WebURLCredential.
2572         This is another class where I'm switching from CLSID/IID macros to the
2573         use of __uuidof, but in this case the use of __uuidof is implicit.
2574         (WebURLAuthenticationChallenge::initWithAuthenticationChallenge): Ditto,
2575         but for WebURLAuthenticationChallenge and WebURLAuthenticationChallengeSender.
2576         (WebURLAuthenticationChallenge::sender): Use the new m_sender member to
2577         cache the sender object and also use the one that was passed into the
2578         constructor, if any.
2579
2580         * WebURLAuthenticationChallengeSender.h: Get rid of the IID #define,
2581         instead using __declspec(uuid). Also minimize includes and make data
2582         members private instead of protected.
2583         * WebURLAuthenticationChallengeSender.cpp:
2584         (WebURLAuthenticationChallengeSender::QueryInterface): Use __uuidof instead
2585         of IID macro.
2586         (WebURLAuthenticationChallengeSender::cancelAuthenticationChallenge):
2587         Use query constructor instead of QueryInterface.
2588         (WebURLAuthenticationChallengeSender::continueWithoutCredentialForAuthenticationChallenge):
2589         Ditto.
2590         (WebURLAuthenticationChallengeSender::useCredential): Ditto.
2591
2592         * WebURLCredential.cpp: (WebURLCredential::QueryInterface): Use __uuidof
2593         instead of CLSID_WebURLCredential.
2594
2595         - tangentially-related cleanup
2596
2597         * WebFrame.cpp:
2598         (WebFrame::dispatchDidReceiveAuthenticationChallenge): Use the adopt
2599         constructor instead of a separate adoptRef call.
2600         (WebFrame::dispatchDidCancelAuthenticationChallenge): Ditto.
2601
2602 2007-09-24  Brady Eidson  <beidson@apple.com>
2603
2604         Reviewed by John Sullivan
2605
2606         Fix for <rdar://5493371> - Crash in Icon Database on Windows
2607         
2608         * WebIconDatabase.cpp:
2609         (WebIconDatabase::iconForURL): If the URL is NULL, fallback to the default icon without asking WebCore
2610
2611 2007-09-24  Adam Roben  <aroben@apple.com>
2612
2613         Fix <rdar://5499507> FrameView will always have size (0,0) if its parent WebView is never resized
2614
2615         Reviewed by Darin.
2616
2617         * WebView.cpp:
2618         (WebView::initWithFrame): Set the main FrameView's size to the size of
2619         the WebView.
2620
2621 2007-09-21  Kevin McCullough  <kmccullough@apple.com>
2622
2623         - Fixed a syntax guideline mistake.
2624
2625         * WebChromeClient.cpp:
2626         (WebChromeClient::scrollbarsVisible):
2627
2628 2007-09-20  Oliver Hunt  <oliver@apple.com>
2629
2630         Reviewed by Steve.
2631
2632         <rdar://problem/5487153> Korean characters are displayed as garbage with default encoding in some Korean web sites
2633
2634         Adding support for per-localisation default character encodings on
2635         windows.
2636         
2637         * English.lproj/Localizable.strings:
2638         * WebPreferences.cpp:
2639         (WebPreferences::initializeDefaultSettings):
2640
2641 2007-09-20  Kevin McCullough  <kmccullough@apple.com>
2642
2643         Reviewed by Oliver.
2644
2645         - Added the ability to ask if scrollbars are visible
2646         - <rdar://problem/5496211> scrollbarsVisible in WebChromeClient is not implemented
2647
2648         * WebChromeClient.cpp:
2649         (WebChromeClient::scrollbarsVisible):
2650
2651 2007-09-20  Ada Chan  <adachan@apple.com>
2652
2653         <rdar://problem/5477240> Regression: Footer is too high in print preview
2654
2655         Reviewed by Steve.
2656
2657         * WebFrame.cpp:
2658         (WebFrame::WebFrame): initialize new data member m_pageHeight, which is the height of the page adjusted for margins.
2659         (WebFrame::computePageRects): get the height of the page adjusted for margins by passing m_pageHeight to
2660         computePageRectsForFrame().
2661         (WebFrame::spoolPages): footer rect's top is the max of the bottom of the page content and the bottom of the page
2662         minus footer height.
2663         * WebFrame.h:
2664
2665 2007-09-19  Kevin McCullough  <kmccullough@apple.com>
2666
2667         Reviewed by Hyatt.
2668
2669         - <rdar://problem/5101991> Avril Lavigne music player comes up in a window with scrollbars
2670         - Implementing missing scrollbar functionality to allow turning off scrollbars correctly.
2671
2672         * Interfaces/IWebFrame.idl:
2673         * Interfaces/IWebFrameView.idl:
2674         * WebChromeClient.cpp:
2675         (WebChromeClient::setScrollbarsVisible):
2676         * WebFrame.cpp:
2677         (WebFrame::setAllowsScrolling):
2678         (WebFrame::allowsScrolling):
2679         (WebFrame::frameView):
2680         * WebFrame.h:
2681
2682 2007-09-20  Brady Eidson  <beidson@apple.com>
2683
2684         Reviewed by Dave Hyatt
2685
2686         <rdar://problem/5245981> - No favicon shows up for cnet.com
2687         
2688         * WebIconDatabase.cpp:
2689         (WebIconDatabase::iconForURL): Call getHBITMAPOfSize
2690         (WebIconDatabase::getOrCreateDefaultIconBitmap): Ditto
2691
2692 2007-09-19  Sam Weinig  <sam@webkit.org>
2693
2694         Rubber stamped by Adam Roben.
2695
2696         * WebKit.vcproj/WebKit.sln: Update location of DumpRenderTree and TestNetscapePlugin
2697         to point to their new locations.
2698
2699 2007-09-18  Brady Eidson  <beidson@apple.com>
2700
2701         Reviewed by Adam
2702
2703         Final part of <rdar://problem/5471308> - Hook up async icon database on Windows        
2704
2705         * CFDictionaryPropertyBag.cpp:
2706         (CFDictionaryPropertyBag::CFDictionaryPropertyBag): Took the opportunity to rewrite with a RetainPtr
2707           since it became available after the initial implementation
2708         (CFDictionaryPropertyBag::setDictionary):
2709         (CFDictionaryPropertyBag::dictionary): Added accessor to the CFDictionaryRef to ease use within WebKit
2710         (CFDictionaryPropertyBag::QueryInterface): Added IID_CFDictionaryPropertyBag accessor
2711         (CFDictionaryPropertyBag::Read):
2712         (CFDictionaryPropertyBag::Write):
2713         * CFDictionaryPropertyBag.h: Added IID_CFDictionaryPropertyBag
2714        
2715         * WebFrame.cpp:
2716         (WebFrame::url): Added accessor, gets the current URL from WebCore
2717         (WebFrame::dispatchDidReceiveIcon): Calls through to the WebView
2718         (WebFrame::registerForIconNotification): Ditto
2719         * WebFrame.h:        
2720
2721         * WebIconDatabase.cpp:
2722         (WebIconDatabase::iconDatabaseDidAddIconNotification):
2723         (WebIconDatabase::iconDatabaseNotificationUserInfoURLKey):
2724         (WebIconDatabase::iconDatabaseDidRemoveAllIconsNotification):
2725         (postDidRemoveAllIconsNotification):
2726         (postDidAddIconNotification):
2727         * WebIconDatabase.h:        
2728
2729         * WebView.cpp:
2730         (WebView::close): Unregister for the notification, just in case
2731         (WebView::notifyDidAddIcon): Called when the webview gets the didAddIcon notification, compares the url
2732           in the notification to the current main frame URL.  If they match, calls to dispatchDidReceiveIconFromWebFrame
2733         (WebView::registerForIconNotification): 
2734         (WebView::dispatchDidReceiveIconFromWebFrame): Dispatches the FrameLoadDelegate call.  Once the delegate call is dispatched,
2735           either via the FrameLoaderClient interface of by listening for a notification, we know that our info is up to date in the 
2736           IconDatabase and we don't need to listen for the generic notification any long, so we unregister for it here, as well.
2737         (WebView::onNotify): The WebView listens for two notifications now, so make the decision which was received
2738         * WebView.h:
2739
2740 2007-09-18  Brady Eidson  <beidson@apple.com>
2741
2742         Reviewed by Ada and Geoff
2743
2744         Part of <rdar://problem/5471308> - Get async Icon Database fully hooked up on Windows
2745         
2746         Hook up main thread delivery of Icon Database notifications from the secondary thread
2747         
2748         * WebIconDatabase.cpp:
2749         (WebIconDatabase::WebIconDatabase): Initialize m_deliveryRequested
2750         (WebIconDatabase::init): Set the IconDatabaseClient to the shared WebIconDatabase
2751         (WebIconDatabase::dispatchDidRemoveAllIcons): Queue the notification to be delivered on the main thread then
2752           ask for the delivery
2753         (WebIconDatabase::dispatchDidAddIconForPageURL): Ditto
2754         (WebIconDatabase::scheduleNotificationDelivery): If the m_deliveryRequested hasn't been set, then set it
2755           and perform the callOnMainThread() for WebIconDatabase::deliverNotifications
2756         (postDidRemoveAllIconsNotification):
2757         (postDidAddIconNotification):
2758         (WebIconDatabase::deliverNotifications): Deliver all notifications in the current queue
2759         * WebIconDatabase.h:
2760
2761 2007-09-17  Geoffrey Garen  <ggaren@apple.com>
2762
2763         Reviewed by Darin Adler.
2764
2765         Fixed a hang due to an infinite script running in the window's unload 
2766         event handler, which may be the cause of <rdar://problem/5479443> 
2767         REGRESSION: Hang due to infinite JS recursion on close @ engadget.com 
2768         (onunload-based ad)
2769         
2770         Added a bunch of WebKitMac's close features, and reordered others to
2771         match WebKitMac.
2772
2773         * WebView.cpp:
2774         (WebView::close):
2775         (WebView::removeDragCaret):
2776
2777 2007-09-17  Adam Roben  <aroben@apple.com>
2778
2779         Fix <rdar://4979801> overflow divs don't respond to keyboard scrolling (affects RSS pages)
2780
2781         Reviewed by Hyatt.
2782
2783         * WebView.cpp:
2784         (WebView::keyDown): Attempt to scroll an overflow area before
2785         scrolling the whole frame.
2786
2787 2007-09-17  Brady Eidson  <beidson@apple.com>
2788
2789         Reviewed by Adam
2790         
2791         <rdar://problem/5471308> - Get async Icon Database fully hooked up on Windows
2792         
2793         Add a global "shut down WebKit" procedure to do cleanup at the engine level on quit. 
2794         Critical now for the IconDatabase and might be for other things in the future.
2795
2796         * WebKitDLL.cpp:
2797         (shutDownWebKit): For now, just close the IconDatabase
2798         (DllMain): On DLL_PROCESS_DETACH, call shutDownWebKit
2799
2800 2007-09-17  Anders Carlsson  <andersca@apple.com>
2801
2802         Reviewed by Adam.
2803
2804         <rdar://problem/5421997>
2805         http://bugs.webkit.org/show_bug.cgi?id=14247
2806         Display problem with Flash - image does not stop changing
2807
2808         Port the manual load code over from the Mac version.
2809
2810         * WebFrame.cpp:
2811         (WebFrame::WebFramePrivate::WebFramePrivate):
2812         Initialize the plugin pointer.
2813         
2814         (WebFrame::finishedLoading):
2815         (WebFrame::setMainDocumentError):
2816         (WebFrame::committedLoad):
2817         Feed the data to the plug-in.
2818                 
2819         (WebFrame::redirectDataToPlugin):
2820         Store the plug-in widget.
2821
2822 2007-09-14  Steve Falkenburg  <sfalken@apple.com>
2823
2824         Fix build.
2825
2826         * WebFrame.cpp:
2827         (WebFrame::createPlugin):
2828         (WebFrame::createJavaAppletWidget):
2829
2830 2007-09-13  Darin Adler  <darin@apple.com>
2831
2832         Reviewed by Oliver.
2833
2834         - fix <rdar://problem/5470457> REGRESSION: Input method inline hole is mishandled in text
2835           <input> elements with maxlength limit
2836
2837         * WebView.cpp:
2838         (WebView::resetIME): Change to use confirmCompositionWithoutDisturbingSelection.
2839         (WebView::updateSelectionForIME): Update for name changes, and to use new functions
2840         in Editor.
2841         (WebView::onIMEStartComposition): Removed unneeded call to unmarkText.
2842         (compositionToUnderlines): Removed startOffset parameter, since setComposition now
2843         handles this.
2844         (WebView::onIMEComposition): Changed to use confirmComposition and setComposition.
2845         Logic gets a lot cleaner.
2846         (WebView::onIMEEndComposition): Removed unneeded calls to Editor.
2847         (WebView::onIMERequestCharPosition): Updated for name changes.
2848
2849 2007-09-12  Oliver Hunt  <oliver@apple.com>
2850
2851         Reviewed by Adam.
2852         
2853         Fixing 
2854             <rdar://problem/5018591> Windows doesn't have a standard vertical text cursor
2855             <rdar://problem/5224996> Add zoom in and zoom out cursors
2856             
2857         Add images for vertical text and zoom in and out cursors to WebKit resources.
2858             
2859         * WebKit.vcproj/verticalTextCursor.png: Added.
2860         * WebKit.vcproj/WebKit.rc:
2861         * WebKit.vcproj/WebKit.vcproj:
2862         * WebKit.vcproj/resource.h:
2863         * WebKit.vcproj/zoomInCursor.png: Added.
2864         * WebKit.vcproj/zoomOutCursor.png: Added.
2865         * WebKitDLL.cpp:
2866         (loadResourceIntoBuffer):
2867
2868 2007-09-12  Adam Roben  <aroben@apple.com>
2869
2870         Initialize SafariTheme early in WebKit's instantiation
2871
2872         New versions of SafariTheme will require this initialization. We have
2873         to use GetProcAddress for now since the initialize method doesn't
2874         exist in any released SafariTheme.
2875
2876         Reviewed by Ada.
2877
2878         * WebKit.vcproj/debug_internal.vsprops: Pick up the debug SafariTheme.
2879         * WebKitClassFactory.cpp:
2880         (WebKitClassFactory::WebKitClassFactory): Call STInitialize.
2881
2882 2007-09-12  Ada Chan  <adachan@apple.com>
2883
2884         <rdar://problem/5478690> Regression: printing: footer only appears on the first page of print
2885
2886         Reviewed by Adam.
2887
2888         * WebFrame.cpp:
2889         (WebFrame::spoolPages): the footer rect is relative to the top left of the current page.  So 
2890         instead of passing pageRect.bottom() as the top of the footer rect (which is relative to the 
2891         document), we should pass in headerHeight plus the height of the pageRect.
2892
2893 2007-09-12  Anders Carlsson   <andersca@apple.com>
2894
2895         Reviewed by Darin (reluctantly).
2896
2897         <rdar://problem/5320461>
2898         http://bugs.webkit.org/show_bug.cgi?id=14548
2899         REGRESSION (r23987-r24061) : Reproducible crash with a local stylesheet file
2900         
2901         Add a workaround which converts the string passed in to an URL if it's a path.
2902         
2903         * WebView.cpp:
2904         (WebView::updateWebCoreSettingsFromPreferences):
2905
2906 2007-09-10  Steve Falkenburg  <sfalken@apple.com>
2907
2908         Remove site-specific hacks that we don't need anymore.
2909
2910         Reviewed by Adam.
2911
2912         * WebView.cpp:
2913         (WebView::userAgentForKURL):
2914
2915 2007-09-08  Steve Falkenburg  <sfalken@apple.com>
2916
2917         Prevent WebKit version numbers from containing "4" in Windows.
2918
2919         Reviewed by Darin.
2920
2921         * WebKit.vcproj/VERSION: Bump version since our current version ends in 4.
2922         * WebKit.vcproj/auto-version.sh: Add version checking code.
2923
2924 2007-09-08  Brady Eidson  <beidson@apple.com>
2925
2926         <rdar://problem/5434431> - Asynchronous Icon Database
2927
2928         * WebFrame.cpp:
2929         (WebFrame::didPerformFirstNavigation): Empty impl for now
2930         (WebFrame::registerForIconNotification): Ditto
2931         * WebFrame.h:
2932
2933 2007-09-05  Geoffrey Garen  <ggaren@apple.com>
2934
2935         Reviewed by Darin Adler, Maciej Stachowiak, Mark Rowe, Tim Hatcher.
2936         
2937         Fixed <rdar://problem/5326009> Make non-browser WebKit clients have no 
2938         memory cache, or a very tiny one
2939         
2940         Keep the Windows build working with an empty stub.
2941         
2942         * WebFrame.cpp:
2943         (FrameLoaderClient::didPerformFirstNavigation):
2944         * WebFrame.h:
2945
2946 2007-09-07  Ada Chan  <adachan@apple.com>
2947
2948         Need to let the OS handle Alt+F4.
2949
2950         Reviewed by Hyatt.
2951
2952         * WebView.cpp:
2953         (WebView::keyUp):
2954         (WebView::keyDown):
2955
2956 2007-09-07  Anders Carlsson  <andersca@apple.com>
2957
2958         Reviewed by Oliver.
2959
2960         <rdar://problem/5461487>
2961         Seed: Embedded media content (Flash Player 9) inside RSS reported as unknown MIME type.
2962         
2963         Don't return ObjectContentNone if the URL's extension can't be mapped to a MIME type. If the MIME type is empty, 
2964         we will try to display the content in a subframe instead, just like Mac WebKit.
2965         
2966         * WebFrame.cpp:
2967         (WebFrame::objectContentType):
2968
2969 2007-09-07  Ada Chan  <adachan@apple.com>
2970
2971         <rdar://problem/5395928> Need to be able to handle context menu item selection by index
2972
2973         Reviewed by Beth.
2974
2975         * WebView.cpp:
2976         (WebView::performContextMenuAction): performContextMenuAction() can now handle context menu
2977         item selection via WM_MENUCOMMAND (by specifying byPosition to be true).  In that case, we
2978         get the ContextMenuItem by position rather than by action id.
2979         (WebViewWndProc): handle WM_MENUCOMMAND
2980         * WebView.h:
2981
2982 2007-09-07  Ada Chan  <adachan@apple.com>
2983
2984         <rdar://problem/5453494> Better lifetime management of WebDataSource and WebDocumentLoader
2985         The problem was that WebDataSource does not hold a strong reference to the WebDocumentLoader.  If
2986         a WebDataSource is still around after the loader has been destroyed, it'll just point to
2987         a stale WebDocumentLoader.
2988         To fix this without a circular reference, WebDataSource now holds a strong reference to the
2989         WebDocumentLoader.  The WebDocumentLoader holds a strong reference to the WebDataSource
2990         until it's detached from the WebFrame.  When the WebDataSource is destroyed, it'll notify
2991         its WebDocumentLoader so the loader will clear any references to it.
2992
2993         Reviewed by Darin.
2994
2995         * WebDataSource.cpp:
2996         (WebDataSource::~WebDataSource): call WebDocumentLoader::detachDataSource() so the loader
2997         will clear any references to this data source
2998         (WebDataSource::documentLoader): m_loader is now a RefPtr so we need to call get().
2999         * WebDataSource.h:
3000         * WebDocumentLoader.cpp:
3001         (WebDocumentLoader::WebDocumentLoader): initialize m_dataSource since it's no longer a COMPtr.
3002         (WebDocumentLoader::~WebDocumentLoader): release m_dataSource if necessary
3003         (WebDocumentLoader::setDataSource): add a reference to m_dataSource
3004         (WebDocumentLoader::dataSource): 
3005         (WebDocumentLoader::detachDataSource): clear m_detachedDataSource.
3006         (WebDocumentLoader::attachToFrame): call setDataSource() so it'll add the reference to the data source if necessary.
3007         (WebDocumentLoader::detachFromFrame): release the reference to the data source
3008         * WebDocumentLoader.h:
3009
3010 2007-09-05  Dave Hyatt <hyatt@apple.com>
3011
3012         Make sure ALT+other keys is properly sent into the DOM so that Web pages (and editing fields) can
3013         detect key combos like ALT+Enter.
3014        
3015         Reviewed by Steve
3016
3017         * WebView.cpp:
3018         (WebView::keyUp):
3019         (WebView::keyDown):
3020         (WebViewWndProc):
3021         * WebView.h:
3022
3023 2007-09-04  Sam Weinig  <sam@webkit.org>
3024
3025         Build fix.
3026
3027         * WebKit.vcproj/WebKit.vcproj:
3028
3029 2007-09-01  Oliver Hunt  <oliver@apple.com>
3030
3031         Reviewed by Sam.
3032
3033         <rdar://problem/5344848> IME is incorrectly used for key events when on non-editable regions
3034  
3035         When focusing a password field or a non-editable element we disassociate any IME that may have
3036         been active, and reassociate should a non-password editable element is focused.
3037
3038         This makes password input with an IME active simpler, and brings our IME behaviour in line with
3039         IE.        
3040
3041         * WebEditorClient.cpp:
3042         (WebEditorClient::setInputMethodState):
3043         * WebEditorClient.h:
3044         * WebView.cpp:
3045         (IMMDict::IMMDict):
3046         (WebView::setInputMethodState):
3047         * WebView.h:
3048
3049 2007-08-31  Steve Falkenburg  <sfalken@apple.com>
3050
3051         <rdar://problem/5432594> Safari quits when hovering over mailto links on a webpage
3052         
3053         In addition to substituting %@ with %s, we also need to substitute %{1-9}$@ with %{1-9}$s.
3054
3055         Reviewed by Oliver.
3056
3057         * WebLocalizableStrings.cpp:
3058         (WebLocalizedLPCTSTR):
3059
3060 2007-08-29  Ada Chan  <adachan@apple.com>
3061
3062         <rdar://problem/5074612> Added SPI to retrieve certificate info from a WebError.
3063
3064         Reviewed by Steve.
3065
3066         * Interfaces/IWebErrorPrivate.idl: Added IWebErrorPrivate
3067         * WebError.cpp:
3068         (WebError::QueryInterface): WebError now also implements IWebErrorPrivate
3069         (WebError::sslPeerCertificate): retrieves certificate info from CFError's user info.
3070         * WebError.h:
3071         * WebKit.vcproj/WebKitGUID.vcproj: Added IWebErrorPrivate_i.c
3072
3073 2007-08-28  Steve Falkenburg  <sfalken@apple.com>
3074
3075         <rdar://problem/5079253> Cannot set different margins for the page
3076         
3077         Added support for setting margins via page setup for Windows printing.
3078         
3079         Reviewed by Adam.
3080
3081         * Interfaces/IWebUIDelegate.idl: Added webViewPrintingMarginRect.
3082         * WebFrame.cpp:
3083         (WebFrame::printerMarginRect): Added.
3084         (WebFrame::computePageRects): Account for margins when calculating page rects.
3085         (WebFrame::spoolPages): Position footer at the bottom of the page rect (fixes footer drawing if left/right margins are set).
3086         * WebFrame.h:
3087
3088 2007-08-28  Jon Honeycutt  <jhoneycutt@apple.com>
3089
3090         Reviewed by Adam.
3091
3092         <rdar://problem/5444457>: Content is cut when page orientation changed
3093         in print preview
3094         Fix: Don't return WebFrame::m_pageRects if it exists; let
3095         computePageRectsForFrame clear and rewrite it.
3096
3097         * WebFrame.cpp:
3098         (WebFrame::computePageRects): Removed an early-return case. Added a
3099         space.
3100
3101 2007-08-28  Ada Chan  <adachan@apple.com>
3102
3103         <rdar://problem/4876242> Added SPI to fetch SSL certificate information.
3104
3105         Reviewed by Adam and Steve.
3106
3107         * Interfaces/IWebURLResponsePrivate.idl: Added.
3108         * WebKit.vcproj/Interfaces.vcproj:
3109         * WebKit.vcproj/WebKitGUID.vcproj:
3110         * WebURLResponse.cpp:
3111         (WebURLResponse::QueryInterface):
3112         (WebURLResponse::sslPeerCertificate): gets peer certificate context from CFNetwork
3113         (WebURLResponse::certificateDictionary): gets the dictionary that contains SSL certificate
3114         info from CFNetwork.  We retain the dictionary to ensure the certificate context is valid
3115         throughout the lifetime of the WebURLResponse.
3116         * WebURLResponse.h:
3117
3118 2007-08-27  Steve Falkenburg  <sfalken@apple.com>
3119
3120         <rdar://problem/5424801> REGRESSION (r25151): Web page area of window doesn't redraw if page isn't loaded
3121         
3122         Don't bypass WebView WM_PAINT if the WebView has never committed a page.
3123         
3124         Reviewed by Maciej.
3125
3126         * WebView.cpp:
3127         (WebViewWndProc): Don't skip painting if we haven't committed any pages in this view.
3128
3129 2007-08-25  Oliver Hunt  <oliver@apple.com>
3130
3131         Reviewed by Adam and Sam
3132         
3133         <rdar://problem/5269732> Safari 3.0 for Windows cuts off text in textarea boxes during sending forms (14562) 
3134         <http://bugs.webkit.org/show_bug.cgi?id=14562> [Win] Textarea contents partially eaten on submit/copy
3135         
3136         WebView::handleEditingKeyboardEvent assumed all keycodes that did not trigger a named command were
3137         to be inserted.  This could cause unexpected behaviour when control characters (eg. escape) are sent,
3138         or could cause data loss when sent a null character (as happens when dead keys are used for international 
3139         input).
3140         
3141         This patch corrects WebView::handleEditingKeyboardEvent to prevent such characters from being sent 
3142         to Editor::insertText.  This behaviour matches Firefox.
3143
3144         * WebView.cpp:
3145         (WebView::handleEditingKeyboardEvent):
3146
3147 2007-08-24  Sam Weinig  <sam@webkit.org>
3148
3149         Revert r25216 which renamed the COM DOM bindings to use Deprecated prefix.
3150
3151 2007-08-24  Ada Chan  <adachan@apple.com>
3152
3153         <rdar://problem/5147315> and <rdar://problem/5183935>
3154         Added accelerator key mappings for Select All, Undo, and Redo.
3155
3156         Reviewed by Adam.
3157
3158         * WebView.cpp:
3159
3160 2007-08-24  Jon Honeycutt  <jhoneycutt@apple.com>
3161
3162         Reviewed by Darin.
3163
3164         Part of <rdar://problem/5433236> Print preview of empty txt file crashes
3165         Safari
3166
3167         * WebFrame.cpp:
3168         (WebFrame::computePageRects): Pass m_pageRects by reference into 
3169         computePageRectsForFrame
3170
3171 2007-08-24  Sam Weinig  <sam@webkit.org>
3172
3173         Rubber-stamped by Adam Roben.
3174
3175         <rdar://problem/5434593> Deprecate current manually written COM DOM bindings in anticipation of autogeneration
3176
3177         Rename COM DOM bindings to use Deprecated prefix.
3178
3179         * DOMCSSClasses.cpp:
3180         (DeprecatedDOMCSSStyleDeclaration::DeprecatedDOMCSSStyleDeclaration):
3181         (DeprecatedDOMCSSStyleDeclaration::~DeprecatedDOMCSSStyleDeclaration):
3182         (DeprecatedDOMCSSStyleDeclaration::createInstance):
3183         (DeprecatedDOMCSSStyleDeclaration::QueryInterface):
3184         (DeprecatedDOMCSSStyleDeclaration::cssText):
3185         (DeprecatedDOMCSSStyleDeclaration::setCssText):
3186         (DeprecatedDOMCSSStyleDeclaration::getPropertyValue):
3187         (DeprecatedDOMCSSStyleDeclaration::getPropertyCSSValue):
3188         (DeprecatedDOMCSSStyleDeclaration::removeProperty):
3189         (DeprecatedDOMCSSStyleDeclaration::getPropertyPriority):
3190         (DeprecatedDOMCSSStyleDeclaration::setProperty):
3191         (DeprecatedDOMCSSStyleDeclaration::length):
3192         (DeprecatedDOMCSSStyleDeclaration::item):
3193         (DeprecatedDOMCSSStyleDeclaration::parentRule):
3194         * DOMCSSClasses.h:
3195         (DeprecatedDOMCSSStyleDeclaration::AddRef):
3196         (DeprecatedDOMCSSStyleDeclaration::Release):
3197         (DeprecatedDOMCSSStyleDeclaration::throwException):
3198         (DeprecatedDOMCSSStyleDeclaration::callWebScriptMethod):
3199         (DeprecatedDOMCSSStyleDeclaration::evaluateWebScript):
3200         (DeprecatedDOMCSSStyleDeclaration::removeWebScriptKey):
3201         (DeprecatedDOMCSSStyleDeclaration::stringRepresentation):
3202         (DeprecatedDOMCSSStyleDeclaration::webScriptValueAtIndex):
3203         (DeprecatedDOMCSSStyleDeclaration::setWebScriptValueAtIndex):
3204         (DeprecatedDOMCSSStyleDeclaration::setException):
3205         * DOMCoreClasses.cpp:
3206         (DeprecatedDOMObject::QueryInterface):
3207         (DeprecatedDOMNode::QueryInterface):
3208         (DeprecatedDOMNode::nodeName):
3209         (DeprecatedDOMNode::nodeValue):
3210         (DeprecatedDOMNode::setNodeValue):
3211         (DeprecatedDOMNode::nodeType):
3212         (DeprecatedDOMNode::parentNode):
3213         (DeprecatedDOMNode::childNodes):
3214         (DeprecatedDOMNode::firstChild):
3215         (DeprecatedDOMNode::lastChild):
3216         (DeprecatedDOMNode::previousSibling):
3217         (DeprecatedDOMNode::nextSibling):
3218         (DeprecatedDOMNode::attributes):
3219         (DeprecatedDOMNode::ownerDocument):
3220         (DeprecatedDOMNode::insertBefore):
3221         (DeprecatedDOMNode::replaceChild):
3222         (DeprecatedDOMNode::removeChild):
3223         (DeprecatedDOMNode::appendChild):
3224         (DeprecatedDOMNode::hasChildNodes):
3225         (DeprecatedDOMNode::cloneNode):
3226         (DeprecatedDOMNode::normalize):
3227         (DeprecatedDOMNode::isSupported):
3228         (DeprecatedDOMNode::namespaceURI):
3229         (DeprecatedDOMNode::prefix):
3230         (DeprecatedDOMNode::setPrefix):
3231         (DeprecatedDOMNode::localName):
3232         (DeprecatedDOMNode::hasAttributes):
3233         (DeprecatedDOMNode::isSameNode):
3234         (DeprecatedDOMNode::isEqualNode):
3235         (DeprecatedDOMNode::textContent):
3236         (DeprecatedDOMNode::setTextContent):
3237         (DeprecatedDOMNode::addEventListener):
3238         (DeprecatedDOMNode::removeEventListener):
3239         (DeprecatedDOMNode::dispatchEvent):
3240         (DeprecatedDOMNode::DeprecatedDOMNode):
3241         (DeprecatedDOMNode::~DeprecatedDOMNode):
3242         (DeprecatedDOMNode::createInstance):
3243         (DeprecatedDOMNodeList::QueryInterface):
3244         (DeprecatedDOMNodeList::item):
3245         (DeprecatedDOMNodeList::length):
3246         (DeprecatedDOMNodeList::DeprecatedDOMNodeList):
3247         (DeprecatedDOMNodeList::~DeprecatedDOMNodeList):
3248         (DeprecatedDOMNodeList::createInstance):
3249         (DeprecatedDOMDocument::QueryInterface):
3250         (DeprecatedDOMDocument::doctype):
3251         (DeprecatedDOMDocument::implementation):
3252         (DeprecatedDOMDocument::documentElement):
3253         (DeprecatedDOMDocument::createElement):
3254         (DeprecatedDOMDocument::createDocumentFragment):
3255         (DeprecatedDOMDocument::createTextNode):
3256         (DeprecatedDOMDocument::createComment):
3257         (DeprecatedDOMDocument::createCDATASection):
3258         (DeprecatedDOMDocument::createProcessingInstruction):
3259         (DeprecatedDOMDocument::createAttribute):
3260         (DeprecatedDOMDocument::createEntityReference):
3261         (DeprecatedDOMDocument::getElementsByTagName):
3262         (DeprecatedDOMDocument::importNode):
3263         (DeprecatedDOMDocument::createElementNS):
3264         (DeprecatedDOMDocument::createAttributeNS):
3265         (DeprecatedDOMDocument::getElementsByTagNameNS):
3266         (DeprecatedDOMDocument::getElementById):
3267         (DeprecatedDOMDocument::getComputedStyle):
3268         (DeprecatedDOMDocument::createEvent):
3269         (DeprecatedDOMDocument::DeprecatedDOMDocument):
3270         (DeprecatedDOMDocument::~DeprecatedDOMDocument):
3271         (DeprecatedDOMDocument::createInstance):
3272         (DeprecatedDOMElement::QueryInterface):
3273         (DeprecatedDOMElement::boundingBox):
3274         (DeprecatedDOMElement::lineBoxRects):
3275         (DeprecatedDOMElement::tagName):
3276         (DeprecatedDOMElement::getAttribute):
3277         (DeprecatedDOMElement::setAttribute):
3278         (DeprecatedDOMElement::removeAttribute):
3279         (DeprecatedDOMElement::getAttributeNode):
3280         (DeprecatedDOMElement::setAttributeNode):
3281         (DeprecatedDOMElement::removeAttributeNode):
3282         (DeprecatedDOMElement::getElementsByTagName):
3283         (DeprecatedDOMElement::getAttributeNS):
3284         (DeprecatedDOMElement::setAttributeNS):
3285         (DeprecatedDOMElement::removeAttributeNS):
3286         (DeprecatedDOMElement::getAttributeNodeNS):
3287         (DeprecatedDOMElement::setAttributeNodeNS):
3288         (DeprecatedDOMElement::getElementsByTagNameNS):
3289         (DeprecatedDOMElement::hasAttribute):
3290         (DeprecatedDOMElement::hasAttributeNS):
3291         (DeprecatedDOMElement::focus):
3292         (DeprecatedDOMElement::blur):
3293         (DeprecatedDOMElement::coreElement):
3294         (DeprecatedDOMElement::isEqual):
3295         (DeprecatedDOMElement::isFocused):
3296         (DeprecatedDOMElement::innerText):
3297         (DeprecatedDOMElement::style):
3298         (DeprecatedDOMElement::offsetLeft):
3299         (DeprecatedDOMElement::offsetTop):
3300         (DeprecatedDOMElement::offsetWidth):
3301         (DeprecatedDOMElement::offsetHeight):
3302         (DeprecatedDOMElement::offsetParent):
3303         (DeprecatedDOMElement::clientWidth):
3304         (DeprecatedDOMElement::clientHeight):
3305         (DeprecatedDOMElement::scrollLeft):
3306         (DeprecatedDOMElement::setScrollLeft):
3307         (DeprecatedDOMElement::scrollTop):
3308         (DeprecatedDOMElement::setScrollTop):
3309         (DeprecatedDOMElement::scrollWidth):
3310         (DeprecatedDOMElement::scrollHeight):
3311         (DeprecatedDOMElement::scrollIntoView):
3312         (DeprecatedDOMElement::scrollIntoViewIfNeeded):
3313         (DeprecatedDOMElement::DeprecatedDOMElement):
3314         (DeprecatedDOMElement::~DeprecatedDOMElement):
3315         (DeprecatedDOMElement::createInstance):
3316         * DOMCoreClasses.h:
3317         (DeprecatedDOMNode::AddRef):
3318         (DeprecatedDOMNode::Release):
3319         (DeprecatedDOMNode::throwException):
3320         (DeprecatedDOMNode::callWebScriptMethod):
3321         (DeprecatedDOMNode::evaluateWebScript):
3322         (DeprecatedDOMNode::removeWebScriptKey):
3323         (DeprecatedDOMNode::stringRepresentation):
3324         (DeprecatedDOMNode::webScriptValueAtIndex):
3325         (DeprecatedDOMNode::setWebScriptValueAtIndex):
3326         (DeprecatedDOMNode::setException):
3327         (DeprecatedDOMNodeList::AddRef):
3328         (DeprecatedDOMNodeList::Release):
3329         (DeprecatedDOMNodeList::throwException):
3330         (DeprecatedDOMNodeList::callWebScriptMethod):
3331         (DeprecatedDOMNodeList::evaluateWebScript):
3332         (DeprecatedDOMNodeList::removeWebScriptKey):
3333         (DeprecatedDOMNodeList::stringRepresentation):
3334         (DeprecatedDOMNodeList::webScriptValueAtIndex):
3335         (DeprecatedDOMNodeList::setWebScriptValueAtIndex):
3336         (DeprecatedDOMNodeList::setException):
3337         (DeprecatedDOMDocument::AddRef):
3338         (DeprecatedDOMDocument::Release):
3339         (DeprecatedDOMDocument::throwException):
3340         (DeprecatedDOMDocument::callWebScriptMethod):
3341         (DeprecatedDOMDocument::evaluateWebScript):
3342         (DeprecatedDOMDocument::removeWebScriptKey):
3343         (DeprecatedDOMDocument::stringRepresentation):
3344         (DeprecatedDOMDocument::webScriptValueAtIndex):
3345         (DeprecatedDOMDocument::setWebScriptValueAtIndex):
3346         (DeprecatedDOMDocument::setException):
3347         (DeprecatedDOMDocument::nodeName):
3348         (DeprecatedDOMDocument::nodeValue):
3349         (DeprecatedDOMDocument::setNodeValue):
3350         (DeprecatedDOMDocument::nodeType):
3351         (DeprecatedDOMDocument::parentNode):
3352         (DeprecatedDOMDocument::childNodes):
3353         (DeprecatedDOMDocument::firstChild):
3354         (DeprecatedDOMDocument::lastChild):
3355         (DeprecatedDOMDocument::previousSibling):
3356         (DeprecatedDOMDocument::nextSibling):
3357         (DeprecatedDOMDocument::attributes):
3358         (DeprecatedDOMDocument::ownerDocument):
3359         (DeprecatedDOMDocument::insertBefore):
3360         (DeprecatedDOMDocument::replaceChild):
3361         (DeprecatedDOMDocument::removeChild):
3362         (DeprecatedDOMDocument::appendChild):
3363         (DeprecatedDOMDocument::hasChildNodes):
3364         (DeprecatedDOMDocument::cloneNode):
3365         (DeprecatedDOMDocument::normalize):
3366         (DeprecatedDOMDocument::isSupported):
3367         (DeprecatedDOMDocument::namespaceURI):
3368         (DeprecatedDOMDocument::prefix):
3369         (DeprecatedDOMDocument::setPrefix):
3370         (DeprecatedDOMDocument::localName):
3371         (DeprecatedDOMDocument::hasAttributes):
3372         (DeprecatedDOMDocument::isSameNode):
3373         (DeprecatedDOMDocument::isEqualNode):
3374         (DeprecatedDOMDocument::textContent):
3375         (DeprecatedDOMDocument::setTextContent):
3376         (DeprecatedDOMElement::AddRef):
3377         (DeprecatedDOMElement::Release):
3378         (DeprecatedDOMElement::throwException):
3379         (DeprecatedDOMElement::callWebScriptMethod):
3380         (DeprecatedDOMElement::evaluateWebScript):
3381         (DeprecatedDOMElement::removeWebScriptKey):
3382         (DeprecatedDOMElement::stringRepresentation):
3383         (DeprecatedDOMElement::webScriptValueAtIndex):
3384         (DeprecatedDOMElement::setWebScriptValueAtIndex):
3385         (DeprecatedDOMElement::setException):
3386         (DeprecatedDOMElement::nodeName):
3387         (DeprecatedDOMElement::nodeValue):
3388         (DeprecatedDOMElement::setNodeValue):
3389         (DeprecatedDOMElement::nodeType):
3390         (DeprecatedDOMElement::parentNode):
3391         (DeprecatedDOMElement::childNodes):
3392         (DeprecatedDOMElement::firstChild):
3393         (DeprecatedDOMElement::lastChild):
3394         (DeprecatedDOMElement::previousSibling):
3395         (DeprecatedDOMElement::nextSibling):
3396         (DeprecatedDOMElement::attributes):
3397         (DeprecatedDOMElement::ownerDocument):
3398         (DeprecatedDOMElement::insertBefore):
3399         (DeprecatedDOMElement::replaceChild):
3400         (DeprecatedDOMElement::removeChild):
3401         (DeprecatedDOMElement::appendChild):
3402         (DeprecatedDOMElement::hasChildNodes):
3403         (DeprecatedDOMElement::cloneNode):
3404         (DeprecatedDOMElement::normalize):
3405         (DeprecatedDOMElement::isSupported):
3406         (DeprecatedDOMElement::namespaceURI):
3407         (DeprecatedDOMElement::prefix):
3408         (DeprecatedDOMElement::setPrefix):
3409         (DeprecatedDOMElement::localName):
3410         (DeprecatedDOMElement::hasAttributes):
3411         (DeprecatedDOMElement::isSameNode):
3412         (DeprecatedDOMElement::isEqualNode):
3413         (DeprecatedDOMElement::textContent):
3414         (DeprecatedDOMElement::setTextContent):
3415         * DOMEventsClasses.cpp:
3416         (DeprecatedDOMEventListener::QueryInterface):
3417         (DeprecatedDOMEventListener::handleEvent):
3418         (DeprecatedDOMEvent::DeprecatedDOMEvent):
3419         (DeprecatedDOMEvent::~DeprecatedDOMEvent):
3420         (DeprecatedDOMEvent::createInstance):
3421         (DeprecatedDOMEvent::QueryInterface):
3422         (DeprecatedDOMEvent::type):
3423         (DeprecatedDOMEvent::target):
3424         (DeprecatedDOMEvent::currentTarget):
3425         (DeprecatedDOMEvent::eventPhase):
3426         (DeprecatedDOMEvent::bubbles):
3427         (DeprecatedDOMEvent::cancelable):
3428         (DeprecatedDOMEvent::timeStamp):
3429         (DeprecatedDOMEvent::stopPropagation):
3430         (DeprecatedDOMEvent::preventDefault):
3431         (DeprecatedDOMEvent::initEvent):
3432         (DeprecatedDOMUIEvent::QueryInterface):
3433         (DeprecatedDOMUIEvent::view):
3434         (DeprecatedDOMUIEvent::detail):
3435         (DeprecatedDOMUIEvent::initUIEvent):
3436         (DeprecatedDOMUIEvent::keyCode):
3437         (DeprecatedDOMUIEvent::charCode):
3438         (DeprecatedDOMUIEvent::layerX):
3439         (DeprecatedDOMUIEvent::layerY):
3440         (DeprecatedDOMUIEvent::pageX):
3441         (DeprecatedDOMUIEvent::pageY):
3442         (DeprecatedDOMUIEvent::which):
3443         (DeprecatedDOMKeyboardEvent::QueryInterface):
3444         (DeprecatedDOMKeyboardEvent::keyIdentifier):
3445         (DeprecatedDOMKeyboardEvent::keyLocation):
3446         (DeprecatedDOMKeyboardEvent::ctrlKey):
3447         (DeprecatedDOMKeyboardEvent::shiftKey):
3448         (DeprecatedDOMKeyboardEvent::altKey):
3449         (DeprecatedDOMKeyboardEvent::metaKey):
3450         (DeprecatedDOMKeyboardEvent::altGraphKey):
3451         (DeprecatedDOMKeyboardEvent::getModifierState):
3452         (DeprecatedDOMKeyboardEvent::initKeyboardEvent):
3453         (DeprecatedDOMMouseEvent::QueryInterface):
3454         (DeprecatedDOMMouseEvent::screenX):
3455         (DeprecatedDOMMouseEvent::screenY):
3456         (DeprecatedDOMMouseEvent::clientX):
3457         (DeprecatedDOMMouseEvent::clientY):
3458         (DeprecatedDOMMouseEvent::ctrlKey):
3459         (DeprecatedDOMMouseEvent::shiftKey):
3460         (DeprecatedDOMMouseEvent::altKey):
3461         (DeprecatedDOMMouseEvent::metaKey):
3462         (DeprecatedDOMMouseEvent::button):
3463         (DeprecatedDOMMouseEvent::relatedTarget):
3464         (DeprecatedDOMMouseEvent::initMouseEvent):
3465         (DeprecatedDOMMouseEvent::offsetX):
3466         (DeprecatedDOMMouseEvent::offsetY):
3467         (DeprecatedDOMMouseEvent::x):
3468         (DeprecatedDOMMouseEvent::y):
3469         (DeprecatedDOMMouseEvent::fromElement):
3470         (DeprecatedDOMMouseEvent::toElement):
3471         (DeprecatedDOMMutationEvent::QueryInterface):
3472         (DeprecatedDOMMutationEvent::relatedNode):
3473         (DeprecatedDOMMutationEvent::prevValue):
3474         (DeprecatedDOMMutationEvent::newValue):
3475         (DeprecatedDOMMutationEvent::attrName):
3476         (DeprecatedDOMMutationEvent::attrChange):
3477         (DeprecatedDOMMutationEvent::initMutationEvent):
3478         (DeprecatedDOMOverflowEvent::QueryInterface):
3479         (DeprecatedDOMOverflowEvent::orient):
3480         (DeprecatedDOMOverflowEvent::horizontalOverflow):
3481         (DeprecatedDOMOverflowEvent::verticalOverflow):
3482         (DeprecatedDOMWheelEvent::QueryInterface):
3483         (DeprecatedDOMWheelEvent::screenX):
3484         (DeprecatedDOMWheelEvent::screenY):
3485         (DeprecatedDOMWheelEvent::clientX):
3486         (DeprecatedDOMWheelEvent::clientY):
3487         (DeprecatedDOMWheelEvent::ctrlKey):
3488         (DeprecatedDOMWheelEvent::shiftKey):
3489         (DeprecatedDOMWheelEvent::altKey):
3490         (DeprecatedDOMWheelEvent::metaKey):
3491         (DeprecatedDOMWheelEvent::wheelDelta):
3492         (DeprecatedDOMWheelEvent::wheelDeltaX):
3493         (DeprecatedDOMWheelEvent::wheelDeltaY):
3494         (DeprecatedDOMWheelEvent::offsetX):
3495         (DeprecatedDOMWheelEvent::offsetY):
3496         (DeprecatedDOMWheelEvent::x):
3497         (DeprecatedDOMWheelEvent::y):
3498         (DeprecatedDOMWheelEvent::isHorizontal):
3499         (DeprecatedDOMWheelEvent::initWheelEvent):
3500         * DOMEventsClasses.h:
3501         (DeprecatedDOMEventListener::AddRef):
3502         (DeprecatedDOMEventListener::Release):
3503         (DeprecatedDOMEventListener::throwException):
3504         (DeprecatedDOMEventListener::callWebScriptMethod):
3505         (DeprecatedDOMEventListener::evaluateWebScript):
3506         (DeprecatedDOMEventListener::removeWebScriptKey):
3507         (DeprecatedDOMEventListener::stringRepresentation):
3508         (DeprecatedDOMEventListener::webScriptValueAtIndex):
3509         (DeprecatedDOMEventListener::setWebScriptValueAtIndex):
3510         (DeprecatedDOMEventListener::setException):
3511         (DeprecatedDOMEvent::AddRef):
3512         (DeprecatedDOMEvent::Release):
3513         (DeprecatedDOMEvent::throwException):
3514         (DeprecatedDOMEvent::callWebScriptMethod):
3515         (DeprecatedDOMEvent::evaluateWebScript):
3516         (DeprecatedDOMEvent::removeWebScriptKey):
3517         (DeprecatedDOMEvent::stringRepresentation):
3518         (DeprecatedDOMEvent::webScriptValueAtIndex):
3519         (DeprecatedDOMEvent::setWebScriptValueAtIndex):
3520         (DeprecatedDOMEvent::setException):
3521         (DeprecatedDOMUIEvent::DeprecatedDOMUIEvent):
3522         (DeprecatedDOMUIEvent::AddRef):
3523         (DeprecatedDOMUIEvent::Release):
3524         (DeprecatedDOMUIEvent::throwException):
3525         (DeprecatedDOMUIEvent::callWebScriptMethod):
3526         (DeprecatedDOMUIEvent::evaluateWebScript):
3527         (DeprecatedDOMUIEvent::removeWebScriptKey):
3528         (DeprecatedDOMUIEvent::stringRepresentation):
3529         (DeprecatedDOMUIEvent::webScriptValueAtIndex):
3530         (DeprecatedDOMUIEvent::setWebScriptValueAtIndex):
3531         (DeprecatedDOMUIEvent::setException):
3532         (DeprecatedDOMUIEvent::type):
3533         (DeprecatedDOMUIEvent::target):
3534         (DeprecatedDOMUIEvent::currentTarget):
3535         (DeprecatedDOMUIEvent::eventPhase):
3536         (DeprecatedDOMUIEvent::bubbles):
3537         (DeprecatedDOMUIEvent::cancelable):
3538         (DeprecatedDOMUIEvent::timeStamp):
3539         (DeprecatedDOMUIEvent::stopPropagation):
3540         (DeprecatedDOMUIEvent::preventDefault):
3541         (DeprecatedDOMUIEvent::initEvent):
3542         (DeprecatedDOMKeyboardEvent::DeprecatedDOMKeyboardEvent):
3543         (DeprecatedDOMKeyboardEvent::AddRef):
3544         (DeprecatedDOMKeyboardEvent::Release):
3545         (DeprecatedDOMKeyboardEvent::throwException):
3546         (DeprecatedDOMKeyboardEvent::callWebScriptMethod):
3547         (DeprecatedDOMKeyboardEvent::evaluateWebScript):
3548         (DeprecatedDOMKeyboardEvent::removeWebScriptKey):
3549         (DeprecatedDOMKeyboardEvent::stringRepresentation):
3550         (DeprecatedDOMKeyboardEvent::webScriptValueAtIndex):
3551         (DeprecatedDOMKeyboardEvent::setWebScriptValueAtIndex):
3552         (DeprecatedDOMKeyboardEvent::setException):
3553         (DeprecatedDOMKeyboardEvent::type):
3554         (DeprecatedDOMKeyboardEvent::target):
3555         (DeprecatedDOMKeyboardEvent::currentTarget):
3556         (DeprecatedDOMKeyboardEvent::eventPhase):
3557         (DeprecatedDOMKeyboardEvent::bubbles):
3558         (DeprecatedDOMKeyboardEvent::cancelable):
3559         (DeprecatedDOMKeyboardEvent::timeStamp):
3560         (DeprecatedDOMKeyboardEvent::stopPropagation):
3561         (DeprecatedDOMKeyboardEvent::preventDefault):
3562         (DeprecatedDOMKeyboardEvent::initEvent):
3563         (DeprecatedDOMKeyboardEvent::view):
3564         (DeprecatedDOMKeyboardEvent::detail):
3565         (DeprecatedDOMKeyboardEvent::initUIEvent):
3566         (DeprecatedDOMKeyboardEvent::keyCode):
3567         (DeprecatedDOMKeyboardEvent::charCode):
3568         (DeprecatedDOMKeyboardEvent::layerX):
3569         (DeprecatedDOMKeyboardEvent::layerY):
3570         (DeprecatedDOMKeyboardEvent::pageX):
3571         (DeprecatedDOMKeyboardEvent::pageY):
3572         (DeprecatedDOMKeyboardEvent::which):
3573         (DeprecatedDOMMouseEvent::DeprecatedDOMMouseEvent):
3574         (DeprecatedDOMMouseEvent::AddRef):
3575         (DeprecatedDOMMouseEvent::Release):
3576         (DeprecatedDOMMouseEvent::throwException):
3577         (DeprecatedDOMMouseEvent::callWebScriptMethod):
3578         (DeprecatedDOMMouseEvent::evaluateWebScript):
3579         (DeprecatedDOMMouseEvent::removeWebScriptKey):
3580         (DeprecatedDOMMouseEvent::stringRepresentation):
3581         (DeprecatedDOMMouseEvent::webScriptValueAtIndex):
3582         (DeprecatedDOMMouseEvent::setWebScriptValueAtIndex):
3583         (DeprecatedDOMMouseEvent::setException):
3584         (DeprecatedDOMMouseEvent::type):
3585         (DeprecatedDOMMouseEvent::target):
3586         (DeprecatedDOMMouseEvent::currentTarget):
3587         (DeprecatedDOMMouseEvent::eventPhase):
3588         (DeprecatedDOMMouseEvent::bubbles):
3589         (DeprecatedDOMMouseEvent::cancelable):
3590         (DeprecatedDOMMouseEvent::timeStamp):
3591         (DeprecatedDOMMouseEvent::stopPropagation):
3592         (DeprecatedDOMMouseEvent::preventDefault):
3593         (DeprecatedDOMMouseEvent::initEvent):
3594         (DeprecatedDOMMouseEvent::view):
3595         (DeprecatedDOMMouseEvent::detail):
3596         (DeprecatedDOMMouseEvent::initUIEvent):
3597         (DeprecatedDOMMouseEvent::keyCode):
3598         (DeprecatedDOMMouseEvent::charCode):
3599         (DeprecatedDOMMouseEvent::layerX):
3600         (DeprecatedDOMMouseEvent::layerY):
3601         (DeprecatedDOMMouseEvent::pageX):
3602         (DeprecatedDOMMouseEvent::pageY):
3603         (DeprecatedDOMMouseEvent::which):
3604         (DeprecatedDOMMutationEvent::DeprecatedDOMMutationEvent):
3605         (DeprecatedDOMMutationEvent::AddRef):