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