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