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