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