2008-06-15 Maciej Stachowiak <mjs@apple.com>
[WebKit.git] / WebKit / win / ChangeLog
1 2008-06-15  Maciej Stachowiak  <mjs@apple.com>
2
3         Rubber stamped by Oliver.
4         
5         - fix WebKit solution for testkjs --> jsc rename
6
7         * WebKit.vcproj/WebKit.sln:
8
9 2008-06-14  Darin Adler  <darin@apple.com>
10
11         Rubber stamped by Sam.
12
13         - new names for kjs_binding.h and kjs_proxy.h
14
15         * WebFrame.cpp:
16
17 2008-06-14  Darin Adler  <darin@apple.com>
18
19         Rubber stamped by Sam.
20
21         - renamed HTMLGenericFormElement to HTMLFormControlElement
22
23         * WebFrame.cpp:
24         (WebFrame::elementWithName):
25         (WebFrame::controlsInForm):
26
27 2008-06-14  Darin Adler  <darin@apple.com>
28
29         - try to fix Windows build, again
30
31         * WebFrame.cpp:
32         (WebFrame::dispatchDecidePolicyForNewWindowAction): Fix arguments. Pass form.
33         (WebFrame::dispatchDecidePolicyForNavigationAction): Ditto.
34         * WebFrame.h: Fix arguments.
35
36 2008-06-14  Darin Adler  <darin@apple.com>
37
38         - try to fix Windows build
39
40         * WebActionPropertyBag.cpp:
41         (WebActionPropertyBag::Read): Use IDOMNode, not IHTMLFormElement.
42         * WebFrame.h: Added missing FormState arguments.
43         * WebScrollBar.cpp:
44         (WebScrollBar::init): Use create instead of new.
45
46 2008-06-14  Darin Adler  <darin@apple.com>
47
48         Reviewed by Sam.
49
50         - more of https://bugs.webkit.org/show_bug.cgi?id=17257
51           start ref counts at 1 instead of 0 for speed
52
53         * WebCoreSupport/WebFrameLoaderClient.cpp:
54         (WebFrameLoaderClient::createFrame): Remove now-obsolete adoptRef that was balanced by
55         a ref call inside the Frame constructor. The lifetime rules for Frame are now the
56         conventional ones without a special case.
57
58         * WebFrame.cpp:
59         (WebFrame::init): Renamed function from initWithWebFrameView and removed the unused
60         IWebFrameView argument (every caller was passing 0). Also changed this to return the
61         WebCore Frame object, which is needed to straighten out the lifetime and ownership
62         issues.
63         * WebFrame.h: Ditto.
64
65         * WebView.cpp:
66         (WebView::initWithFrame): Changed to call new init function and use the return value.
67
68 2008-06-13  Darin Adler  <darin@apple.com>
69
70         Reviewed by John Sullivan.
71
72         - updated for addition of FormState argument to action policy functions
73         - added WebActionFormKey
74
75         * Interfaces/IWebPolicyDelegate.idl:
76         * WebActionPropertyBag.cpp:
77         (WebActionPropertyBag::WebActionPropertyBag):
78         (WebActionPropertyBag::createInstance):
79         (WebActionPropertyBag::AddRef):
80         (WebActionPropertyBag::Release):
81         (WebActionPropertyBag::Read):
82         * WebActionPropertyBag.h:
83         * WebFrame.cpp:
84         (WebFrame::dispatchDecidePolicyForNewWindowAction):
85         (WebFrame::dispatchDecidePolicyForNavigationAction):
86
87 2008-06-07  Darin Adler  <darin@apple.com>
88
89         Reviewed by Mitz.
90
91         - work on https://bugs.webkit.org/show_bug.cgi?id=17257
92           start ref counts at 1 instead of 0 for speed
93
94         * WebHistoryItem.cpp:
95         (WebHistoryItem::createInstance):
96         (WebHistoryItem::initFromDictionaryRepresentation):
97         (WebHistoryItem::initWithURLString):
98
99 2008-05-30  Steve Falkenburg  <sfalken@apple.com>
100
101         Registry-free COM.        
102         
103         WebKit no longer requires COM registration.
104         Registry-free COM information is read from the application manifest.
105
106         Only 1 set of CLSIDs are now used, since we don't need to worry about registry collisions.
107         The second set remains, but only temporarily so nightlies continue to work.
108
109         This is supported for XPSP2 and later.  Earlier systems require an installer
110         to write the required registry keys.  Nightlies and developer builds require
111         XPSP2, Server 2003, or later.
112
113         Reviewed by Adam.
114
115         * ForEachCoClass.cpp: Moved COM registration code here from WebKitDLL.cpp. This is ONLY used in the nightly case.
116         (substituteGUID): Moved here from WebKitDLL.cpp.
117         (registerWebKit): Moved here from WebKitDLL.cpp.
118         (setUseOpenSourceWebKit): Call registerWebKit instead of swapping progids. There is only 1 set of progids now - for the nightly.
119         * ForEachCoClass.h: Removed production progids. 
120         * Interfaces/WebKit.idl: Added prototype for shutDownWebKit.
121         * WebKit.vcproj/Interfaces.vcproj: Changed path to type library to move it out of project directory.
122         * WebKit.vcproj/WebKit.vcproj: Changed path to type library to move it out of project directory.
123         * WebKitDLL.cpp:
124         (DllUnregisterServer): Does nothing. Entry point is still present for backward compatibility.
125         (DllRegisterServer): Does nothing. Entry point is still present for backward compatibility.
126         (RunAsLocalServer): Does nothing. Entry point is still present for backward compatibility.
127         (shutDownWebKit): Moved from ForEachCoClass.
128         * WebKitDLL.h:
129
130 2008-05-29  Anders Carlsson  <andersca@apple.com>
131
132         Reviewed by Brady.
133
134         <rdar://problem/5970312> 
135         icon file specified for stand alone web app causes crash if the icon can't be found
136         
137         Handle the case where iconData is null.
138
139         * WebIconFetcher.cpp:
140         (WebIconFetcherClient::finishedFetchingIcon):
141
142 2008-05-22  Anders Carlsson  <andersca@apple.com>
143
144         Reviewed by Adam.
145
146         Add IWebIconFetcher interface and implementation.
147         
148         * Interfaces/IWebFramePrivate.idl:
149         * Interfaces/IWebIconFetcher.idl: Added.
150         * Interfaces/WebKit.idl:
151         * WebFrame.cpp:
152         * WebFrame.h:
153         * WebIconFetcher.cpp: Added.
154         * WebIconFetcher.h: Added.
155         * WebKit.vcproj/WebKit.vcproj:
156
157 2008-05-22  Adam Roben  <aroben@apple.com>
158
159         Add functions to IWebInspector to start/stop profiling/debugging
160
161         <rdar://5956403>
162
163         Reviewed by Jon Honeycutt.
164
165         * Interfaces/IWebInspector.idl:
166         * WebInspector.cpp:
167         (WebInspector::isDebuggingJavaScript):
168         (WebInspector::toggleDebuggingJavaScript):
169         (WebInspector::isProfilingJavaScript):
170         (WebInspector::toggleProfilingJavaScript):
171         * WebInspector.h:
172
173 2008-05-22  Steve Falkenburg  <sfalken@apple.com>
174
175         Build fix.
176
177         * Interfaces/IWebInspector.idl:
178         * Interfaces/WebKit.idl:
179         * WebInspector.cpp:
180         (WebInspector::unused1):
181         * WebInspector.h:
182
183 2008-05-22  Timothy Hatcher  <timothy@apple.com>
184
185         Changes to keep Windows building.
186
187         <rdar://problem/5956403> Update the Develop menu to match the new Inspector items
188
189         Reviewed by Adam Roben.
190
191         * English.lproj/Localizable.strings: Added new strings.
192         * WebInspector.cpp:
193         (WebInspector::showConsole): Call showPanel.
194         * WebInspector.h:
195
196 2008-05-21  Adele Peterson  <adele@apple.com>
197
198         Reviewed by Adam.
199
200         WebKit part of for <rdar://problem/5787733> fast/dom/HTMLDocument/hasFocus.html fails on Windows
201         
202         * WebCoreSupport/WebChromeClient.cpp:
203         (WebChromeClient::focus): Call updateActiveState directly.
204          Normally this would happen on a timer, but JS might need to know this earlier, so we'll update here.        
205         (WebChromeClient::unfocus): ditto.
206         * WebView.cpp: (WebView::updateActiveStateSoon): Added comment about why we use a timer for this.
207
208 === End merge of squirrelfish ===
209
210 2008-05-13  Geoffrey Garen  <ggaren@apple.com>
211
212         Reviewed by Oliver Hunt.
213         
214         Updated for new JS debugging APIs.
215
216         * WebScriptDebugServer.cpp:
217         (WebScriptDebugServer::didParseSource):
218         (WebScriptDebugServer::failedToParseSource):
219         * WebScriptDebugServer.h:
220
221 2008-05-09  Oliver Hunt  <oliver@apple.com>
222
223         Reviewed by Geoff.
224
225         Build fixes for SquirrelFish on windows.
226
227         * WebScriptCallFrame.cpp:
228         (callingFunctionOrGlobalExecState):
229         (WebScriptCallFrame::caller):
230         (WebScriptCallFrame::functionName):
231         (WebScriptCallFrame::variableNames):
232         (WebScriptCallFrame::valueForVariable):
233         (WebScriptCallFrame::valueByEvaluatingJavaScriptFromString):
234         * WebScriptDebugServer.cpp:
235         (WebScriptDebugServer::willLeaveCallFrame):
236
237 2008-05-19  Adam Roben  <aroben@apple.com>
238
239         Make WebKit.idl rebuild whenever any of its included interfaces are
240         changed
241
242         Reviewed by Tim Hatcher.
243
244         * WebKit.vcproj/DerivedSources.make: Touch WebKit.idl whenever any
245         other IDL file is changed. This will force VS to rebuild WebKit.idl.
246
247 2008-05-19  Anders Carlsson  <andersca@apple.com>
248
249         Reviewed by Adam.
250
251         <rdar://problem/5946454>
252         Support navigator.onLine from HTML5.
253         
254         Link with iphlpapi.lib, and make iphlpapi.dll a delay loaded library.
255         
256         * WebKit.vcproj/WebKit.vcproj:
257
258 === Start merge of squirrelfish ===
259
260 2008-05-19  Anders Carlsson  <andersca@apple.com>
261
262         Reviewed by Darin, Alexey, Jess and Brady.
263
264         Set the application cache path.
265         
266         * WebView.cpp:
267         (WebKitSetApplicationCachePathIfNecessary):
268         New function that sets the cache path.
269         
270         (WebView::initWithFrame):
271         Set the application cache path.
272         
273 2008-05-19  Ada Chan  <adachan@apple.com>
274
275         Added IWebCookieManager interface which allows client to set the
276         CFHTTPCookieStorageRef that WebCore should use.
277         
278         Implement IWebCookieManager interface in WebCookieManager.
279         
280         Update the cookie accept policy in the current cookie storage.
281
282         Reviewed by Steve Falkenburg.
283
284         * ForEachCoClass.h:
285         * Interfaces/IWebCookieManager.idl: Added.
286         * Interfaces/WebKit.idl:
287         * WebCookieManager.cpp: Added.
288         (WebCookieManager::createInstance):
289         (WebCookieManager::WebCookieManager):
290         (WebCookieManager::~WebCookieManager):
291         (WebCookieManager::QueryInterface):
292         (WebCookieManager::AddRef):
293         (WebCookieManager::Release):
294         (WebCookieManager::cookieStorage):
295         (WebCookieManager::setCookieStorage):
296         * WebCookieManager.h: Added.
297         * WebKit.vcproj/WebKit.vcproj:
298         * WebKitClassFactory.cpp:
299         * WebView.cpp:
300         (updateSharedSettingsFromPreferencesIfNeeded):
301
302 2008-05-16  Stephanie Lewis  <slewis@apple.com>
303
304         Reviewed by Steve.
305
306         Get pending unload event count from WebCore.
307
308         * Interfaces/IWebFramePrivate.idl:
309         * WebFrame.cpp:
310         (WebFrame::pendingFrameUnloadEventCount):
311         * WebFrame.h:
312
313 2008-05-16  Matt Lilek  <webkit@mattlilek.com>
314
315         Rubber stamped by Oliver.
316
317         Remove the Drosera sub-project.
318
319         * WebKit.vcproj/WebKit.sln:
320
321 2008-05-16  Brady Eidson  <beidson@apple.com>
322
323         Reviewed by Steve Falkenburg
324         
325         <rdar://problem/5942624> - Get LocalStorage persistence working on Windows
326         
327         * WebPreferenceKeysPrivate.h: Add the LocalStorageDirectory defaults key
328         
329         * WebPreferences.cpp:
330         (WebPreferences::initializeDefaultSettings):
331         (WebPreferences::localStorageDatabasePath):
332         (WebPreferences::setLocalStorageDatabasePath):
333         * WebPreferences.h:
334         * Interfaces/IWebPreferencesPrivate.idl:
335
336         * WebView.cpp:
337         (WebView::initWithFrame): Set the path in the WebCore::Settings after new Page creation
338
339 2008-05-06  Brady Eidson  <beidson@apple.com>
340
341         Reviewed by Tim Hatcher
342
343         Until the settings/preferences equation can be reworked, we'll need to manually set the local storage path
344         before setting the page group of the new page.
345
346         Since I still need to add the local storage path to WebPreferences on Windows, mark this with a FIXME for now.
347
348         * WebView.cpp:
349         (WebView::initWithFrame): Mark an important FIXME for setting the LocalStorage path as
350           appropriate.  Until this FIXME is handled, Windows will have no persistent LocalStorage
351
352 2008-05-14  Adam Roben  <aroben@apple.com>
353
354         Fix Bug 18767: Inspector is currently pretty much useless on Windows
355
356         <https://bugs.webkit.org/show_bug.cgi?id=18767>
357
358         Reviewed by Tim Hatcher.
359
360         * WebCoreSupport/WebInspectorClient.cpp:
361         (WebInspectorClient::highlight): Only move the highlight behind the
362         Inspector window when first creating the highlight, not every time we
363         update it.
364
365 2008-05-13  Adam Roben  <aroben@apple.com>
366
367         Neuter WebScriptDebugServer
368
369         Some upcoming changes to JavaScriptDebugServer and
370         JavaScriptDebugListener will break WebScriptDebugServer. Since Drosera
371         is being replaced by the Inspector's debugger, and Drosera is the only
372         client of WebScriptDebugServer, it makes more sense to get rid of
373         WebScriptDebugServer than to update it to keep it working.
374
375         We can't actually remove WebScriptDebugServer entirely yet, so I've
376         just made it non-functional. This will completely break Drosera, but
377         as stated above, Drosera's days are numbered anyway.
378
379         Reviewed by Tim Hatcher and Kevin McCullough.
380
381         * WebCoreSupport/WebFrameLoaderClient.cpp:
382         (WebFrameLoaderClient::dispatchDidLoadMainResource): Removed all code
383         in this function.
384         * WebKitDLL.cpp:
385         (LocalServerDidDie): Ditto.
386         * WebScriptDebugServer.cpp: Made all IWebScriptDebugServer functions
387         return E_NOTIMPL.
388         * WebScriptDebugServer.h: Removed everything but the
389         IWebScriptDebugServer functions.
390
391 2008-05-12  Dan Bernstein  <mitz@apple.com>
392
393         - build fix
394
395         * Interfaces/WebKit.idl: Touched.
396
397 2008-05-12  Dan Bernstein  <mitz@apple.com>
398
399         Reviewed by Ada Chan.
400
401         - WebKit/win changes for https://bugs.webkit.org/show_bug.cgi?id=17097
402           <rdar://problem/5715471> CGFontRefs (and HFONTs on Windows) leak because FontCache grows without bound
403
404         Added font cache statistics and a function to purge inactive font data.
405
406         * Interfaces/IWebCoreStatistics.idl:
407         * WebCoreStatistics.cpp:
408         (WebCoreStatistics::cachedFontDataCount):
409         (WebCoreStatistics::cachedFontDataInactiveCount):
410         (WebCoreStatistics::purgeInactiveFontData):
411         (WebCoreStatistics::glyphPageCount):
412         * WebCoreStatistics.h:
413
414 2008-05-12  Adam Roben  <aroben@apple.com>
415
416         Build fix
417
418         * WebKitPrefix.cpp: Touch this so that it will rebuild after
419         ENABLE_CROSS_DOCUMENT_MESSAGING was removed.
420
421 2008-05-12  Alexey Proskuryakov  <ap@webkit.org>
422
423         Roll out recent  threading changes (r32807, r32810, r32819, r32822) to simplify
424         SquirrelFish merging.
425
426         * WebCoreStatistics.cpp:
427         (WebCoreStatistics::javaScriptObjectsCount):
428         (WebCoreStatistics::javaScriptGlobalObjectsCount):
429         (WebCoreStatistics::javaScriptProtectedObjectsCount):
430         (WebCoreStatistics::javaScriptProtectedGlobalObjectsCount):
431         * WebJavaScriptCollector.cpp:
432         (WebJavaScriptCollector::objectCount):
433         * WebScriptCallFrame.cpp:
434         (WebScriptCallFrame::valueByEvaluatingJavaScriptFromString):
435
436 2008-05-09  Brady Eidson  <beidson@apple.com>
437
438         Reviewed by Adam Roben
439
440         Fix a hang-on-quit bug where in the DLL_PROCESS_DETACH DllMain callback, we assummed that
441         we could cleanly shutdown WebKit but we couldn't because any background threads have already
442         been uncleanly aborted at that point.
443         
444         * ForEachCoClass.cpp:
445         (shutDownWebKit): Moved from WebKitDLL to here, to be exposed via WebKit.def
446         * ForEachCoClass.h:
447         
448         * WebKit.vcproj/WebKit.def:
449         * WebKit.vcproj/WebKit_debug.def:
450         
451         * WebKitDLL.cpp:
452         (DllMain): Don't call shutDownWebKit here
453
454 2008-05-09  Sam Weinig  <sam@webkit.org>
455
456         Rubber-stamped by Mark Rowe.
457
458         Remove the ENABLE_CROSS_DOCUMENT_MESSAGING #ifdefs.
459
460         * WebKit.vcproj/WebKit.vcproj:
461
462 2008-05-09  Adam Roben  <aroben@apple.com>
463
464         Build fix
465
466         * Interfaces/WebKit.idl: Touched.
467
468 2008-05-06  Alice Liu  <alice.liu@apple.com>
469
470         Reviewed by Adele Peterson and John Sullivan.
471
472         changes needed to build on Windows after r32911 and r32927
473
474         * AccessibleBase.cpp:
475         (AccessibleBase::get_accParent):
476         * AccessibleDocument.cpp:
477         (AccessibleDocument::document):
478
479 2008-05-06  Brady Eidson  <beidson@apple.com>
480
481         Reviewed by Darin Adler
482
483         Preparation for upcoming work making LocalStorage persistent.
484
485         When the application terminates, all LocalStorage areas must be sync'ed out to disk first.
486
487         * WebKitDLL.cpp:
488         (shutDownWebKit): Close all LocalStorage areas before quitting.
489
490 2008-05-05  Anders Carlsson  <andersca@apple.com>
491
492         Reviewed by John.
493
494         Add preference for enabling the offline web application cache.
495         
496         * Interfaces/IWebPreferencesPrivate.idl:
497         * WebPreferenceKeysPrivate.h:
498         * WebPreferences.cpp:
499         (WebPreferences::initializeDefaultSettings):
500         (WebPreferences::setOfflineWebApplicationCacheEnabled):
501         (WebPreferences::offlineWebApplicationCacheEnabled):
502         * WebPreferences.h:
503         * WebView.cpp:
504         (WebView::notifyPreferencesChanged):
505
506 2008-05-05  Sam Weinig  <sam@webkit.org>
507
508         Reviewed by Tim Hatcher.
509
510         Make the Inspector's localizable strings file match the format used by Dashboard widgets.
511
512         * WebCoreSupport/WebInspectorClient.cpp:
513         (WebInspectorClient::localizedStringsURL):
514
515 2008-05-05  Steve Falkenburg  <sfalken@apple.com>
516
517         Add WebPreference for application chrome mode.
518         
519         Reviewed by Dave Hyatt.
520
521         * Interfaces/IWebPreferencesPrivate.idl:
522         * WebPreferenceKeysPrivate.h:
523         * WebPreferences.cpp:
524         (WebPreferences::initializeDefaultSettings):
525         (WebPreferences::inApplicationChromeMode):
526         (WebPreferences::setApplicationChromeMode):
527         * WebPreferences.h:
528         * WebView.cpp:
529         (WebView::notifyPreferencesChanged):
530
531 2008-05-02  Alexey Proskuryakov  <ap@webkit.org>
532
533         Reviewed by Geoffrey Garen.
534
535         https://bugs.webkit.org/show_bug.cgi?id=18826
536         Make JavaScript heap per-thread
537
538         * WebCoreStatistics.cpp:
539         (WebCoreStatistics::javaScriptObjectsCount):
540         (WebCoreStatistics::javaScriptGlobalObjectsCount):
541         (WebCoreStatistics::javaScriptProtectedObjectsCount):
542         (WebCoreStatistics::javaScriptProtectedGlobalObjectsCount):
543         * WebJavaScriptCollector.cpp:
544         (WebJavaScriptCollector::objectCount):
545         * WebScriptCallFrame.cpp:
546         (WebScriptCallFrame::valueByEvaluatingJavaScriptFromString):
547         Replaced static Collector calls with calls to a current thread's instance. Pass ExecState to jsString().
548
549 2008-04-29  Ada Chan  <adachan@apple.com>
550
551         Support text shadow in WebDrawText().
552         Remove DrawTextAtPoint() since it is only called by WebDrawText().
553
554         Reviewed by Adam.
555
556         * WebKit.vcproj/WebKit.def:
557         * WebKit.vcproj/WebKit_debug.def:
558         * WebKitGraphics.cpp:
559         (WebDrawText):
560         * WebKitGraphics.h:
561
562 2008-04-29  Adam Roben  <aroben@apple.com>
563
564         Restore the beloved COMPtr::operator&
565
566 2008-04-29  Adam Roben  <aroben@apple.com>
567
568         Windows build fix
569
570         Replaced uses of COMPtr::operator& with COMPtr::adoptionPointer.
571
572 2008-04-29  Adam Roben  <aroben@apple.com>
573
574         Fix a Windows build error
575
576         * WebScriptCallFrame.cpp:
577         (WebScriptCallFrame::variableNames): Don't use ::adopt now that
578         PropertyNameArray has no swap function.
579
580 2008-04-28  Adam Roben  <aroben@apple.com>
581
582         Fix some Windows build errors in WebKit
583
584         * Interfaces/WebKit.idl: Touched to force Interfaces to rebuild.
585         * WebKitPrefix.cpp: Touched to force WebKit to rebuild.
586
587 2008-04-25  Alexey Proskuryakov  <ap@webkit.org>
588
589         Reviewed by Darin.
590
591         Fix run-webkit-tests --threading
592         and provisionally fix <https://bugs.webkit.org/show_bug.cgi?id=18661>
593         Proxy server issue in Sunday's Nightly
594
595         * WebView.cpp: (WebView::WebView): Initialize threading. Previously, this was only done from
596         icon database code, which is not robust enough.
597
598 2008-04-26  Adam Barth <hk9565@gmail.com>
599
600         Reviewed by Adam Roben and Sam Weinig.
601
602         Renamed "domain" method to "host" to match SecurityOrigin.
603
604         * Interfaces/IWebSecurityOrigin.idl:
605         * WebSecurityOrigin.cpp:
606         (WebSecurityOrigin::host):
607         * WebSecurityOrigin.h:
608
609 2008-04-25  Anders Carlsson  <andersca@apple.com>
610
611         Reviewed by Adam.
612
613         Fix internal debug build.
614         
615         * WebKit.vcproj/WebKit.vcproj:
616
617 2008-04-24  Dan Bernstein  <mitz@apple.com>
618
619         - build fix
620
621         * WebView.cpp:
622         (WebView::handleContextMenuEvent):
623
624 2008-04-24  Brady Eidson  <beidson@apple.com>
625
626         Reviewed by Darin
627
628         Revert my previous change to WebKit/Win until I can make it act more like the new Mac code
629
630         * WebView.cpp:
631         (WebView::initWithFrame):
632
633 2008-04-24  Anders Carlsson  <andersca@apple.com>
634
635         Reviewed by Sam.
636
637         Change some String arguments to be const references instead.
638
639         * WebCoreSupport/WebEditorClient.cpp:
640         (WebEditorClient::shouldInsertText):
641         * WebCoreSupport/WebEditorClient.h:
642
643 2008-04-23  Brady Eidson  <beidson@apple.com>
644
645         Reviewed by Sam Weinig
646
647         In some current work I noticed that when a new Page is created, it is possible that it requires info from its Settings
648         object before the Settings object is initialized.  It seems quite prudent to post the preferences changed notification,
649         thereby populating the Settings object, immediately after the Page is created.
650
651         * WebView.cpp:
652         (WebView::initWithFrame): Post the notification right after the Page is created
653
654 2008-04-23  Jon Honeycutt  <jhoneycutt@apple.com>
655
656         Reviewed by Brady.
657
658         Implement accDoDefaultAction().
659
660         * AccessibleBase.cpp:
661         (AccessibleBase::accDoDefaultAction): Call the object's
662         performDefaultAction() method. Return S_FALSE if the call returns false,
663         indicating that the object has no default action associated with it.
664
665 2008-04-23  Jon Honeycutt  <jhoneycutt@apple.com>
666
667         Reviewed by Adam.
668
669         Implement accHitTest().
670
671         * AccessibleBase.cpp:
672         (AccessibleBase::accHitTest): Perform a hit test for a child object. If
673         none is found, report whether the point was within our own bounding box.
674
675 2008-04-23  Jon Honeycutt  <jhoneycutt@apple.com>
676
677         Reviewed by Adam and Darin.
678
679         Implement accNavigate().
680
681         * AccessibleBase.cpp:
682         (AccessibleBase::accNavigate): This method navigates between elements,
683         given a start point and a direction. The directions UP, DOWN, LEFT,
684         RIGHT are not are not implemented, matching Mozilla and IE. The
685         directions FIRSTCHILD and LASTCHILD are only allowed from self. NEXT and
686         PREVIOUS are allowed from self or any of our children.
687
688 2008-04-23  Jon Honeycutt  <jhoneycutt@apple.com>
689
690         Reviewed by Adam.
691
692         Implement accLocation().
693
694         * AccessibleBase.cpp:
695         (AccessibleBase::accLocation): Report the screen coordinates for the
696         object's bounding box.
697
698 2008-04-23  Jon Honeycutt  <jhoneycutt@apple.com>
699
700         Reviewed by Adam, Darin, Oliver.
701
702         Implement get_accDefaultAction().
703
704         * AccessibleBase.cpp:
705         (AccessibleBase::get_accDefaultAction): Report the result of calling the
706         object's actionVerb method.
707         * English.lproj/Localizable.strings: Updated with new strings.
708         * WebCoreLocalizedStrings.cpp: 
709         (WebCore::AXButtonActionVerb): Return a localized string representing
710         the object's default action.
711         (WebCore::AXRadioButtonActionVerb): Same.
712         (WebCore::AXTextFieldActionVerb): Same.
713         (WebCore::AXCheckedCheckBoxActionVerb): Same
714         (WebCore::AXUncheckedCheckBoxActionVerb): Same.
715         (WebCore::AXLinkActionVerb): Same.
716
717 2008-04-23  Daniel Zucker  <zucker@wake3.com>
718
719         Reviewed by Adam Roben.
720
721         <https://bugs.webkit.org/show_bug.cgi?id=18468>
722
723         * WebError.h:  include RetainPtr.h to fix build errors in Cairo build
724
725 2008-04-23  Daniel Zucker  <zucker@wake3.com>
726
727         Reviewed by Adam Roben.
728
729         Move the location of #if USE(CFNETWORK) to fix a cairo/curl build error.
730         <https://bugs.webkit.org/show_bug.cgi?id=18470>
731
732         * WebError.cpp:
733         (WebError::sslPeerCertificate):
734
735 2008-04-22  Jon Honeycutt  <jhoneycutt@apple.com>
736
737         Reviewed by Adam.
738
739         Implement get_accFocus().
740
741         * AccessibleBase.cpp:
742         (AccessibleBase::get_accRole): Remove redundant initialization;
743         VariantInit does this.
744         (AccessibleBase::get_accState): Same.
745         (AccessibleBase::get_accSelection): Relocated next to accSelect().
746         (AccessibleBase::get_accFocus): If the focused object is this object or
747         a child of this object, report it. Otherwise, report VT_EMPTY.
748
749 2008-04-22  Jon Honeycutt  <jhoneycutt@apple.com>
750
751         Reviewed by Sam.
752
753         Implement get_accKeyboardShortcut().
754
755         * AccessibleBase.cpp:
756         (AccessibleBase::get_accKeyboardShortcut): Report the key combination
757         that will perform the object's access key action, represented as a
758         string.
759
760 2008-04-19  Jon Honeycutt  <jhoneycutt@apple.com>
761
762         Reviewed by Darin.
763
764         Implement get_accHelp().
765
766         * AccessibleBase.cpp:
767         (AccessibleBase::get_accHelp): Report the result of calling the object's
768         helpText() method.
769
770 2008-04-19  Jon Honeycutt  <jhoneycutt@apple.com>
771
772         Reviewed by Darin.
773
774         Implement get_accState().
775
776         * AccessibleBase.cpp:
777         (AccessibleBase::get_accState):
778
779 2008-04-21  Alexey Proskuryakov  <ap@webkit.org>
780
781         Reviewed by Darin.
782
783         Move collector main thread initialization from WebKit/win to KJS::initializeThreading.
784
785         * WebView.cpp:
786         (WebView::WebView):
787
788 2008-04-18  Jon Honeycutt  <jhoneycutt@apple.com>
789
790         Reviewed by Darin.
791
792         Implement get_accRole().
793
794         * AccessibleBase.cpp:
795         (AccessibleBase::get_accRole): Report the result of role().
796         (MSAARole): Added; returns the MSAA role for a WebCore role.
797         (AccessibleBase::role): Return the MSAA role for the object's roleValue.
798         * AccessibleBase.h: Add declaration for role().
799
800 2008-04-18  Jon Honeycutt  <jhoneycutt@apple.com>
801
802         Reviewed by Darin.
803
804         Implement get_accName(), get_accValue(), get_accDescription(). Added
805         virtual methods that accessible objects can override to customize the
806         result.
807
808         * AccessibleBase.cpp:
809         (AccessibleBase::get_accName): Report result of name().
810         (AccessibleBase::get_accValue): Report result of value().
811         (AccessibleBase::get_accDescription): Report result of description().
812         (AccessibleBase::name): Added; returns AccessibilityObject::title().
813         (AccessibleBase::value): Added; returns
814         AccessibilityObject::stringValue().
815         (AccessibleBase::description): Added; returns
816         AccessibilityObject::accessibilityDescription().
817         * AccessibleBase.h: Added declarations for name(), value(), and
818         description().
819         * ChangeLog: Fix my misuse of "definition."
820
821 2008-04-18  Jon Honeycutt  <jhoneycutt@apple.com>
822
823         Fix build after r32231.
824
825         * WebFrame.cpp:
826         (WebFrame::renderTreeAsExternalRepresentation): renderer() ->
827         contentRenderer()
828
829 2008-04-18  Jon Honeycutt  <jhoneycutt@apple.com>
830
831         Fix build after r32231.
832
833         * WebView.cpp:
834         (WebView::paintIntoBackingStore): renderer() -> contentRenderer()
835         (WebView::elementAtPoint): Same.
836
837 2008-04-18  Jon Honeycutt  <jhoneycutt@apple.com>
838
839         * AccessibleBase.cpp: Build fix for copy/paste error.
840
841 2008-04-18  Jon Honeycutt  <jhoneycutt@apple.com>
842
843         Reviewed by Darin.
844
845         Implement IAccessible::get_accChild().
846
847         * AccessibleBase.cpp:
848         (AccessibleBase::get_accChild): Call getAccessibilityObjectForChild
849         to find the AccessibilityObject for the VARIANT vChild. Get the
850         AccessibilityObjectWrapper for the child, add a ref, and pass it back.
851         (AccessibleBase::getAccessibilityObjectForChild): Added; finds the
852         AccessibilityObject referred to by a VARIANT, or returns a COM error on
853         failure.
854         (AccessibleBase::wrapper): Added; returns the wrapper for the
855         AccessibilityObject. Creates one if necessary.
856         * AccessibleBase.h: Added declarations for wrapper() and
857         getAccessibilityObjectForChild().
858
859 2008-04-18  Jon Honeycutt  <jhoneycutt@apple.com>
860
861         Reviewed by Darin, Ollie. 
862
863         * AccessibleBase.cpp:
864         (AccessibleBase::get_accChildCount): Implement get_accChildCount.
865
866 2008-04-17  Jon Honeycutt  <jhoneycutt@apple.com>
867
868         Reviewed by Darin.
869
870         Implement IAccessible::get_accParent(). 
871
872         * AccessibleBase.cpp:
873         (AccessibleBase::get_accParent): Call AccessibleObjectFromWindow with
874         OBJID_WINDOW. This will be handled by Windows to return the default
875         accessible object for the WebView, because we only handle OBJID_CLIENT.
876         * WebView.cpp:
877         (WebView::AccessibleObjectFromWindow): Added; calls through to the
878         AccessibleObjectFromWindow in the MSAA DLL.
879         * WebView.h: Added declaration for AccessibleObjectFromWindow.
880
881 2008-04-17  Jon Honeycutt  <jhoneycutt@apple.com>
882
883         Reviewed by Darin.
884
885         Return an AccessibleDocument when our root accessible object is queried
886         for.
887
888         * AccessibleDocument.cpp: Added; represents an AccessibilityObject that
889         itself represents a Document.
890         (AccessibleDocument::AccessibleDocument): Initialize AccessibleBase with
891         the AccessibilityObject for this Document.
892         * AccessibleDocument.h: Added.
893         * WebFrame.cpp:
894         (WebFrame::accessible): If m_accessible is 0, or if Document in this
895         frame does not match the Document in the cached m_accessible object,
896         create a new AccessibleDocument for this frame's Document.
897         * WebFrame.h: Swap AccessibleBase.h for AccessibleDocument.h
898         * WebKit.vcproj/WebKit.vcproj: Add AccessibleDocument.{h,cpp}
899
900 2008-04-17  Jon Honeycutt  <jhoneycutt@apple.com>
901
902         Reviewed by Darin.
903
904         Respond to WM_GETOBJECT messages. Currently returns NULL.
905
906         * WebFrame.cpp:
907         (WebFrame::accessible): Added; will return the root accessible object
908         for this frame.
909         * WebFrame.h: Added declaration for accessible().
910         * WebView.cpp:
911         (WebViewWndProc): Handle WM_GETOBJECT messages by calling onGetObject().
912         (WebView::onGetObject): Added; enables the AXObjectCache in WebCore,
913         queries the top-level frame for its root accessible object, and loads
914         the MSAA DLL and locates its LresultFromObject function. If calling
915         LresultFromObject succeeds, it returns a reference to the accessible
916         object to pass back to Windows. If not, we return false and let Windows
917         handle the request through DefWindowProc.
918         * WebView.h: Added declaration for onGetObject().
919
920 2008-04-18  Brady Eidson  <beidson@apple.com>
921
922         Reviewed by Sam Weinig
923
924         Don't clear the PageGroup on _close, as the WebCore::Page destructor already does this.
925         No reason to do the work twice...
926
927         * WebView.cpp:
928         (WebView::close):
929
930 2008-04-18  Adam Roben  <aroben@apple.com>
931
932         Update WebScriptDebugServer for JavaScriptDebugListener changes
933
934         Reviewed by Tim Hatcher.
935
936         * WebScriptDebugServer.cpp: Changed to use KJS::UString instead of
937         WebCore::String.
938         * WebScriptDebugServer.h: Ditto.
939
940 2008-04-16  Jon Honeycutt  <jhoneycutt@apple.com>
941
942         Reviewed by Darin.
943
944         Add a base AccessibilityObject wrapper class. Currently just stubs all
945         of the IAccessible methods.
946
947         * AccessibleBase.cpp: Added. Implements IAccessible, and inherits from
948         WebCore::AccessibilityObjectWrapper.
949         (AccessibleBase::AccessibleBase): Set the object's wrapper to this
950         instance. 
951         (AccessibleBase::~AccessibleBase):
952         (AccessibleBase::createInstance): Create an instance of a wrapper for
953         this AccessibilityObject.
954         (AccessibleBase::QueryInterface):
955         (AccessibleBase::Release):
956         (AccessibleBase::get_accParent):
957         (AccessibleBase::get_accChildCount):
958         (AccessibleBase::get_accChild):
959         (AccessibleBase::get_accName):
960         (AccessibleBase::get_accValue):
961         (AccessibleBase::get_accDescription):
962         (AccessibleBase::get_accRole):
963         (AccessibleBase::get_accState):
964         (AccessibleBase::get_accHelp):
965         (AccessibleBase::get_accKeyboardShortcut):
966         (AccessibleBase::accSelect):
967         (AccessibleBase::get_accFocus):
968         (AccessibleBase::get_accSelection):
969         (AccessibleBase::get_accDefaultAction):
970         (AccessibleBase::accLocation):
971         (AccessibleBase::accNavigate):
972         (AccessibleBase::accHitTest):
973         * AccessibleBase.h: Added.
974         (AccessibleBase::AddRef):
975         (AccessibleBase::put_accName):
976         (AccessibleBase::put_accValue):
977         (AccessibleBase::get_accHelpTopic):
978         (AccessibleBase::GetTypeInfoCount):
979         (AccessibleBase::GetTypeInfo):
980         (AccessibleBase::GetIDsOfNames):
981         (AccessibleBase::Invoke):
982         (AccessibleBase::detach): Detach this wrapper from its object.
983         * WebKit.vcproj/WebKit.vcproj:
984
985 2008-04-15  Anders Carlsson  <andersca@apple.com>
986
987         Reviewed by Adam.
988
989         Add ENABLE_OFFLINE_WEB_APPLICATIONS to FEATURE_DEFINES.
990
991         * WebKit.vcproj/WebKit.vcproj:
992
993 2008-04-12  Matt Lilek  <webkit@mattlilek.com>
994
995         Not reviewed, build fix.
996
997         * WebView.cpp:
998         (WebView::paintDocumentRectToContext):
999
1000 2008-04-11  Steve Falkenburg  <sfalken@apple.com>
1001
1002         Fix caching typo.
1003         
1004         Made this code match the Mac.
1005         
1006         Reviewed by Mark Rowe.
1007
1008         * WebView.cpp:
1009         (PreferencesChangedOrRemovedObserver::notifyPreferencesChanged):
1010
1011 2008-04-11  Adam Roben  <aroben@apple.com>
1012
1013         * ForEachCoClass.h: Added a deprecation notice.
1014
1015 2008-04-11  Adam Roben  <aroben@apple.com>
1016
1017         Fix Bug 18376: r31733 and 27 don't work w/Safari 3.1
1018         
1019         <https://bugs.webkit.org/show_bug.cgi?id=18376>
1020
1021         Rubberstamped by Steve.
1022
1023         * ForEachCoClass.h: Move post-3.1 classes to the end of the
1024         FOR_EACH_COCLASS macro so that pre-3.1 classes will be in the place
1025         Safari expects them to be. We will soon be deprecating
1026         setUseOpenSourceWebKit/progIDForClass because it is clearly very
1027         fragile.
1028
1029 2008-04-10  Ada Chan  <adachan@apple.com>
1030
1031         Added WebCoreStatistics that provides stats on Javascript objects
1032         and IconDatabase.
1033         
1034         Changed WebCache::statistics() to additionally return xsl stylesheets data
1035         and data on live sizes and decoded sizes.
1036
1037         Reviewed by Steve.
1038
1039         * ForEachCoClass.h:
1040         * Interfaces/IWebCoreStatistics.idl: Added.
1041         * Interfaces/WebKit.idl:
1042         * WebCache.cpp:
1043         (WebCache::statistics):
1044         * WebCoreStatistics.cpp: Added.
1045         (WebCoreStatistics::WebCoreStatistics):
1046         (WebCoreStatistics::~WebCoreStatistics):
1047         (WebCoreStatistics::createInstance):
1048         (WebCoreStatistics::QueryInterface):
1049         (WebCoreStatistics::AddRef):
1050         (WebCoreStatistics::Release):
1051         (WebCoreStatistics::javaScriptObjectsCount):
1052         (WebCoreStatistics::javaScriptGlobalObjectsCount):
1053         (WebCoreStatistics::javaScriptProtectedObjectsCount):
1054         (WebCoreStatistics::javaScriptProtectedGlobalObjectsCount):
1055         (WebCoreStatistics::iconPageURLMappingCount):
1056         (WebCoreStatistics::iconRetainedPageURLCount):
1057         (WebCoreStatistics::iconRecordCount):
1058         (WebCoreStatistics::iconsWithDataCount):
1059         * WebCoreStatistics.h: Added.
1060         * WebKit.vcproj/WebKit.vcproj:
1061         * WebKitClassFactory.cpp:
1062
1063 2008-04-09  Steve Falkenburg  <sfalken@apple.com>
1064
1065         Delete backing store (after a delay) when a WebView's top-level parent becomes inactive.
1066
1067         Reviewed by Brady Eidson.
1068
1069         * WebView.cpp:
1070         (WebView::windowReceivedMessage):
1071
1072 2008-04-08  Adam Roben  <aroben@apple.com>
1073
1074         Export callOnMainThread from WebKit.dll
1075
1076         Rubberstamped by Anders.
1077
1078         * WebKit.vcproj/WebKit.def:
1079         * WebKit.vcproj/WebKit_debug.def:
1080
1081 2008-04-08  Adam Roben  <aroben@apple.com>
1082
1083         Move callOnMainThread to WTF
1084
1085         Reviewed by Alexey Proskuryakov.
1086
1087         * WebIconDatabase.cpp: Updated #include
1088
1089 2008-04-08  Steve Falkenburg  <sfalken@apple.com>
1090
1091         Add missing increment/decrement COM class counts to detect leaks.
1092         
1093         Reviewed by Adam Roben.
1094
1095         * CFDictionaryPropertyBag.cpp:
1096         (CFDictionaryPropertyBag::CFDictionaryPropertyBag):
1097         (CFDictionaryPropertyBag::~CFDictionaryPropertyBag):
1098         * CFDictionaryPropertyBag.h:
1099         * HTTPHeaderPropertyBag.cpp:
1100         (HTTPHeaderPropertyBag::HTTPHeaderPropertyBag):
1101         (HTTPHeaderPropertyBag::~HTTPHeaderPropertyBag):
1102         * HTTPHeaderPropertyBag.h:
1103         * WebActionPropertyBag.cpp:
1104         (WebActionPropertyBag::WebActionPropertyBag):
1105         (WebActionPropertyBag::~WebActionPropertyBag):
1106         * WebDocumentLoader.cpp:
1107         (WebDocumentLoader::WebDocumentLoader):
1108         (WebDocumentLoader::~WebDocumentLoader):
1109         * WebDropSource.cpp:
1110         (WebDropSource::WebDropSource):
1111         (WebDropSource::~WebDropSource):
1112         * WebDropSource.h:
1113         * WebElementPropertyBag.cpp:
1114         (WebElementPropertyBag::WebElementPropertyBag):
1115         (WebElementPropertyBag::~WebElementPropertyBag):
1116         * WebTextRenderer.cpp:
1117         (WebTextRenderer::WebTextRenderer):
1118         (WebTextRenderer::~WebTextRenderer):
1119
1120 2008-04-07  Brady Eidson  <beidson@apple.com>
1121
1122         Reviewed by John Honeycutt
1123
1124         ENABLE_DOM_STORAGE for Windows
1125
1126         * WebKit.vcproj/WebKit.vcproj:
1127
1128 2008-04-04  Adam Roben  <aroben@apple.com>
1129
1130         Export some more WTF functions from WebKit.dll
1131
1132         Reviewed by Alexey Proskuryakov.
1133
1134         * WebKit.vcproj/WebKit.def:
1135         * WebKit.vcproj/WebKit_debug.def:
1136
1137 2008-04-04  Steve Falkenburg  <sfalken@apple.com>
1138
1139         Only delete the backing store of background windows.
1140
1141         Reviewed by Ada Chan.
1142
1143         * WebView.cpp:
1144         (WebView::WebView):
1145         (WebView::deleteBackingStore):
1146         (WebView::paint): Added active check.
1147         (WebView::deleteBackingStoreSoon):
1148         (WebView::cancelDeleteBackingStoreSoon): Added.
1149         (WebView::active): Added.
1150         (WebView::updateActiveState): Moved active check code from here to active().
1151         * WebView.h:
1152
1153 2008-04-04  Steve Falkenburg  <sfalken@apple.com>
1154
1155         Fix tooltip window leak.
1156         
1157         Explicitly call DestroyWindow on the tooltip.
1158         Destroying its parent won't destroy the tooltip, since it not a WS_CHILD style window.
1159
1160         Reviewed by Ada Chan.
1161
1162         * WebView.cpp:
1163         (WebView::~WebView):
1164
1165 2008-04-04  Steve Falkenburg  <sfalken@apple.com>
1166
1167         Delete backing store after we go 5 seconds without a paint.
1168                 
1169         Timer will be reset if a paint occurs, so this won't negatively impact performance.
1170         
1171         Reviewed by Ada Chan.
1172
1173         * WebView.cpp:
1174         (WebView::paint): Call deleteBackingStoreSoon after paint.
1175         (WebViewWndProc): Add DeleteBackingStoreTimer.
1176         (WebView::deleteBackingStoreSoon): Added.
1177         * WebView.h: Add deleteBackingStoreSoon.
1178
1179 2008-04-04  Ada Chan  <adachan@apple.com>
1180
1181         <rdar://problem/5830598> Image file opened in the browser window shows "Localized String Not Found' in window's title bar instead file name
1182         Save WebCoreLocalizedStrings.cpp with UTF8 encoding.
1183         Changed the format string to take in integers.
1184
1185         Reviewed by Dan.
1186
1187         * English.lproj/Localizable.strings: Updated.
1188         * WebCoreLocalizedStrings.cpp:
1189         (WebCore::imageTitle):
1190
1191 2008-04-03  Dan Bernstein  <mitz@apple.com>
1192
1193         Reviewed by Dave Hyatt.
1194
1195         - WebKit part of fixing http://bugs.webkit.org/show_bug.cgi?id=6484
1196           font-weight does not properly support graded weights
1197
1198         * DOMCoreClasses.cpp:
1199         (DOMElement::font): Updated for the change to FontDescription.
1200         * WebCoreSupport/WebDragClient.cpp:
1201         (dragLabelFont): Ditto.
1202         * WebKitGraphics.cpp:
1203         (makeFont): Ditto.
1204         * WebKitGraphics.h: Added a FIXME.
1205
1206 2008-04-03  Steve Falkenburg  <sfalken@apple.com>
1207
1208         <rdar://problem/5835382> Calling window.open immediately after window.close can sometimes result in no window being created
1209         
1210         Group name tracking needs to happen using code in WebCore::Page, since it is more involved than
1211         just setting a string.
1212         
1213         Reviewed by Adam Roben.
1214
1215         * WebView.cpp:
1216         (WebView::close): Add null check (found via code inspection).
1217         (WebView::initWithFrame): Store the group name directly in Page.
1218         (WebView::setGroupName): Store the group name directly in Page.
1219         (WebView::groupName): Retrieve the group name directly from Page.
1220         * WebView.h: Removed m_groupName
1221
1222 2008-04-03  Simon Hausmann  <hausmann@webkit.org>
1223
1224         Reviewed by Mark Rowe.
1225
1226         Roll out r31599 and r31605 again after discussion with Mark Rowe.
1227
1228         * WebIconDatabase.cpp:
1229         (WebIconDatabase::iconForURL):
1230
1231 2008-04-03  Simon Hausmann  <hausmann@webkit.org>
1232
1233         Attempted build fix
1234
1235         * WebIconDatabase.cpp:
1236         (WebIconDatabase::iconForURL): Adjust to changed iconForPageURL
1237         signature
1238
1239 2008-04-03  Ada Chan  <adachan@apple.com>
1240
1241         Allow WebArchive to be created via COM.
1242         Replaced IID_DOMNode with __uuidof(DOMNode).
1243
1244         Reviewed by Adam and Steve.
1245
1246         * DOMCoreClasses.cpp:
1247         (DOMNode::QueryInterface):
1248         (DOMNode::isSameNode):
1249         * DOMCoreClasses.h:
1250         * ForEachCoClass.h:
1251         * Interfaces/WebKit.idl:
1252         * WebArchive.cpp:
1253         (WebArchive::createInstance):
1254         * WebArchive.h:
1255         * WebKitClassFactory.cpp:
1256
1257 2008-04-01  Brady Eidson  <beidson@apple.com>
1258
1259         Reviewed by Jon Honeycutt and Cake
1260
1261         Hookup WebArchive API enough to be able to save the archive of a DOMNode
1262         
1263         * DOMCoreClasses.h: Add a GUID for DOMNode
1264
1265         * Interfaces/IWebArchive.idl: Add initWithNode()
1266
1267         * WebArchive.cpp:
1268         (WebArchive::initWithNode):
1269         (WebArchive::data): Actually return LegacyWebArchive-style data
1270         * WebArchive.h:
1271
1272 2008-04-01  Brady Eidson  <beidson@apple.com>
1273
1274         Reviewed by Adam Roben
1275
1276         Add empty implementations of WebArchive for future work
1277         
1278         * WebArchive.cpp: Added.
1279         (WebArchive::createInstance):
1280         (WebArchive::WebArchive):
1281         (WebArchive::~WebArchive):
1282         (WebArchive::QueryInterface):
1283         (WebArchive::AddRef):
1284         (WebArchive::Release):
1285         (WebArchive::initWithMainResource):
1286         (WebArchive::initWithData):
1287         (WebArchive::mainResource):
1288         (WebArchive::subResources):
1289         (WebArchive::subframeArchives):
1290         (WebArchive::data):
1291         * WebArchive.h: Added.
1292         
1293         * WebKit.vcproj/WebKit.vcproj:
1294
1295 2008-03-29  Adam Roben  <aroben@apple.com>
1296
1297         Rename IWebViewPrivate::addAdditionalPluginPath to
1298         addAdditionalPluginDirectory
1299
1300         Reviewed by Mitz Pettel.
1301
1302         * Interfaces/IWebViewPrivate.idl:
1303         * Interfaces/WebKit.idl: Touched to make sure the Interfaces project
1304         rebuilds.
1305         * WebView.cpp:
1306         (WebView::addAdditionalPluginDirectory):
1307         * WebView.h:
1308
1309 2008-03-26  Brent Fulgham  <bfulgham@gmail.com>
1310
1311         Reviewed by Adam Roben.
1312
1313         Add necessary files and build commands to vcproj files to
1314         build a Curl-based Windows WebKit.  For details, see
1315         http://bugs.webkit.org/show_bug.cgi?id=17985
1316
1317         * WebKit.vcproj/WebKit.vcproj:
1318
1319 2008-03-25  Adam Roben  <aroben@apple.com>
1320
1321         Attempted build fix
1322
1323         * WebKit.vcproj/WebKit.sln: Make testapi build after most other
1324         projects.
1325
1326 2008-03-25  Adam Roben  <aroben@apple.com>
1327
1328         Fix Bug 18077: Integrate testapi.c into the Windows build
1329
1330         <http://bugs.webkit.org/show_bug.cgi?id=18077>
1331
1332         Reviewed by Steve Falkenburg.
1333
1334         * WebKit.vcproj/WebKit.sln: Added testapi.vcproj to the solution.
1335
1336 2008-03-25  Brady Eidson  <beidson@apple.com>
1337
1338         Reviewed by Darin
1339
1340         Remove newly obsolete FrameLoaderClient methods
1341
1342         * WebFrame.cpp:
1343         * WebFrame.h:
1344
1345 2008-03-25  Darin Adler  <darin@apple.com>
1346
1347         Suggested by Adam.
1348
1349         * Interfaces/WebKit.idl: Touch this file to make the Interface project rebuild.
1350
1351 2008-03-21  Ada Chan  <adachan@apple.com>
1352
1353         <rdar://problem/5810324> visitCount not updated in History.plist
1354         Call WebCore::HistoryItem::mergeAutoCompleteHints() in WebHistoryItem::mergeAutoCompleteHints().
1355
1356         Reviewed by Steve.
1357
1358         * WebHistoryItem.cpp:
1359         (WebHistoryItem::mergeAutoCompleteHints):
1360         (WebHistoryItem::QueryInterface):
1361
1362 2008-03-20  Dan Bernstein  <mitz@apple.com>
1363
1364         Reviewed by Adam Roben.
1365
1366         - make makeTextLarger() and zoomPageIn() do what they are supposed to do
1367
1368         * WebView.cpp:
1369         (WebView::makeTextLarger): Changed call to canZoomIn() to zoomIn().
1370         (WebView::zoomPageIn): Ditto.
1371
1372 2008-03-20  Dave Hyatt  <hyatt@apple.com>
1373
1374         Add full page zoom API for Windows WebKit.
1375
1376         Reviewed by aroben
1377
1378         * Interfaces/IWebView.idl:
1379         * WebView.cpp:
1380         (WebView::WebView):
1381         (WebView::setTextSizeMultiplier):
1382         (WebView::setPageSizeMultiplier):
1383         (WebView::setZoomMultiplier):
1384         (WebView::textSizeMultiplier):
1385         (WebView::pageSizeMultiplier):
1386         (WebView::zoomMultiplier):
1387         (WebView::canMakeTextLarger):
1388         (WebView::canZoomPageIn):
1389         (WebView::canZoomIn):
1390         (WebView::makeTextLarger):
1391         (WebView::zoomPageIn):
1392         (WebView::zoomIn):
1393         (WebView::canMakeTextSmaller):
1394         (WebView::canZoomPageOut):
1395         (WebView::canZoomOut):
1396         (WebView::makeTextSmaller):
1397         (WebView::zoomPageOut):
1398         (WebView::zoomOut):
1399         (WebView::canMakeTextStandardSize):
1400         (WebView::canResetPageZoom):
1401         (WebView::canResetZoom):
1402         (WebView::makeTextStandardSize):
1403         (WebView::resetPageZoom):
1404         (WebView::resetZoom):
1405         * WebView.h:
1406
1407 2008-03-20  John Sullivan  <sullivan@apple.com>
1408
1409         * English.lproj/Localizable.strings:
1410         Brought this file up to date
1411
1412 2008-03-19  Dan Bernstein  <mitz@apple.com>
1413
1414         - build fix
1415
1416         * Interfaces/WebKit.idl: Touched.
1417
1418 2008-03-19  Adam Roben  <aroben@apple.com>
1419
1420         Fix a couple of bugs where the node highlight would appear when it shouldn't
1421
1422         There were at least two ways you could get the highlight to appear
1423         when it shouldn't:
1424           1) Selecting a node in the Inspector while the inspected WebView was
1425              in a background tab.
1426           2) Selecting a node in the Inspector, switching to another tab,
1427              closing the Inspector, then switching back to the inspected
1428              WebView's tab.
1429
1430         This patch fixes the above two issues, and possibly others.
1431
1432         show() and hide() are now private methods of WebNodeHighlight. They
1433         are replaced by a single public method,
1434         setShowsWhileWebViewIsVisible(bool). WebInspectorClient uses this to
1435         tell the highlight whether it should be showing when the inspected
1436         WebView is visible.
1437
1438         Reviewed by John Sullivan.
1439
1440         * WebCoreSupport/WebInspectorClient.cpp:
1441         (WebInspectorClient::highlight): If the highlight is already showing,
1442         it just needs to update since the highlighted node has changed. If the
1443         highlight is not showing, call setShowsWhileWebViewIsVisible(true) so
1444         that the highlight will show when the WebView is shown.
1445         (WebInspectorClient::hideHighlight): Changed to call
1446         setShowsWhileWebViewIsVisible(false) instead of hide().
1447         * WebNodeHighlight.cpp:
1448         (WebNodeHighlight::WebNodeHighlight): Initialize new member, and
1449         initialize m_inspectedWebViewWindow to its final value here instead of
1450         in show().
1451         (WebNodeHighlight::setShowsWhileWebViewIsVisible): Added. If we're not
1452         supposed to show ourselves when the WebView is visible, we hide
1453         ourselves and return. Otherwise, we make our visibility match the
1454         WebView's.
1455         (WebNodeHighlight::isWebViewVisible): Added.
1456         (WebNodeHighlight::show): Removed initialization of
1457         m_inspectedWebViewWindow (this is now done by our constructor). Added
1458         an assertion that we're supposed to show ourselves when the WebView is
1459         visible.
1460         (WebNodeHighlight::onWebViewShowWindow): If we shouldn't show
1461         ourselves when the WebView is visible, then we don't need to do
1462         anything at all when the WebView's visibility changes.
1463         * WebNodeHighlight.h:
1464
1465 2008-03-19  Adam Roben  <aroben@apple.com>
1466
1467         Small WebNodeHighlight cleanup
1468
1469         Renamed the following methods:
1470           visible() -> isShowing()
1471           updateWindow() -> update()
1472
1473         Removed the window() method.
1474
1475         Added a new method, placeBehindWindow(HWND), that moves the highlight
1476         overlay in the window z-order to be just behind the passed-in window.
1477         WebInspectorClient calls this instead of doing the move directly using
1478         the old window() method.
1479
1480         Reviewed by John Sullivan.
1481
1482         * WebCoreSupport/WebInspectorClient.cpp:
1483         (WebInspectorClient::attachWindow):
1484         (WebInspectorClient::detachWindow):
1485         (WebInspectorClient::highlight): Call placeBehindWindow instead of
1486         calling SetWindowPos directly.
1487         * WebNodeHighlight.cpp:
1488         (WebNodeHighlight::show):
1489         (WebNodeHighlight::isShowing):
1490         (WebNodeHighlight::placeBehindWindow): Added. Code came from
1491         WebInspectorClient::highlight.
1492         (WebNodeHighlight::onWebViewWindowPosChanged):
1493         (WebNodeHighlight::onRootWindowPosChanged):
1494         * WebNodeHighlight.h:
1495
1496 2008-03-19  Ada Chan  <adachan@apple.com>
1497
1498         Added a method to paint WebView content specified by 
1499         the document rect into a device context.
1500
1501         Reviewed by Darin.
1502
1503         * Interfaces/IWebViewPrivate.idl:
1504         * WebView.cpp:
1505         (WebView::paintDocumentRectToContext):
1506         * WebView.h:
1507
1508 2008-03-18  Brent Fulgham  <bfulgham@gmail.com>
1509
1510         Reviewed by Adam Roben.
1511
1512         Provide some stub implementations for things that WebKit
1513         uses for performing authentication/challenge activities.  This
1514         is in support of http://bugs.webkit.org/show_bug.cgi?id=17837
1515
1516         * WebDataSource.cpp:
1517         * WebError.cpp:  Conditionalize CFNetwork-specific logic
1518         * WebURLAuthenticationChallenge.cpp:  Conditionalize constructor
1519           for authentication/challenge member.
1520         (WebURLAuthenticationChallenge::initWithAuthenticationChallenge):
1521         * WebURLResponse.cpp:  Remove CFNetwork-specific logic.
1522         * WebURLResponse.h: Conditionalize CFNetwork-specific member.
1523         * WebView.cpp:  Conditionalize CFNetwork-specific network protocol test.
1524         (WebView::canHandleRequest):
1525
1526 2008-03-18  Adam Roben  <aroben@apple.com>
1527
1528         Focus the Inspector's WebView whenever the Inspector window is focused
1529
1530         Reviewed by Mitz.
1531
1532         * WebCoreSupport/WebInspectorClient.cpp:
1533         (WebInspectorClient::onSetFocus): Send focus to the WebView.
1534         (WebInspectorWndProc): Added a handler for WM_SETFOCUS.
1535         * WebCoreSupport/WebInspectorClient.h:
1536
1537 2008-03-18  Adam Roben  <aroben@apple.com>
1538
1539         Fix Bug 14276: Element highlight also covers Web inspector
1540
1541         <http://bugs.webkit.org/show_bug.cgi?id=14276>
1542         <rdar://5712796>
1543
1544         Also fixes <rdar://5622837> Browser window comes to front when node
1545         highlight appears, potentially blocking Inspector
1546
1547         Reviewed by Mitz.
1548
1549         * WebCoreSupport/WebInspectorClient.cpp:
1550         (WebInspectorClient::highlight): After showing the highlight,
1551         reposition it just behind the Inspector's window.
1552         * WebNodeHighlight.cpp:
1553         (WebNodeHighlight::show):
1554           - Changed flags passed to CreateWindowEx to not specify WS_VISIBLE.
1555             This is not needed because we'll show the window later in this
1556             function.
1557           - Removed call to SetWindowPos that tried to position the overlay
1558             just in front of the WebView. This is now handled by
1559             WebInspectorClient.
1560           - Changed call to ShowWindow to use SetWindowPos so that we can pass
1561             SWP_NOACTIVATE. This prevents the highlight from jumping in front
1562             of the Inspector every time it's shown.
1563         * WebNodeHighlight.h: Added a method to get the highlight's HWND.
1564
1565 2008-03-14  Steve Falkenburg  <sfalken@apple.com>
1566
1567         PGO build fixes.
1568
1569         * WebKit.vcproj/WebKit.vcproj:
1570
1571 2008-03-13  Adam Roben  <aroben@apple.com>
1572
1573         Another Windows build fix after r31034
1574
1575         * WebKitDLL.cpp:
1576         (loadResourceIntoBuffer): Use SharedBuffer::create.
1577
1578 2008-03-13  Adam Roben  <aroben@apple.com>
1579
1580         Windows build fix after r31034
1581
1582         * WebFrame.cpp:
1583         (WebFrame::loadData): Use SharedBuffer::create.
1584         (WebFrame::loadHTMLString): Ditto.
1585
1586 2008-03-13  Steve Falkenburg  <sfalken@apple.com>
1587
1588         More PGO build fixes.
1589
1590         * WebKit.vcproj/WebKit.pgd: Removed.
1591         * WebKit.vcproj/WebKit.vcproj:
1592         * WebKitPrefix.cpp:
1593
1594 2008-03-13  Anders Carlsson  <andersca@apple.com>
1595
1596         Reviewed by Adam.
1597
1598         Call originalRequest instead of initialRequest.
1599         
1600         * WebDataSource.cpp:
1601         (WebDataSource::initialRequest):
1602
1603 2008-03-13  Steve Falkenburg  <sfalken@apple.com>
1604
1605         PGO build fixes.
1606         
1607         Disable PGO for normal release builds.
1608         Added work-in-progress Release_PGOInstrument/Release_PGOOptimize targets.
1609
1610         * WebKit.vcproj/WebKit.vcproj:
1611
1612 2008-03-12  Steve Falkenburg  <sfalken@apple.com>
1613
1614         Fix build.
1615
1616         * WebKit.vcproj/WebKit.vcproj:
1617
1618 2008-03-12  Ada Chan  <adachan@apple.com>
1619
1620         <rdar://problem/5795843> 
1621         CFURLDownload needs to be cancelled if we don't have a destination path
1622         to save resume information.
1623
1624         Reviewed by Brady.
1625
1626         * WebDownload.cpp:
1627         (WebDownload::cancelForResume):
1628
1629 2008-03-12  David Hyatt  <hyatt@apple.com>
1630
1631         Make the zoom factor a float and not a percent.
1632
1633         Reviewed by antti
1634
1635         * WebFrame.cpp:
1636         (WebFrame::setTextSizeMultiplier):
1637
1638 2008-03-12  Steve Falkenburg  <sfalken@apple.com>
1639
1640         Build fix.
1641
1642         * WebKit.vcproj/WebKit.pgd:
1643         * WebKit.vcproj/WebKit.vcproj:
1644
1645 2008-03-12  Steve Falkenburg  <sfalken@apple.com>
1646
1647         Re-enabled PGO.
1648         
1649         Rubber stamped by Mark Rowe.
1650
1651         * WebKit.vcproj/WebKit.pgd:
1652         * WebKit.vcproj/WebKit.vcproj:
1653         * WebKitPrefix.cpp: touched this file to force a re-build.
1654
1655 2008-03-12  Steve Falkenburg  <sfalken@apple.com>
1656
1657         Fix build.
1658
1659         * WebKit.vcproj/WebKit.vcproj:
1660
1661 2008-03-11  Steve Falkenburg  <sfalken@apple.com>
1662
1663         Use PGO to build WebKit.dll.
1664         
1665         Reviewed by Oliver.
1666
1667         * WebKit.vcproj/WebKit.pgd: Added.
1668         * WebKit.vcproj/WebKit.vcproj:
1669
1670 2008-03-11  Brent Fulgham  <bfulgham@gmail.com>
1671
1672         Reviewed by Adam Roben.
1673
1674         Enabled WinLauncher as part of normal Windows build.
1675         http://bugs.webkit.org/show_bug.cgi?id=17715.
1676
1677         * WebKit.vcproj/WebKit.sln:  Add WinLauncher to the set of things
1678           build during a Windows build.
1679
1680 2008-03-11  Adam Roben  <aroben@apple.com>
1681
1682         Roll out r30961 since it broke the default site icon on Windows
1683
1684         * WebKit.vcproj/WebKit.rc:
1685         * WebKit.vcproj/urlIcon.png: Renamed from WebCore/Resources/urlIcon.png.
1686         * WebKitDLL.cpp:
1687         (loadResourceIntoBuffer):
1688
1689 2008-03-11  Holger Hans Peter Freyther  <zecke@selfish.org>
1690
1691         Reviewed by Darin.
1692
1693         r25512 inlined the urlIcon to improve the startup time of Safari on Mac. Inlining is
1694         not suitable for platforms where this icon is themable. E.g. the Qt platform is allowing
1695         to theme this icon and the Gtk+ platform will probably end up with themable icons
1696         as well.
1697         
1698         Remove dead code from the windows port and move the urlIcon from the windows
1699         directory to the Resource directory to be used by Qt and other ports.
1700         
1701         Ifdef the usage of the built-in icon in IconDatabase.cpp and for Qt do not use
1702         it. Gtk+ currently has no proper implementation of Image::loadPlatformResource but
1703         once it does it wants to use this for getting the urlIcon as well.
1704
1705         * WebKit.vcproj/WebKit.rc:
1706         * WebKitDLL.cpp:
1707         (loadResourceIntoBuffer):
1708
1709 2008-03-10  Eric Seidel  <eric@webkit.org>
1710
1711         No review, build fix only.
1712         
1713         Speculative fix for Windows build, use ::UChar instead of KJS::UChar
1714
1715         * WebScriptCallFrame.cpp:
1716         (WebScriptCallFrame::valueForVariable):
1717         (WebScriptCallFrame::valueByEvaluatingJavaScriptFromString):
1718
1719 2008-03-10  Steve Falkenburg  <sfalken@apple.com>
1720
1721         Fix build break caused by r30920.
1722         
1723         Serialize remaining dependent builds by adding dependencies.
1724         Visual Studio per-vcproj parallelization doesn't add a lot of value
1725         since so many of our builds are dependent - this just enforces that.
1726         We do our parallelization via pdevenv, which works much better.
1727
1728         * WebKit.vcproj/WebKit.sln:
1729         * WebKit.vcproj/WebKit.submit.sln:
1730
1731 2008-03-09  Steve Falkenburg  <sfalken@apple.com>
1732
1733         Stop Windows build if an error occurs in a prior project.
1734
1735         Rubber stamped by Darin.
1736
1737         * WebKit.vcproj/Interfaces.vcproj:
1738         * WebKit.vcproj/InterfacesGenerated.vcproj:
1739         * WebKit.vcproj/WebKit.vcproj:
1740         * WebKit.vcproj/WebKitGUID.vcproj:
1741
1742 2008-03-09  Adam Roben  <aroben@apple.com>
1743
1744         Make WebInspectorClient use WindowMessageBroadcaster instead of manual subclassing
1745
1746         Reviewed by Darin.
1747
1748         * WebCoreSupport/WebInspectorClient.cpp:
1749         (WebInspectorClient::WebInspectorClient): Removed
1750         m_orignalWebViewWndProc member.
1751         (WebInspectorClient::attachWindow): Register as a listener with
1752         WindowMessageBroadcaster instead of subclassing.
1753         (WebInspectorClient::detachWindow): Deregister as a listener with
1754         WindowMessageBroadcaster instead of unsubclassing.
1755         (WebInspectorClient::windowReceivedMessage): Renamed from
1756         SubclassedWebViewWndProc. Also added a missing break statement after
1757         the call to onWebViewWindowPosChanging.
1758         * WebCoreSupport/WebInspectorClient.h:
1759
1760 2008-03-09  Adam Roben  <aroben@apple.com>
1761
1762         Make the node highlight not obscure the tab bar when it first appears
1763
1764         Reviewed by Darin.
1765
1766         * WebNodeHighlight.cpp:
1767         (WebNodeHighlight::onWebViewWindowPosChanged): Added. Listens for
1768         changes to the WebView's size and resizes the highlight window to
1769         match.
1770         (WebNodeHighlight::onRootWindowPosChanged): Added. Listens for changes
1771         to the WebView's root window's position and moves the highlight window
1772         to match.
1773         (WebNodeHighlight::windowReceivedMessage): Call
1774         onWebViewWindowPosChanged/onRootWindowPosChanged as appropriate.
1775         * WebNodeHighlight.h:
1776
1777 2008-03-09  Adam Roben  <aroben@apple.com>
1778
1779         Fix Bug 14254: Inspector node highlight applied to all tabs
1780
1781         <http://bugs.webkit.org/show_bug.cgi?id=14254>
1782         <rdar://problem/5322306>
1783
1784         WebNodeHighlight now listens for the WM_SHOWWINDOW message being sent
1785         to the inspected WebView so that it can hide/show itself as the
1786         WebView is hidden/shown.
1787
1788         Reviewed by Anders.
1789
1790         * WebNodeHighlight.cpp:
1791         (WebNodeHighlight::~WebNodeHighlight): Remove ourselves as a listener
1792         for our inspected WebView's window's messages.
1793         (WebNodeHighlight::show): Add ourselves as a listener for our
1794         inspected WebView's window's messages.
1795         (WebNodeHighlight::onWebViewShowWindow): Added. Hide ourselves when
1796         the WebView hides, show ourselves when the WebView is shown.
1797         (WebNodeHighlight::windowReceivedMessage): Added a separate switch
1798         statement to handle the inspected WebView's window's messages.
1799         * WebNodeHighlight.h:
1800
1801 2008-03-07  Brent Fulgham  <bfulgham@gmail.com>
1802
1803         Reviewed by Mark Rowe.
1804
1805         Correct build intermediary output
1806         (http://bugs.webkit.org/show_bug.cgi?id=17713)
1807
1808         * WebKit/win/WebKit.vcproj/WebKit.vcproj:  Correct output and intermediary paths
1809
1810 2008-03-07  Brent Fulgham  <bfulgham@gmail.com>
1811
1812         Reviewed by Adam Roben.
1813
1814         Do not link (or attempt to initialize) the SafariTheme.dll
1815         when not building with USE(SAFARI_THEME) enabled.
1816         (http://bugs.webkit.org/show_bug.cgi?id=17707)
1817
1818         * WebKit/win/WebKitClassFactory.cpp:  Conditionalize use of SafariTheme.dll
1819
1820 2008-03-07  Brent Fulgham  <bfulgham@gmail.com>
1821
1822         Reviewed by Steve Falkenburg.
1823
1824         Update solution to understand Cairo build target.  Add
1825         library dependencies for Cairo build target.
1826         (http://bugs.webkit.org/show_bug.cgi?id=17300)
1827
1828         * WebKit.vcproj/WebKit.sln:
1829         * WebKit.vcproj/WebKit.vcproj:
1830
1831 2008-03-06  Adam Roben  <aroben@apple.com>
1832
1833         Change WebScriptDebugServer to use WebCore::JavaScriptDebugServer
1834
1835         WebScriptDebugServer is now a JavaScriptDebugListener.
1836
1837         Reviewed by Darin.
1838
1839         * WebScriptDebugServer.cpp:
1840         (WebScriptDebugServer::WebScriptDebugServer): Removed initialization
1841         of m_callingListeners member.
1842         (WebScriptDebugServer::addListener): Register as a listener with
1843         JavaScriptDebugServer if we've just added our first listener.
1844         (WebScriptDebugServer::removeListener): Deregister as a listener with
1845         JavaScriptDebugServer if we've just removed our last listener.
1846         (WebScriptDebugServer::didParseSource): Added. Code came from the old
1847         sourceParsed method. Removed m_callingListeners code because
1848         JavaScriptDebugServer guards against re-entry for us.
1849         (WebScriptDebugServer::failedToParseSource): Ditto.
1850         (WebScriptDebugServer::didEnterCallFrame): Ditto for callEvent.
1851         (WebScriptDebugServer::willExecuteStatement): Ditto for atStatement.
1852         (WebScriptDebugServer::willLeaveCallFrame): Ditto for
1853         willLeaveCallFrame.
1854         (WebScriptDebugServer::exceptionWasRaised): Ditto for exception.
1855         * WebScriptDebugServer.h: Changed to inherit from
1856         WebCore::JavaScriptDebugListener.
1857         * WebView.cpp:
1858         (WebView::initWithFrame): Removed call to
1859         WebScriptDebugServer::pageCreated. This is now handled by WebCore.
1860
1861 2008-03-06  Darin Adler  <darin@apple.com>
1862
1863         Reviewed by Mitz.
1864
1865         - fix regression test failures and crashes from the visited-link change
1866
1867         * WebCoreSupport/WebChromeClient.cpp:
1868         (WebChromeClient::populateVisitedLinks): Check for null before calling
1869         addVisitedLinksToPageGroup.
1870         * WebCoreSupport/WebFrameLoaderClient.cpp:
1871         (WebFrameLoaderClient::updateGlobalHistory): Ditto.
1872         * WebHistory.cpp:
1873         (WebHistory::setOptionalSharedHistory): Call PageGroup::setShouldTrackVisitedLinks
1874         to turn off visited links if there is no history object. Also call
1875         removeAllVisitedLinks so we can start over from scratch with the new history.
1876
1877 2008-03-06  Matt Lilek  <webkit@mattlilek.com>
1878
1879         Reviewed by Adam Roben.
1880
1881         Bug 17691: REGRESSION: FindSafari doesn't work
1882         http://bugs.webkit.org/show_bug.cgi?id=17691
1883
1884         Swap my change from r30394 to use the Release libraries instead of Debug
1885         since some machines don't have the Debug version.
1886
1887         * WebKit.vcproj/WebKit.sln:
1888
1889 2008-03-06  Darin Adler  <darin@apple.com>
1890
1891         Reviewed by Mitz.
1892
1893         - fix http://bugs.webkit.org/show_bug.cgi?id=17526
1894           REGRESSION: iframes are added to Safari's History menu
1895           by separating the visited link machinery from global history
1896
1897         * WebCoreSupport/WebChromeClient.cpp:
1898         (WebChromeClient::populateVisitedLinks): Added a call to the new
1899         WebHistory::addVisitedLinksToPageGroup function.
1900         * WebCoreSupport/WebChromeClient.h: Added populateVisitedLinks.
1901         Also fixed the webView function to be non-virtual.
1902
1903         * WebCoreSupport/WebFrameLoaderClient.cpp:
1904         (WebFrameLoaderClient::updateGlobalHistory): Changed to use the
1905         new WebHistory::addItem function.
1906         (WebFrameLoaderClient::webHistory): Changed to return a WebHistory*,
1907         there's no reason to AddRef the result from this function.
1908         * WebCoreSupport/WebFrameLoaderClient.h: Ditto.
1909
1910         * WebHistory.cpp: Removed IWebHistoryPrivate and _WebCoreHistoryProvider.
1911         (WebHistory::QueryInterface): Removed IWebHistoryPrivate.
1912         (sharedHistoryStorage): Added.
1913         (WebHistory::sharedHistory): Added.
1914         (WebHistory::optionalSharedHistory): Changed to use sharedHistory().
1915         (WebHistory::setOptionalSharedHistory): Changed to require a WebHistory
1916         object, not just an IWebHistory.
1917         (WebHistory::removeAllItems): Call PageGroup::removeAllVisitedLinks.
1918         (WebHistory::addItem): Changed parameter types since this is called with
1919         arguments from WebCore -- at some point this could allow better efficiency.
1920         (WebHistory::removeItemForURLString):  Call PageGroup::removeAllVisitedLinks
1921         if the last URL is being removed.
1922         (addVisitedLinkToPageGroup): Added. Helper. Adds a single link to a group's
1923         visited link set.
1924         (WebHistory::addVisitedLinksToPageGroup): Added. Adds all links to a group's
1925         visited link.
1926         * WebHistory.h: Removed IWebHistoryPrivate. Removed optionalSharedHistoryInternal
1927         and added sharedHistory. Replaced addItemForURL and containsItemForURLString with
1928         non-virtual addItem and addVisitedLinksToPageGroup functions.
1929
1930 2008-03-05  Anders Carlsson  <andersca@apple.com>
1931
1932         Build fix.
1933
1934         * WebKit.vcproj/WebKit.vcproj:
1935
1936 2008-03-04  Sam Weinig  <sam@webkit.org>
1937
1938         Reviewed by Mark Rowe.
1939
1940         - Remove all unnecessary includes of JSDOMWindowBase.h, we prefer including
1941           JSDOMWindow.h
1942
1943         * WebFrame.cpp:
1944
1945 2008-03-04  Adam Roben  <aroben@apple.com>
1946
1947         WebScriptDebugServer cleanup
1948
1949         Reviewed by Anders.
1950
1951         * WebScriptDebugServer.cpp: Renamed m_callingServer to
1952         m_callingListeners.
1953         (WebScriptDebugServer::WebScriptDebugServer):
1954         (WebScriptDebugServer::sharedWebScriptDebugServer): Changed to keep
1955         the shared instance as a function-level static.
1956         (WebScriptDebugServer::didLoadMainResourceForDataSource): Made return
1957         void.
1958         (WebScriptDebugServer::sourceParsed):
1959         (WebScriptDebugServer::callEvent):
1960         (WebScriptDebugServer::atStatement):
1961         (WebScriptDebugServer::returnEvent):
1962         (WebScriptDebugServer::exception):
1963         (WebScriptDebugServer::serverDidDie): Made return void.
1964         * WebScriptDebugServer.h:
1965           - Removed unnecessary #includes
1966           - Made inheritance from KJS::Debugger private
1967           - Made some methods private
1968
1969 2008-03-04  Adam Roben  <aroben@apple.com>
1970
1971         Remove WebScriptDebugger
1972
1973         Reviewed by Anders.
1974
1975         * WebKit.vcproj/WebKit.vcproj: Removed files from project.
1976         * WebScriptDebugServer.cpp:
1977         (frame): Moved here from WebScriptDebugger.cpp.
1978         (webFrame): Ditto.
1979         (webView): Ditto.
1980         (WebScriptDebugServer::WebScriptDebugServer): Initialize new member.
1981         * WebScriptDebugServer.h: Changed to inherit directly from
1982         KJS::Debugger instead of from WebScriptDebugger, and added
1983         m_callingServer member that WebScriptDebugger used to own.
1984         * WebScriptDebugger.cpp: Removed.
1985         * WebScriptDebugger.h: Removed.
1986
1987 2008-03-04  Adam Roben  <aroben@apple.com>
1988
1989         Move sourceParsed to WebScriptDebugServer
1990
1991         Reviewed by Anders.
1992
1993         * WebScriptDebugServer.cpp:
1994         (WebScriptDebugServer::sourceParsed): Moved here from
1995         WebScriptDebugger and merged with didParseSource/failedToParseSource.
1996         * WebScriptDebugServer.h: Removed didParseSource/failedToParseSource.
1997         * WebScriptDebugger.cpp: Removed sourceParsed.
1998         * WebScriptDebugger.h: Ditto.
1999
2000 2008-03-04  Adam Roben  <aroben@apple.com>
2001
2002         Move callEvent, returnEvent, and exception to WebScriptDebugServer
2003
2004         Reviewed by Anders.
2005
2006         * WebScriptDebugServer.cpp:
2007         (WebScriptDebugServer::callEvent): Moved here from WebScriptDebugger
2008         and merged with didEnterCallFrame.
2009         (WebScriptDebugServer::returnEvent): Ditto for willLeaveCallFrame.
2010         (WebScriptDebugServer::exception): Ditto for exceptionWasRaised.
2011         * WebScriptDebugServer.h: Removed didEnterCallFrame,
2012         willLeaveCallFrame, and exceptionWasRaised.
2013         * WebScriptDebugger.cpp: Removed callEvent, returnEvent, and
2014         exception.
2015         * WebScriptDebugger.h: Ditto.
2016
2017 2008-03-04  Adam Roben  <aroben@apple.com>
2018
2019         Move atStatement to WebScriptDebugServer
2020
2021         Reviewed by Anders.
2022
2023         * WebScriptDebugServer.cpp:
2024         (WebScriptDebugServer::atStatement): Moved here and merged with the
2025         old willExecuteStatement method.
2026         * WebScriptDebugServer.h: Removed inheritance from
2027         IWebScriptDebugListener, which no one was relying on.
2028         * WebScriptDebugger.cpp:
2029         (webFrame): Made non-static.
2030         (webView): Ditto.
2031         * WebScriptDebugger.h: Added declarations of webFrame and webView
2032         methods for WebScriptDebugServer's benefit. Removed unused m_webView
2033         and m_frame members.
2034
2035 2008-03-04  Adam Roben  <aroben@apple.com>
2036
2037         Start to merge WebScriptDebugger and WebScriptDebugServer
2038
2039         WebScriptDebugServer now inherits from WebScriptDebugger.
2040
2041         Reviewed by Anders.
2042
2043         * WebScriptDebugServer.cpp:
2044         (WebScriptDebugServer::pageCreated): Use sharedWebScriptDebugServer
2045         instead of WebScriptDebugger::shared.
2046         (WebScriptDebugServer::addListener): Ditto.
2047         (WebScriptDebugServer::removeListener): Ditto.
2048         * WebScriptDebugServer.h: Changed to inherit from WebScriptDebugger.
2049         * WebScriptDebugger.cpp: Removed shared method.
2050         * WebScriptDebugger.h: Made constructor/destructor protected, and
2051         removed shared method.
2052
2053 2008-03-04  Adam Roben  <aroben@apple.com>
2054
2055         Use WebCore's new debugger-attaching code
2056
2057         Reviewed by Kevin M.
2058
2059         * WebCoreSupport/WebFrameLoaderClient.cpp: Moved a kit() function to
2060         WebView.{cpp,h} so that other files can call it.
2061         * WebFrame.cpp:
2062         (WebFrame::WebFrame): Removed m_scriptDebugger member.
2063         (WebFrame::windowObjectCleared): Removed attach/detach calls. This is
2064         no longer needed because WebScriptDebugger no longer stores any
2065         per-WebFrame state.
2066         * WebFrame.h:
2067         * WebScriptDebugServer.cpp:
2068         (WebScriptDebugServer::pageCreated): Added. Attaches our shared
2069         debugger to the Page if we have any listeners.
2070         (WebScriptDebugServer::addListener): Sets our shared debugger for all
2071         Pages when we get our first listener.
2072         (WebScriptDebugServer::removeListener): Removes our shared debugger
2073         from all Pages when we lose our last listener.
2074         * WebScriptDebugServer.h:
2075         * WebScriptDebugger.cpp:
2076         (WebScriptDebugger::shared): Added.
2077         (WebScriptDebugger::WebScriptDebugger): Removed m_frame member.
2078         (WebScriptDebugger::~WebScriptDebugger): Added.
2079         (frame): Gets a Frame from an ExecState.
2080         (webFrame): Gets a WebFrame from an ExecState.
2081         (webView): Gets a WebView from an ExecState.
2082         (WebScriptDebugger::sourceParsed): Changed to call webFrame() and
2083         webView() instead of using m_frame and m_webView members.
2084         (WebScriptDebugger::callEvent): Ditto.
2085         (WebScriptDebugger::atStatement): Ditto.
2086         (WebScriptDebugger::returnEvent): Ditto.
2087         (WebScriptDebugger::exception): Ditto.
2088         * WebScriptDebugger.h:
2089         * WebView.cpp:
2090         (kit): Moved here from WebFrameLoaderClient.cpp.
2091         (WebView::initWithFrame): Tell the WebScriptDebugServer about the new
2092         Page so it can attach a debugger if needed.
2093         * WebView.h:
2094
2095 2008-03-04  Adam Roben  <aroben@apple.com>
2096
2097         Change WebView's string-finding methods to call through to Page
2098
2099         These methods were added to Page back in r28878 (and the
2100         implementation was copied from WebView!) but we never switched over to
2101         using them.
2102
2103         Reviewed by Sam.
2104
2105         * WebView.cpp:
2106         (WebView::searchFor): Call through to Page::findString.
2107         (WebView::markAllMatchesForText): Call through to Page.
2108         (WebView::unmarkAllTextMatches): Ditto.
2109
2110 2008-03-04  Adam Roben  <aroben@apple.com>
2111
2112         Actually pause the process while Drosera is at a breakpoint
2113
2114         WebScriptDebugServer::suspendProcessIfPaused is supposed to pause the
2115         process while Drosera is at a breakpoint. Previously we were just
2116         starting a message pump that would deliver messages to all windows in
2117         the process, allowing mouse events, JS timers, etc. to execute.
2118
2119         Now we only deliver messages to COM's message window, which is all we
2120         need to allow RPC to function.
2121
2122         Reviewed by Anders.
2123
2124         * WebScriptDebugServer.cpp:
2125         (comMessageWindow): Added. Finds COM's message window.
2126         (WebScriptDebugServer::suspendProcessIfPaused): Only deliver messages
2127         to COM's message window so that mouse events, JS timers, etc., won't
2128         execute.
2129
2130 2008-03-03  Adam Roben  <aroben@apple.com>
2131
2132         Generate WebScriptCallFrame instances dynamically
2133
2134         WebScriptDebugger no longer holds a reference to the topmost call
2135         frame, and WebScriptCallFrame no longer holds a reference to its
2136         caller. We now generate WebScriptCallFrame instances as needed by
2137         walking the callingExecState chain.
2138
2139         By making WebKit no longer responsible for keeping track of the call
2140         stack, we get one step closer to moving most JS debugging code out of
2141         WebKit entirely.
2142
2143         This incidentally fixes a bug in Drosera where we'd never show the
2144         global scope in the call stack.
2145
2146         Reviewed by Sam and Kevin M.
2147
2148         * WebScriptCallFrame.cpp:
2149         (callingFunctionOrGlobalExecState): Finds the nearest calling
2150         ExecState that is a FunctionExecState or GlobalExecState, if any, and
2151         returns it.
2152         (WebScriptCallFrame::WebScriptCallFrame):
2153           - No longer takes a caller parameter.
2154           - Sets m_state to the callingFunctionOrGlobalExecState of the
2155             ExecState passed in.
2156         (WebScriptCallFrame::createInstance): Removed the caller parameter.
2157         (WebScriptCallFrame::caller): Generate a new WebScriptCallFrame on the
2158         fly from our ExecState.
2159         * WebScriptCallFrame.h: No longer holds a reference to the caller.
2160         * WebScriptDebugger.cpp:
2161         (WebScriptDebugger::WebScriptDebugger): Removed the call to callEvent
2162         that was supposed to set up the global scope call frame, but never
2163         worked because m_callingServer was set to true, which would cause
2164         callEvent to return early without doing anything. Also removed the
2165         m_callingServer guards since we're not calling callEvent anymore.
2166         (WebScriptDebugger::callEvent): Create a WebScriptCallFrame on the
2167         fly from the passed-in ExecState.
2168         (WebScriptDebugger::atStatement): Ditto.
2169         (WebScriptDebugger::returnEvent): Ditto, but use the callingExecState.
2170         This is equivalent to what calling leaveFrame() did before.
2171         (WebScriptDebugger::exception): Ditto, using the passed-in ExecState.
2172         * WebScriptDebugger.h: Removed m_topStackFrame member and
2173         enterFrame/leaveFrame methods.
2174
2175 2008-03-03  Sam Weinig  <sam@webkit.org>
2176
2177         Windows build fix.
2178
2179         * WebFrame.cpp:
2180         (WebFrame::windowObjectCleared):
2181
2182 2008-03-03  David Hyatt  <hyatt@apple.com>
2183
2184         Full page zoom work.  Make setting of a zoom factor take a boolean saying whether it is a text only
2185         or full page zoom.
2186
2187         Reviewed by Tim H.
2188
2189         * WebFrame.cpp:
2190         (WebFrame::setTextSizeMultiplier):
2191
2192 2008-02-29  Adam Roben  <aroben@apple.com>
2193
2194         Delete an unused file
2195
2196         Rubberstamped by Brady.
2197
2198         * Interfaces/IWebScriptScope.idl: Removed.
2199
2200 2008-02-28  Adam Roben  <aroben@apple.com>
2201
2202         Change WebPreferences to be backed by CFPreferences
2203
2204         Reviewed by Ada, Geoff, Steve, and Darin.
2205
2206         * WebPreferenceKeysPrivate.h:
2207         * WebPreferences.cpp:
2208         (WebPreferences::sharedStandardPreferences): Changed to call
2209         setAutoSaves(TRUE) before calling load(). This ensures that the
2210         preferences being migrated to CFPreferences are saved to disk.
2211         (WebPreferences::valueForKey): Changed to return a RetainPtr to ensure
2212         that the refcount is managed properly. Now attempts to retrieve a
2213         value from CFPreferences before falling back to the default settings.
2214         (WebPreferences::setValueForKey): Now saves the value in
2215         CFPreferences if m_autoSaves is true.
2216         (WebPreferences::stringValueForKey): Updated for valueForKey changes.
2217         (WebPreferences::integerValueForKey): DItto.
2218         (WebPreferences::boolValueForKey): Ditto.
2219         (WebPreferences::floatValueForKey): Ditto.
2220         (WebPreferences::save): Now simply calls CFPreferencesAppSynchronize.
2221         (WebPreferences::load): Always initializes m_privatePrefs to an empty
2222         CFMutableDictionary.
2223         (WebPreferences::migrateWebKitPreferencesToCFPreferences): Migrates
2224         preferences from our old custom plist to CFPreferences and then
2225         deletes our custom plist, if the migration has never occurred before.
2226         (WebPreferences::copyWebKitPreferencesToCFPreferences): Copies
2227         preferences to CFPreferences. If we've never migrated the default
2228         settings from Safari 3 Beta before, we omit them from this copying
2229         procedure.
2230         * WebPreferences.h:
2231
2232 2008-02-28  Adam Roben  <aroben@apple.com>
2233
2234         Refactor value <-> CFNumber conversions into some helper functions
2235
2236         Reviewed by Jon.
2237
2238         * WebPreferences.cpp:
2239         (preferencesPath): Changed to return a const String&.
2240         (numberValueForPreferencesValue): Converts a value from preferences to
2241         a native numeric type.
2242         (cfNumber): Converts a native numeric value to a CFNumberRef.
2243         (booleanValueForPreferencesValue): Converts a value from preferences
2244         to a native boolean.
2245         (WebPreferences::integerValueForKey): Changed to call
2246         numberValueForPreferencesValue.
2247         (WebPreferences::floatValueForKey): Ditto.
2248         (WebPreferences::boolValueForKey): Changed to call
2249         booleanValueForPreferencesValue.
2250         (WebPreferences::setIntegerValue): Changed to call cfNumber.
2251         (WebPreferences::setLongLongValue): Ditto.
2252
2253 2008-02-27  Adam Roben  <aroben@apple.com>
2254
2255         Add WebPreferences::setValueForKey
2256
2257         This is just a small refactoring of some duplicated logic into a
2258         shared method.
2259
2260         Reviewed by Sam.
2261
2262         * WebPreferences.cpp:
2263         (WebPreferences::setValueForKey): Added.
2264         (WebPreferences::setStringValue): Call setValueForKey.
2265         (WebPreferences::setIntegerValue): Ditto.
2266         (WebPreferences::setBoolValue): Ditto.
2267         (WebPreferences::setLongLongValue): Ditto.
2268         * WebPreferences.h:
2269
2270 2008-02-27  Adam Roben  <aroben@apple.com>
2271
2272         Remove WebPreferences' static members
2273
2274         s_defaultSettings is now a file-level static, and
2275         s_standardPreferences has been removed completely (it wasn't being
2276         used).
2277
2278         Reviewed by Sam.
2279
2280         * WebPreferences.cpp:
2281         (WebPreferences::initializeDefaultSettings):
2282         (WebPreferences::valueForKey):
2283         (WebPreferences::migrateDefaultSettingsFromSafari3Beta):
2284         (WebPreferences::removeValuesMatchingDefaultSettings):
2285         * WebPreferences.h:
2286
2287 2008-02-29  Steve Falkenburg  <sfalken@apple.com>
2288
2289         Don't free the VARIANT passed into Write, since it is an input parameter owned by the caller.
2290         Found via code inspection.
2291         
2292         Reviewed by Adam.
2293
2294         * WebActionPropertyBag.cpp:
2295         (WebActionPropertyBag::Write):
2296         * WebElementPropertyBag.cpp:
2297         (WebElementPropertyBag::Write):
2298
2299 2008-02-27  Matt Lilek  <webkit@mattlilek.com>
2300
2301         Reviewed by Adam Roben.
2302
2303         Bug 14348: Messing up the inspector by dragging an URL into it
2304         http://bugs.webkit.org/show_bug.cgi?id=14348
2305         <rdar://problem/5283620> and <rdar://problem/5712808>
2306
2307         Add a new class to handle the Inspector's delegate calls.
2308
2309         * WebCoreSupport/WebInspectorClient.cpp:
2310         (WebInspectorClient::createPage):
2311         * WebCoreSupport/WebInspectorDelegate.cpp: Added.
2312         (:m_refCount):
2313         (WebInspectorDelegate::createInstance):
2314         (WebInspectorDelegate::AddRef):
2315         (WebInspectorDelegate::Release):
2316         (WebInspectorDelegate::dragDestinationActionMaskForDraggingInfo):
2317         * WebCoreSupport/WebInspectorDelegate.h: Added.
2318         (WebInspectorDelegate::QueryInterface):
2319         (WebInspectorDelegate::createWebViewWithRequest):
2320         (WebInspectorDelegate::webViewShow):
2321         (WebInspectorDelegate::webViewClose):
2322         (WebInspectorDelegate::webViewFocus):
2323         (WebInspectorDelegate::webViewUnfocus):
2324         (WebInspectorDelegate::webViewFirstResponder):
2325         (WebInspectorDelegate::makeFirstResponder):
2326         (WebInspectorDelegate::setStatusText):
2327         (WebInspectorDelegate::webViewStatusText):
2328         (WebInspectorDelegate::webViewAreToolbarsVisible):
2329         (WebInspectorDelegate::setToolbarsVisible):
2330         (WebInspectorDelegate::webViewIsStatusBarVisible):
2331         (WebInspectorDelegate::setStatusBarVisible):
2332         (WebInspectorDelegate::webViewIsResizable):
2333         (WebInspectorDelegate::setResizable):
2334         (WebInspectorDelegate::setFrame):
2335         (WebInspectorDelegate::webViewFrame):
2336         (WebInspectorDelegate::setContentRect):
2337         (WebInspectorDelegate::webViewContentRect):
2338         (WebInspectorDelegate::runJavaScriptAlertPanelWithMessage):
2339         (WebInspectorDelegate::runJavaScriptConfirmPanelWithMessage):
2340         (WebInspectorDelegate::runJavaScriptTextInputPanelWithPrompt):
2341         (WebInspectorDelegate::runBeforeUnloadConfirmPanelWithMessage):
2342         (WebInspectorDelegate::runOpenPanelForFileButtonWithResultListener):
2343         (WebInspectorDelegate::mouseDidMoveOverElement):
2344         (WebInspectorDelegate::contextMenuItemsForElement):
2345         (WebInspectorDelegate::validateUserInterfaceItem):
2346         (WebInspectorDelegate::shouldPerformAction):
2347         (WebInspectorDelegate::willPerformDragDestinationAction):
2348         (WebInspectorDelegate::dragSourceActionMaskForPoint):
2349         (WebInspectorDelegate::willPerformDragSourceAction):
2350         (WebInspectorDelegate::contextMenuItemSelected):
2351         (WebInspectorDelegate::hasCustomMenuImplementation):
2352         (WebInspectorDelegate::trackCustomPopupMenu):
2353         (WebInspectorDelegate::measureCustomMenuItem):
2354         (WebInspectorDelegate::drawCustomMenuItem):
2355         (WebInspectorDelegate::addCustomMenuDrawingData):
2356         (WebInspectorDelegate::cleanUpCustomMenuDrawingData):
2357         (WebInspectorDelegate::canTakeFocus):
2358         (WebInspectorDelegate::takeFocus):
2359         (WebInspectorDelegate::registerUndoWithTarget):
2360         (WebInspectorDelegate::removeAllActionsWithTarget):
2361         (WebInspectorDelegate::setActionTitle):
2362         (WebInspectorDelegate::undo):
2363         (WebInspectorDelegate::redo):
2364         (WebInspectorDelegate::canUndo):
2365         (WebInspectorDelegate::canRedo):
2366         * WebKit.vcproj/WebKit.vcproj:
2367
2368 2008-02-26  Adam Roben  <aroben@apple.com>
2369
2370         Move ResourceLoadDelegate methods to WebFrameLoaderClient
2371
2372         Changed all methods to use early returns where possible and COMPtr's
2373         AdoptCOM/Query constructors.
2374
2375         Reviewed by Anders.
2376
2377         * WebCoreSupport/WebFrameLoaderClient.cpp:
2378         (WebFrameLoaderClient::assignIdentifierToInitialRequest):
2379         (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
2380         (WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
2381         (WebFrameLoaderClient::dispatchWillSendRequest):
2382         (WebFrameLoaderClient::dispatchDidReceiveResponse):
2383         (WebFrameLoaderClient::dispatchDidReceiveContentLength):
2384         (WebFrameLoaderClient::dispatchDidFinishLoading):
2385         (WebFrameLoaderClient::dispatchDidFailLoading):
2386         * WebCoreSupport/WebFrameLoaderClient.h:
2387         * WebFrame.cpp:
2388         * WebFrame.h:
2389
2390 2008-02-26  Adam Roben  <aroben@apple.com>
2391
2392         Move two more methods to WebFrameLoaderClient
2393
2394         Reviewed by Anders.
2395
2396         * WebCoreSupport/WebFrameLoaderClient.cpp:
2397         (kit):
2398         (WebFrameLoaderClient::dispatchCreatePage): Changed nested ifs to
2399         early returns, and changed to use the COMPtr Query constructor.
2400         (WebFrameLoaderClient::dispatchDidLoadMainResource): Added an early
2401         return, and changed to use getWebDataSource.
2402         * WebCoreSupport/WebFrameLoaderClient.h:
2403         * WebFrame.cpp:
2404         * WebFrame.h:
2405
2406 2008-02-26  Adam Roben  <aroben@apple.com>
2407
2408         Get rid of IID_WebFrame
2409
2410         Reviewed by Anders.
2411
2412         * WebFrame.cpp: Removed IID_WebFrame definition.
2413         (WebFrame::QueryInterface): Use __uuidof(WebFrame) instead of
2414         IID_WebFrame.
2415         (WebFrame::isDescendantOfFrame): Use COMPtr's Query constructor
2416         instead of a manual QueryInterface.
2417         * WebFrame.h: Removed IID_WebFrame declaration, gave WebFrame a
2418         DECLSPEC_UUID.
2419
2420 2008-02-26  Adam Roben  <aroben@apple.com>
2421
2422         Move WebHistory-related methods to WebFrameLoaderClient
2423
2424         Reviewed by Anders.
2425
2426         * WebCoreSupport/WebFrameLoaderClient.cpp:
2427         (WebFrameLoaderClient::updateGlobalHistory):
2428         (WebFrameLoaderClient::shouldGoToHistoryItem):
2429         (WebFrameLoaderClient::setTitle): Changed some nested ifs into early
2430         returns.
2431         (WebFrameLoaderClient::webHistory): Changed to return a COMPtr to
2432         make the reference management foolproof.
2433         * WebCoreSupport/WebFrameLoaderClient.h:
2434         * WebFrame.cpp:
2435         * WebFrame.h:
2436
2437 2008-02-26  Adam Roben  <aroben@apple.com>
2438
2439         Move cache-related methods to WebFrameLoaderClient
2440
2441         Reviewed by Anders.
2442
2443         * WebCoreSupport/WebFrameLoaderClient.cpp:
2444         (getWebDataSource): Moved to the top of the file.
2445         (WebFrameLoaderClient::savePlatformDataToCachedPage):
2446         (WebFrameLoaderClient::transitionToCommittedForNewPage):
2447         (WebFrameLoaderClient::canCachePage):
2448         * WebCoreSupport/WebFrameLoaderClient.h:
2449         * WebFrame.cpp:
2450         * WebFrame.h:
2451
2452 2008-02-25  Adam Roben  <aroben@apple.com>
2453
2454         Move plugin-related methods to WebFrameLoaderClient
2455
2456         Reviewed by Anders.
2457
2458         * WebCoreSupport/WebFrameLoaderClient.cpp:
2459         (WebFrameLoaderClient::WebFrameLoaderClient):
2460         (WebFrameLoaderClient::setMainDocumentError):
2461         (WebFrameLoaderClient::committedLoad): Added some early returns.
2462         (WebFrameLoaderClient::receivedData):
2463         (WebFrameLoaderClient::finishedLoading): Ditto.
2464         (getWebDataSource):
2465         (WebFrameLoaderClient::createPlugin):
2466         * WebCoreSupport/WebFrameLoaderClient.h:
2467         * WebFrame.cpp:
2468         (WebFrame::WebFramePrivate::WebFramePrivate):
2469         * WebFrame.h:
2470
2471 2008-02-25  Adam Roben  <aroben@apple.com>
2472
2473         Move createFrame to WebFrameLoaderClient
2474
2475         Reviewed by Anders.
2476
2477         * WebCoreSupport/WebFrameLoaderClient.cpp:
2478         (WebFrameLoaderClient::createFrame):
2479         (WebFrameLoaderClient::loadURLIntoChild):
2480         * WebCoreSupport/WebFrameLoaderClient.h:
2481         * WebFrame.cpp:
2482         * WebFrame.h:
2483
2484 2008-02-25  Adam Roben  <aroben@apple.com>
2485
2486         Move progress-related methods to WebFrameLoaderClient
2487
2488         Reviewed by Anders.
2489
2490         * WebCoreSupport/WebFrameLoaderClient.cpp:
2491         (WebFrameLoaderClient::postProgressStartedNotification):
2492         (WebFrameLoaderClient::postProgressEstimateChangedNotification):
2493         (WebFrameLoaderClient::postProgressFinishedNotification):
2494         * WebCoreSupport/WebFrameLoaderClient.h:
2495         * WebFrame.cpp:
2496         * WebFrame.h:
2497
2498 2008-02-25  Adam Roben  <aroben@apple.com>
2499
2500         Remove WebFrame::detachedFromParent1
2501
2502         This method was removed from FrameLoaderClient in r19042, but was
2503         never removed from WebFrame.
2504
2505         Reviewed by Anders.
2506
2507         * WebFrame.cpp:
2508         * WebFrame.h:
2509
2510 2008-02-23  Adam Roben  <aroben@apple.com>
2511
2512         Move many dispatch methods to WebFrameLoaderClient
2513
2514         Reviewed by Sam.
2515
2516         * WebCoreSupport/WebFrameLoaderClient.cpp:
2517         (WebFrameLoaderClient::dispatchDidHandleOnloadEvents):
2518         (WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
2519         (WebFrameLoaderClient::dispatchDidCancelClientRedirect):
2520         (WebFrameLoaderClient::dispatchWillPerformClientRedirect):
2521         (WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
2522         (WebFrameLoaderClient::dispatchWillClose):
2523         (WebFrameLoaderClient::dispatchDidReceiveIcon):
2524         (WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
2525         (WebFrameLoaderClient::dispatchDidReceiveTitle):
2526         (WebFrameLoaderClient::dispatchDidCommitLoad):
2527         (WebFrameLoaderClient::dispatchDidFinishDocumentLoad):
2528         (WebFrameLoaderClient::dispatchDidFinishLoad):
2529         (WebFrameLoaderClient::dispatchDidFirstLayout):
2530         (WebFrameLoaderClient::dispatchShow):
2531         * WebCoreSupport/WebFrameLoaderClient.h:
2532         * WebFrame.cpp:
2533         * WebFrame.h:
2534
2535 2008-02-23  Adam Roben  <aroben@apple.com>
2536
2537         Move two more methods to WebFrameLoaderClient
2538
2539         Reviewed by Sam.
2540
2541         * WebCoreSupport/WebFrameLoaderClient.cpp:
2542         (WebFrameLoaderClient::hasFrameView):
2543         (WebFrame::forceLayout):
2544         * WebCoreSupport/WebFrameLoaderClient.h:
2545         * WebFrame.cpp:
2546         * WebFrame.h:
2547
2548 2008-02-24  Darin Adler  <darin@apple.com>
2549
2550         Reviewed by Sam.
2551
2552         - remove separate client calls for "standard" and "reload' history
2553
2554         * WebFrame.cpp:
2555         (WebFrame::updateGlobalHistory):
2556         * WebFrame.h:
2557
2558 2008-02-23  Brent Fulgham  <bfulgham@gmail.com>
2559
2560         Not reviewed, build fix.
2561
2562         * WebIconDatabase.cpp:
2563         * WebIconDatabase.h:
2564
2565 2008-02-22  Adam Roben  <aroben@apple.com>
2566
2567         Move hasWebView to WebFrameLoaderClient
2568
2569         I added an m_webFrame member to WebFrameLoaderClient. This is slightly
2570         strange because WebFrame inherits from WebFrameLoaderClient, but this
2571         member will be needed once we remove the inheritance, so we might as
2572         well prepare for that now.
2573
2574         Reviewed by Anders.
2575
2576         * WebCoreSupport/WebFrameLoaderClient.cpp:
2577         (WebFrameLoaderClient::WebFrameLoaderClient): Changed to take a
2578         WebFrame* parameter.
2579         (WebFrameLoaderClient::hasWebView): Moved here from WebFrame.cpp.
2580         * WebCoreSupport/WebFrameLoaderClient.h: Added an m_webFrame
2581         parameter.
2582         * WebFrame.cpp: Removed hasWebView.
2583         (WebFrame::WebFrame): Updated for WebFrameLoaderClient constructor
2584         change.
2585         * WebFrame.h:
2586
2587 2008-02-22  Adam Roben  <aroben@apple.com>
2588
2589         Start to move FrameLoaderClient methods off WebFrame onto a separate class
2590
2591         WebFrame now inherits from a new WebFrameLoaderClient class, which
2592         will gradually assume all FrameLoaderClient responsibilities. Once
2593         that process is complete, WebFrame will no longer inherit from
2594         WebFrameLoaderClient.
2595
2596         In this first patch, I've only moved createDocumentLoader up to the
2597         WebFrameLoaderClient class.
2598
2599         Reviewed by Anders.
2600
2601         * WebCoreSupport/WebFrameLoaderClient.cpp: Added.
2602         (WebFrameLoaderClient::WebFrameLoaderClient):
2603         (WebFrameLoaderClient::~WebFrameLoaderClient):
2604         (WebFrameLoaderClient::createDocumentLoader): Moved here from
2605         WebFrame.cpp.
2606         * WebCoreSupport/WebFrameLoaderClient.h: Added.
2607         * WebFrame.cpp: Removed createDocumentLoader implementation.
2608         * WebFrame.h: Changed to inherit from WebFrameLoaderClient.
2609         * WebKit.vcproj/WebKit.vcproj: Added new files to the project.
2610
2611 2008-02-22  Adam Roben  <aroben@apple.com>
2612
2613         Move FormValuesPropertyBag into its own files
2614
2615         Reviewed by Sam.
2616
2617         * WebCoreSupport/FormValuesPropertyBag.cpp: Added.
2618         (FormValuesPropertyBag::QueryInterface):
2619         (FormValuesPropertyBag::AddRef):
2620         (FormValuesPropertyBag::Release):
2621         (FormValuesPropertyBag::Read):
2622         (FormValuesPropertyBag::Write):
2623         (FormValuesPropertyBag::CountProperties):
2624         (FormValuesPropertyBag::GetPropertyInfo):
2625         (FormValuesPropertyBag::LoadObject):
2626         * WebCoreSupport/FormValuesPropertyBag.h: Added.
2627         (FormValuesPropertyBag::FormValuesPropertyBag):
2628         * WebFrame.cpp: Deleted FormValuesPropertyBag code.
2629         * WebKit.vcproj/WebKit.vcproj: Added new files to the project.
2630
2631 2008-02-22  Adam Roben  <aroben@apple.com>
2632
2633         Remove some unused WebFrame methods
2634
2635         FrameWinClient was deleted back in r22965, but these methods were
2636         never deleted.
2637
2638         Reviewed by Sam.
2639
2640         * WebFrame.cpp:
2641         * WebFrame.h: Made one createFrame overload protected, since it's only
2642         called internally by WebFrame.
2643
2644 2008-02-21  Adam Roben  <aroben@apple.com>
2645
2646         Move Client implementations into a WebCoreSupport directory
2647
2648         Reviewed by Anders.
2649
2650         * WebKit.vcproj/WebKit.vcproj: Updated file paths, and added
2651         WebCoreSupport directory to the include path.
2652         * WebCoreSupport/WebChromeClient.cpp: Renamed from WebKit/win/WebChromeClient.cpp.
2653         * WebCoreSupport/WebChromeClient.h: Renamed from WebKit/win/WebChromeClient.h.
2654         * WebCoreSupport/WebContextMenuClient.cpp: Renamed from WebKit/win/WebContextMenuClient.cpp.
2655         * WebCoreSupport/WebContextMenuClient.h: Renamed from WebKit/win/WebContextMenuClient.h.
2656         * WebCoreSupport/WebDragClient.cpp: Renamed from WebKit/win/WebDragClient.cpp.
2657         * WebCoreSupport/WebDragClient.h: Renamed from WebKit/win/WebDragClient.h.
2658         * WebCoreSupport/WebEditorClient.cpp: Renamed from WebKit/win/WebEditorClient.cpp.
2659         * WebCoreSupport/WebEditorClient.h: Renamed from WebKit/win/WebEditorClient.h.
2660         * WebCoreSupport/WebInspectorClient.cpp: Renamed from WebKit/win/WebInspectorClient.cpp.
2661         * WebCoreSupport/WebInspectorClient.h: Renamed from WebKit/win/WebInspectorClient.h.
2662
2663 2008-02-20  Sam Weinig  <sam@webkit.org>
2664
2665         Reviewed by Darin and Geoff.
2666
2667         - WebKit part of <rdar://problem/5754378> work around missing video on YouTube front page with a site-specific hack
2668
2669         * WebView.cpp:
2670         (WebView::notifyPreferencesChanged): Added a call to Settings::setNeedsSiteSpecificQuirks.
2671         (WebView::setAllowSiteSpecificHacks): Added a comment about the problem Darin noticed, where
2672         after you disable the site-specific hacks they persist until you open a new window or tweak
2673         some other preference.
2674
2675 2008-02-19  Darin Adler  <darin@apple.com>
2676
2677         Reviewed by Sam.
2678
2679         * WebFrame.cpp:
2680         (WebFrame::renderTreeAsExternalRepresentation): Changed to use String instead
2681         of DeprecatedString.
2682
2683 2008-02-18  Steve Falkenburg  <sfalken@apple.com>
2684
2685         Make Drosera work on Vista.
2686         
2687         Runtime type library registration on Vista requires use of two new call:
2688         RegisterTypeLibraryForUser and UnRegisterTypeLibraryForUser, which write to
2689         HKCU.  LoadTypeLib[Ex] registers under HKLM, which fails under vista due to UAC.
2690         
2691         Reviewed by Adam.
2692
2693         * WebKitDLL.cpp:
2694         (DllUnregisterServer): Call UnRegisterTypeLibraryForUser if available. Fix version number.
2695         (DllRegisterServer): Call RegisterTypeLibraryForUser if available.
2696
2697 2008-02-18  Matt Lilek  <webkit@mattlilek.com>
2698
2699         Reviewed by Adam.
2700
2701         Remove FindSafari's Release configuration.
2702
2703         * WebKit.vcproj/WebKit.sln:
2704
2705 2008-02-16  Alexey Proskuryakov  <ap@webkit.org>
2706
2707         Reviewed by Darin.
2708
2709         http://bugs.webkit.org/show_bug.cgi?id=17397
2710         <rdar://problem/5748245> REGRESSION (r30236-30336): Cannot backspace/enter in forms on Windows
2711
2712         * WebKit.vcproj/WebKit.vcproj: Add ENABLE_CROSS_DOCUMENT_MESSAGING definitions.
2713
2714 2008-02-15  Darin Adler  <darin@apple.com>
2715
2716         Reviewed by Adam.
2717
2718         - quick fix for a problem causing an assertion on launch
2719
2720         * WebFrame.cpp:
2721         (WebFrame::loadData): Make an empty KURL even if the BSTR is null.
2722         Later we might want to rethink this.
2723
2724 2008-02-14  Darin Adler  <darin@apple.com>
2725
2726         - updated for WebCore KURL changes
2727
2728         * MarshallingHelpers.cpp:
2729         (MarshallingHelpers::BSTRToKURL): Removed deprecatedString call.
2730         (MarshallingHelpers::KURLToBSTR): Tweaked for efficiency.
2731         * WebContextMenuClient.cpp:
2732         (WebContextMenuClient::searchWithGoogle): Updated for KURL changes.
2733         * WebDataSource.cpp:
2734         (WebDataSource::unreachableURL): Ditto.
2735         * WebDownload.cpp:
2736         (WebDownload::init): Ditto.
2737         (WebDownload::initWithRequest): Ditto.
2738         * WebFrame.cpp:
2739         (WebFrame::loadData): Ditto.
2740         (WebFrame::loadURLIntoChild): Ditto.
2741         (WebFrame::objectContentType): Ditto.
2742         * WebResource.cpp:
2743         (WebResource::initWithData): Ditto.
2744         * WebURLResponse.cpp:
2745         (WebURLResponse::createInstance): Ditto.
2746         (WebURLResponse::initWithURL): Ditto.
2747         * WebView.cpp:
2748         (WebView::userAgentForURL): Ditto.
2749         (WebView::copyURL): Ditto.
2750         (WebView::notifyPreferencesChanged): Ditto.
2751
2752 2008-02-14  Alexey Proskuryakov  <ap@webkit.org>
2753
2754         * WebChromeClient.cpp: (WebChromeClient::exceededDatabaseQuota): Forgot to re-apply review comments to
2755         the previous check-in, fixing.
2756
2757 2008-02-14  Alexey Proskuryakov  <ap@webkit.org>
2758
2759         Reviewed by Adam Roben.
2760
2761         http://bugs.webkit.org/show_bug.cgi?id=17207
2762         Database example doesn't work (requires not-yet-released Safari)
2763
2764         * WebChromeClient.cpp:
2765         (WebChromeClient::exceededDatabaseQuota): Check Safari version, and allow 5 megabytes of storage
2766         if it's too old.
2767
2768 2008-02-13  Ada Chan  <adachan@apple.com>
2769
2770         <rdar://problem/5740656> Leak in postDidAddIconNotification in WebIconDatabase
2771
2772         Reviewed by Darin.
2773
2774         * WebIconDatabase.cpp:
2775         (postDidAddIconNotification): Need to adopt the newly created instance of CFDictionaryPropertyBag, 
2776         which already has a ref count of 1.
2777
2778 2008-02-13  Rodney Dawes  <dobey@wayofthemonkey.com>
2779
2780         Fix Bug 17220: Illogical dependency between PluginView and
2781         PluginDatabase
2782         
2783         <http://bugs.webkit.org/show_bug.cgi?id=17220>
2784
2785         Reviewed by Adam and Darin.
2786
2787         Update for the rename of PluginDatabase::createPluginView
2788         to PluginView::create
2789
2790         * WebFrame.cpp:
2791
2792 2008-02-13  Adam Roben  <aroben@apple.com>
2793
2794         Windows build fix
2795
2796         * Interfaces/WebKit.idl: Create the typelib version symbol ourselves.
2797
2798 2008-02-12  Steve Falkenburg  <sfalken@apple.com>
2799
2800         Use a precompiled header to build WebKit.
2801         
2802         Reviewed by Adam.
2803
2804         * WebKit.vcproj/WebKit.vcproj:
2805         * WebKitPrefix.cpp: Added.
2806         * WebKitPrefix.h: Added.
2807
2808 2008-02-12  Steve Falkenburg  <sfalken@apple.com>
2809
2810         Changes to support merged MIDL output.
2811
2812         All COM interfaces are now generated to WebKit.h.
2813
2814         Reviewed by Sam, Ada.
2815
2816         * DOMCSSClasses.h:
2817         * DOMCoreClasses.h:
2818         * DOMEventsClasses.h:
2819         * DOMHTMLClasses.h:
2820         * DefaultDownloadDelegate.h:
2821         * DefaultPolicyDelegate.cpp:
2822         * DefaultPolicyDelegate.h:
2823         * GEN_DOMObject.h:
2824         * Interfaces/DOMCSS.idl:
2825         * Interfaces/DOMCore.idl:
2826         * Interfaces/DOMEvents.idl:
2827         * Interfaces/DOMExtensions.idl:
2828         * Interfaces/DOMHTML.idl:
2829         * Interfaces/DOMPrivate.idl:
2830         * Interfaces/DOMRange.idl:
2831         * Interfaces/DOMWindow.idl:
2832         * Interfaces/IGEN_DOMObject.idl:
2833         * Interfaces/IWebArchive.idl:
2834         * Interfaces/IWebBackForwardList.idl:
2835         * Interfaces/IWebBackForwardListPrivate.idl:
2836         * Interfaces/IWebCache.idl:
2837         * Interfaces/IWebDataSource.idl:
2838         * Interfaces/IWebDatabaseManager.idl:
2839         * Interfaces/IWebDocument.idl:
2840         * Interfaces/IWebDownload.idl:
2841         * Interfaces/IWebEditingDelegate.idl:
2842         * Interfaces/IWebError.idl:
2843         * Interfaces/IWebErrorPrivate.idl:
2844         * Interfaces/IWebFormDelegate.idl:
2845         * Interfaces/IWebFrame.idl:
2846         * Interfaces/IWebFrameLoadDelegate.idl:
2847         * Interfaces/IWebFrameLoadDelegatePrivate.idl:
2848         * Interfaces/IWebFramePrivate.idl:
2849         * Interfaces/IWebFrameView.idl:
2850         * Interfaces/IWebHTMLRepresentation.idl:
2851         * Interfaces/IWebHTTPURLResponse.idl:
2852         * Interfaces/IWebHistory.idl:
2853         * Interfaces/IWebHistoryItem.idl:
2854         * Interfaces/IWebHistoryItemPrivate.idl:
2855         * Interfaces/IWebIconDatabase.idl:
2856         * Interfaces/IWebInspector.idl:
2857         * Interfaces/IWebJavaScriptCollector.idl:
2858         * Interfaces/IWebKitStatistics.idl:
2859         * Interfaces/IWebMutableURLRequest.idl:
2860         * Interfaces/IWebMutableURLRequestPrivate.idl:
2861         * Interfaces/IWebNotification.idl:
2862         * Interfaces/IWebNotificationCenter.idl:
2863         * Interfaces/IWebNotificationObserver.idl:
2864         * Interfaces/IWebPolicyDelegate.idl:
2865         * Interfaces/IWebPreferences.idl:
2866         * Interfaces/IWebPreferencesPrivate.idl:
2867         * Interfaces/IWebResource.idl:
2868         * Interfaces/IWebResourceLoadDelegate.idl:
2869         * Interfaces/IWebResourceLoadDelegatePrivate.idl:
2870         * Interfaces/IWebScriptCallFrame.idl:
2871         * Interfaces/IWebScriptDebugListener.idl:
2872         * Interfaces/IWebScriptDebugServer.idl:
2873         * Interfaces/IWebScriptObject.idl:
2874         * Interfaces/IWebScriptScope.idl:
2875         * Interfaces/IWebScrollBarDelegatePrivate.idl:
2876         * Interfaces/IWebScrollBarPrivate.idl:
2877         * Interfaces/IWebSecurityOrigin.idl:
2878         * Interfaces/IWebTextRenderer.idl:
2879         * Interfaces/IWebUIDelegate.idl:
2880         * Interfaces/IWebUIDelegatePrivate.idl:
2881         * Interfaces/IWebURLAuthenticationChallenge.idl:
2882         * Interfaces/IWebURLRequest.idl:
2883         * Interfaces/IWebURLResponse.idl:
2884         * Interfaces/IWebURLResponsePrivate.idl:
2885         * Interfaces/IWebUndoManager.idl:
2886         * Interfaces/IWebUndoTarget.idl:
2887         * Interfaces/IWebView.idl:
2888         * Interfaces/IWebViewPrivate.idl:
2889         * Interfaces/WebKit.idl:
2890         * WebActionPropertyBag.cpp:
2891         * WebBackForwardList.h:
2892         * WebCache.h:
2893         * WebDataSource.cpp:
2894         * WebDataSource.h:
2895         * WebDatabaseManager.h:
2896         * WebDownload.h:
2897         * WebEditorClient.cpp:
2898         * WebEditorClient.h:
2899         * WebError.h:
2900         * WebFrame.cpp:
2901         * WebFrame.h:
2902         * WebFramePolicyListener.h:
2903         * WebHTMLRepresentation.cpp:
2904         * WebHTMLRepresentation.h:
2905         * WebHistory.cpp:
2906         * WebHistory.h:
2907         * WebHistoryItem.h:
2908         * WebIconDatabase.h:
2909         * WebInspector.h:
2910         * WebJavaScriptCollector.h:
2911         * WebKit.vcproj/Interfaces.vcproj:
2912         * WebKit.vcproj/WebKitGUID.vcproj:
2913         * WebKitDLL.cpp:
2914         * WebKitStatistics.h:
2915         * WebMutableURLRequest.cpp:
2916         * WebMutableURLRequest.h:
2917         * WebNotification.h:
2918         * WebNotificationCenter.h:
2919         * WebPreferences.h:
2920         * WebResource.h:
2921         * WebScriptCallFrame.h:
2922         * WebScriptDebugServer.cpp:
2923         * WebScriptDebugServer.h:
2924         * WebScriptDebugger.cpp:
2925         * WebScriptDebugger.h:
2926         * WebScriptObject.h:
2927         * WebScrollBar.h:
2928         * WebSecurityOrigin.h:
2929         * WebTextRenderer.h:
2930         * WebURLAuthenticationChallenge.h:
2931         * WebURLAuthenticationChallengeSender.h:
2932         * WebURLCredential.h:
2933         * WebURLProtectionSpace.h:
2934         * WebURLResponse.h:
2935         * WebView.cpp:
2936         * WebView.h:
2937
2938 2008-02-12  Anders Carlsson  <andersca@apple.com>
2939
2940         Reviewed by Adam.
2941
2942         Implement imageTitle.
2943         
2944         * WebCoreLocalizedStrings.cpp:
2945         (WebCore::imageTitle):
2946
2947 2008-02-12  Anders Carlsson  <andersca@apple.com>
2948
2949         Reviewed by Mitz.
2950
2951         * WebCoreLocalizedStrings.cpp:
2952         (WebCore::imageTitle):
2953         Add stub.
2954         
2955
2956 2008-02-07  Ada Chan  <adachan@apple.com>
2957
2958         <rdar://problem/5292433> certificate authentication support broken in Safari 3.0
2959         Added mechanism to communicate client certificate info back to CFNetwork.
2960
2961         Reviewed by Adam.
2962
2963         * Interfaces/IWebError.idl: Added new WebURLErrorClientCertificateRequired error.
2964         * Interfaces/IWebMutableURLRequestPrivate.idl: Added. Added method to set client 
2965         certificate info on the request.
2966         * WebKit.vcproj/Interfaces.vcproj: Added new idl.
2967         * WebKit.vcproj/WebKit.vcproj: Link crypt32.lib
2968         * WebKit.vcproj/WebKitGUID.vcproj:
2969         * WebMutableURLRequest.cpp:
2970         (WebMutableURLRequest::QueryInterface): Implements IWebMutableURLRequestPrivate.
2971         (deallocCertContext): Free certificate context.
2972         (copyCert): Duplicate the certificate context and returns it in a CFDataRef.
2973         (WebMutableURLRequest::setClientCertificate):
2974         * WebMutableURLRequest.h:
2975
2976 2008-02-05  Rodney Dawes  <dobey@wayofthemonkey.com>
2977
2978         Reviewed by Anders Carlsson.
2979
2980         Part one of http://bugs.webkit.org/show_bug.cgi?id=16924.
2981         Shared PluginDatabase, PluginInfoStore and PluginPackage implementations.
2982
2983         Track WebCore renames.
2984
2985         * WebFrame.cpp:
2986         (WebFrame::createPlugin):
2987         (WebFrame::redirectDataToPlugin):
2988         (WebFrame::createJavaAppletWidget):
2989         (WebFrame::objectContentType):
2990         * WebView.cpp:
2991         (WebViewWndProc):
2992         (WebView::canShowMIMEType):
2993         (WebView::addAdditionalPluginPath):
2994
2995 2008-02-05  Alexey Proskuryakov  <ap@webkit.org>
2996
2997         Reviewed by Darin.
2998
2999         http://bugs.webkit.org/show_bug.cgi?id=15248
3000         <rdar://problem/5497032> Can not enter accented characters using alt-numeric keypad (take two)
3001
3002         * WebView.cpp: (WebViewWndProc): KeyUp messages need to be translated, too.
3003
3004 2008-02-01  Darin Adler  <darin@apple.com>
3005
3006         - fix <rdar://problem/5680469> Each database worker thread takes a JSLock,
3007           which slows down all JavaScript execution until the thread terminates
3008
3009         * WebIconDatabase.cpp:
3010         (WebIconDatabase::scheduleNotificationDelivery): Updated for new callOnMainThread.
3011         (WebIconDatabase::deliverNotifications): Ditto.
3012         * WebIconDatabase.h: Ditto.
3013
3014 2008-01-31  Adam Roben  <aroben@apple.com>
3015
3016         Fix <rdar://5713172> Focus lost from Gmail message body after toggling
3017         tabs
3018
3019         This regressed in r29583. Prior to r29583, the code path that resulted
3020         in calling focusController->setFocusedFrame(0) was never getting hit.
3021         r29583 changed the code to adhere to the comment above the code and
3022         actually call setFocusedFrame(0) when losing focus to another part of
3023         the window. It turns out this is wrong behavior (and not what
3024         WebKit/mac does). The only time we should clear the focused frame is
3025         when we tab out of the WebView, and that's already taken care of by
3026         FocusController::advanceFocus. The code to clear the focused frame in
3027         WebView was written before FocusController::advanceFocus, so it was
3028         correct at one point but no longer is.
3029
3030         We now never call setFocusedFrame(0) when the WebView receives a
3031         WM_KILLFOCUS message. Instead we just call setFocused(false) on the
3032         focused frame so that blur events will be sent. This matches what
3033         WebKit/mac does.
3034
3035         Reviewed by Darin and Adele.
3036
3037         * WebView.cpp:
3038         (WebViewWndProc): Also reworded a couple of comments to make them
3039         clearer.
3040
3041 2008-01-31  Adam Roben  <aroben@apple.com>
3042
3043         Let WebCore take care of the highlight drawing entirely
3044
3045         Reviewed by Darin.
3046
3047         * WebInspectorClient.cpp:
3048         (WebInspectorClient::highlight): We now just show our highlight
3049         window and let WebCore figure out what/where to paint. Once all ports
3050         follow suit the Node* parameter to this method should be removed
3051         entirely, and the name should probably change to
3052         updateAndShowHighlight or something similar.
3053         * WebNodeHighlight.cpp: Renamed m_webView to m_inspectedWebViewWindow.
3054         (WebNodeHighlight::WebNodeHighlight): Now takes a WebView* parameter.
3055         (WebNodeHighlight::show): Renamed from highlight(). Now gets the
3056         WebView's HWND. Updated for member rename/removal.
3057         (WebNodeHighlight::updateWindow): Updated for member rename and for
3058         InspectorController changes.
3059         * WebNodeHighlight.h: Added m_inspectedWebView member, removed m_rect
3060         member, renamed highlight(Node*) -> show().
3061
3062 2008-01-31  Adam Roben  <aroben@apple.com>
3063
3064         Move node highlight drawing code to WebCore
3065
3066         Reviewed by Darin.
3067
3068         * WebNodeHighlight.cpp:
3069         (WebNodeHighlight::updateWindow): Call into WebCore to do the node
3070         highlight drawing.
3071
3072 2008-01-29  Adam Roben  <aroben@apple.com>
3073
3074         Fix a crash when opening the Inspector
3075
3076         Reviewed by Anders.
3077
3078         * WebInspectorClient.cpp:
3079         (WebInspectorClient::createPage): Call
3080         WebPreferences::initWithIdentifier so our custom WebPreferences will
3081         have all its members initialized.
3082
3083 2008-01-29  Adam Roben  <aroben@apple.com>
3084
3085         Fix Bug 16786: "Display images when page opens" preference affects
3086         Inspector
3087
3088         <http://bugs.webkit.org/show_bug.cgi?id=16786>
3089         <rdar://5712914>
3090
3091         Reviewed by Anders and Darin.
3092
3093         * WebInspectorClient.cpp:
3094         (WebInspectorClient::createPage): Create our own custom WebPreferences
3095         so that we won't be affected by global preference changes. This
3096         matches what Mac does.
3097
3098 2008-01-29  Adam Roben  <aroben@apple.com>
3099
3100         Fix <rdar://5713302> Web Inspector on Windows is not using the
3101         localized strings
3102
3103         Reviewed by Steve.
3104
3105         * WebInspectorClient.cpp:
3106         (getWebKitBundle): Added.
3107         (WebInspectorClient::createPage): Call getWebKitBundle.
3108         (WebInspectorClient::localizedStringsURL): Implemented.
3109
3110 2008-01-29  Alexey Proskuryakov  <ap@webkit.org>
3111
3112         Reviewed by Darin.
3113
3114         <rdar://problem/5710692> All storage tests fail/crash
3115
3116         * WebChromeClient.cpp: (WebChromeClient::exceededDatabaseQuota): Clients that do not implement
3117         database quota callbacks should have no database support - but not crash.
3118
3119 2008-01-26  Steve Falkenburg  <sfalken@apple.com>
3120
3121         <rdar://problem/5707607> REGRESSION: I hear a beep when selecting Alt-enter in address or search fields
3122         
3123         Reviewed by Oliver.
3124
3125         * WebView.cpp:
3126         (WebView::keyDown): Allow alt-return to be marked as handled by WebKit.
3127
3128 2008-01-24  Steve Falkenburg  <sfalken@apple.com>
3129
3130         Build fix
3131
3132         * WebKit.vcproj/WebKit.sln:
3133         * WebKit.vcproj/WebKit.submit.sln:
3134
3135 2008-01-24  Adam Roben  <aroben@apple.com>
3136
3137         Build fix
3138
3139         * WebView.cpp: Added a comma.
3140
3141 2008-01-24  Alexey Proskuryakov  <ap@webkit.org>
3142
3143         Reviewed by Adam Roben.
3144
3145         <rdar://problem/5702734> REGRESSION(r28936/r15890): Shift+del does not work in win Safari
3146
3147         * WebView.cpp: Fixed keyDownEntries to list this shortcut (and related ones, for consistency).
3148
3149 2008-01-23  Steve Falkenburg  <sfalken@apple.com>
3150
3151         <rdar://problem/5698732> Copyright strings should include 2008
3152         
3153         Reviewed by Sam.
3154
3155         * WebKit.vcproj/WebKit.rc:
3156
3157 2008-01-23  Adam Roben  <aroben@apple.com>
3158
3159         Fix <rdar://5698502> Inspector window reverts to default position/size unexpectedly
3160
3161         Reviewed by Hyatt.
3162
3163         * WebInspectorClient.cpp:
3164         (defaultWindowRect): Added.
3165         (WebInspectorClient::createPage):
3166             - Use defaultWindowRect() to set the initial size/position of the
3167               Inspector window.
3168             - Pass the Inspector window's client rect to
3169               IWebView::initWithFrame so that the WebView will be initially
3170               sized to fill the window.
3171         (WebInspectorClient::showWindow): Don't move/resize the window back to
3172         the defaults every time this method is called.
3173
3174 2008-01-23  Adam Roben  <aroben@apple.com>
3175
3176         Fix <rdar://5700620> REGRESSION (r28190): "Open frame in new tab" instead of "Open link in new tab" @ digg.com
3177
3178         Test: fast/events/contextmenu-scrolled-page-with-frame.html
3179
3180         Reviewed by Dan.
3181
3182         * WebView.cpp:
3183         (WebView::handleContextMenuEvent): Translate the mouse coordinates
3184         into document coordinates before performing the hit-test. This is what
3185         EventHandler does internally.
3186
3187 2008-01-23  Steve Falkenburg  <sfalken@apple.com>
3188
3189         <rdar://problem/5699509> Allow file upload dialog to be localized.
3190         
3191         Reviewed by Darin.
3192
3193         * English.lproj/Localizable.strings: Updated.
3194         * WebCoreLocalizedStrings.cpp:
3195         (WebCore::uploadFileText): Added.
3196         (WebCore::allFilesText): Added.
3197
3198 2008-01-22  Adam Roben  <aroben@apple.com>
3199
3200         Fix <rdar://5693599> REGRESSION (r29369): scroll bars are drawing when they shouldn't be on an ad on cnn.com
3201
3202         Now that we have multiple FrameViews per Frame on Windows, we need to
3203         make sure each FrameView gets its scrolling mode set correctly. On Mac
3204         this works because WebFrameView holds the scrolling mode and a single
3205         WebFrameView is shared by many FrameViews. On Windows, we have no such
3206         shared object, so we just ask the Frame's owner element for the
3207         scrolling mode.
3208
3209         Tests: fast/frames/frame-scrolling-attribute.html
3210                fast/frames/iframe-scrolling-attribute.html
3211
3212         Reviewed by Hyatt.
3213
3214         * WebFrame.cpp:
3215         (WebFrame::transitionToCommittedForNewPage): Set the scrolling mode
3216         on the FrameView based on the scrolling mode of the Frame's owner
3217         element.
3218
3219 2008-01-21  Darin Adler  <darin@apple.com>
3220
3221         Reviewed by John Sullivan.
3222
3223         - fix <rdar://problem/5644324> Delegate-less WebKit clients should have no databases
3224         - fix incorrect value for WebDatabaseDisplayNameKey in header
3225         
3226         * Interfaces/IWebDatabaseManager.idl: Renamed detailsForDatabaseWithOrigin to
3227         detailsForDatabase. Replaced deleteDatabasesWithOrigin with deleteOrigin.
3228         Renamed deleteDatabaseWithOrigin to deleteDatabase. Fixed incorrect value for
3229         WebDatabaseDisplayNameKey.
3230         * Interfaces/IWebPreferencesPrivate.idl: Removed defaultDatabaseQuota and
3231         setDefaultDatabaseQuota.
3232         * Interfaces/IWebUIDelegatePrivate.idl: Replaced the two database quota functions
3233         with a single one.
3234
3235         * WebChromeClient.cpp:
3236         (WebChromeClient::exceededDatabaseQuota): Replaced the two database quota functions
3237         with a single one.
3238         * WebChromeClient.h: Ditto.
3239
3240         * WebDatabaseManager.cpp:
3241         (WebDatabaseManager::detailsForDatabase): Changed to check for a name of null to
3242         detect a nonexistent database rather than using isValid.
3243         (WebDatabaseManager::deleteOrigin): Updated for name change (actually a semantic
3244         change too, but both have the same name).
3245         (WebDatabaseManager::deleteDatabase): Updated for name change.
3246         (WebKitSetWebDatabasesPathIfNecessary): Ditto.
3247
3248         * WebDatabaseManager.h: Updated for name changes.
3249
3250         * WebPreferenceKeysPrivate.h: Removed WebKitDefaultDatabaseQuotaKey.
3251         * WebPreferences.cpp:
3252         (WebPreferences::initializeDefaultSettings): Removed the default for
3253         WebKitDefaultDatabaseQuotaKey.
3254         * WebPreferences.h: Removed defaultDatabaseQuota and setDefaultDatabaseQuota.
3255         * WebView.cpp:
3256         (WebView::notifyPreferencesChanged): Removed the code to set the
3257         default database origin quota in WebCore::Settings based on IWebPreferencesPrivate.
3258
3259 2008-01-19  Mark Rowe  <mrowe@apple.com>
3260
3261         Fix inconsistent line endings and set svn:eol-style=native
3262         on IDL files that did not have it set.
3263
3264         * Interfaces/IGEN_DOMObject.idl:
3265
3266 2008-01-18  Adam Roben  <aroben@apple.com>
3267
3268         Fix <rdar://5693854> REGRESSION (r29581): fast/events/frame-click-focus.html failing
3269
3270         Restored the previous behavior of IWebViewPrivate::updateActiveState,
3271         which DRT depends on, and renamed it to
3272         IWebViewPrivate::updateFocusedAndActiveState to be clearer about its
3273         side-effects.
3274
3275         Reviewed by Adele.
3276
3277         * Interfaces/IWebViewPrivate.idl:
3278         * WebView.cpp:
3279         (WebViewWndProc): Removed some FIXMEs that we no longer want to fix
3280         because the current design is better.
3281         (WebView::updateActiveState): This is now just a method of WebView,
3282         not any of its public interfaces.
3283         (WebView::updateFocusedAndActiveState): Performs the tasks that the
3284         old IWebViewPrivate::updateActiveState performed.
3285         * WebView.h:
3286
3287 2008-01-18  Alexey Proskuryakov  <ap@webkit.org>
3288
3289         Reviewed by Adam Roben.
3290
3291         Fix plugin-related tests in Debug_Internal configuration, which are failing because of CRT version mismatch
3292         between DRT and TestNetscapePlugin.
3293
3294         * WebKit.vcproj/WebKit.sln: Use newly added TestNetscapePlugin Debug_Internal configuration.
3295
3296 2008-01-17  Steve Falkenburg  <sfalken@apple.com>
3297
3298         Build fix.
3299
3300         * WebKit.vcproj/WebKit.make:
3301
3302 2008-01-16  Adam Roben  <aroben@apple.com>
3303
3304         Trigger activation changes at the right time by listening for WM_NCACTIVATE
3305
3306         This is the final part of <rdar://5006915> Inactive look for Aqua
3307         controls
3308
3309         WebView now listens to messages sent to its top-level parent window.
3310         When the top-level parent receives a WM_NCACTIVATE message, WebView
3311         recalculates whether it is contained within the current active window.
3312
3313         Reviewed by Darin.
3314
3315         * Interfaces/IWebViewPrivate.idl:
3316         (IWebViewPrivate::windowAncestryDidChange): Added. WebKit clients
3317         should call this when they change the parent window chain of a
3318         WebView.
3319         * WebView.cpp:
3320         (WebView::WebView): Initialize new member.
3321         (findTopLevelParent): Added.
3322         (WebViewWndProc):
3323             - Separated activation handling from focus handling, now that
3324               activation handling is taken care of by updateActiveState
3325               exclusively.
3326             - Compare top-level parents in our WM_KILLFOCUS handler so that we
3327               really know if focus is staying inside our top-level window.
3328             - Update our active state on WM_WINDOWPOSCHANGED.
3329             - Added a WM_TIMER handler.
3330         (WebView::initWithFrame): Call windowAncestryDidChange after setting
3331         up our HWND as a child of the host window.
3332         (WebView::windowReceivedMessage): Added. Update our active state when
3333         our top-level parent receives a WM_NCACTIVATE message.
3334         (WebView::updateActiveStateSoon): Added.
3335         (WebView::setHostWindow): Call windowAncestryDidChange after changing
3336         the host window.
3337         (WebView::updateActiveState): We are active if our top-level parent is
3338         the same as the top-level parent of the active window.
3339         (WebView::windowAncestryDidChange): Added. Recalculates our top-level
3340         parent and registers as a listener for the new top-level parent's
3341         messages.
3342         * WebView.h: Made WebView and WindowMessageListener so that it can
3343         utilize WindowMessageBroadcaster to listen to its top-level parent's
3344         messages.
3345
3346 2008-01-16  Adam Roben  <aroben@apple.com>
3347
3348         Updated for ScrollBarClient changes
3349
3350         Reviewed by Darin.
3351
3352         * WebScrollBar.h:
3353         (WebScrollBar::isActive): Added.
3354
3355 2008-01-16  Adam Roben  <aroben@apple.com>
3356
3357         Updated for changes to WebCore methods
3358
3359         Focus and active state are now handled (somewhat) separately. Future
3360         patches will further separate these concepts.
3361
3362         Reviewed by Darin.
3363
3364         * WebView.cpp:
3365         (WebViewWndProc): Updated for method renames.
3366         (WebView::updateActiveState): Only change the active state here. Focus
3367         is handled inside WM_SETFOCUS and WM_KILLFOCUS message handlers.
3368
3369 2008-01-16  Steve Falkenburg  <sfalken@apple.com>
3370
3371         <rdar://problem/5097419> Cursor flickers when over window resizer
3372         
3373         Reviewed by Sam.
3374
3375         * WebView.cpp:
3376         (WebViewWndProc): Don't set the resize cursor when over the non-border resize area.
3377
3378 2008-01-15  Steve Falkenburg  <sfalken@apple.com>
3379
3380         <rdar://problem/5663888> Cannot type into a JavaScript prompt created from a timer
3381         
3382         Allow nested timers from javascript prompts to allow for WebView-based edit fields.
3383         
3384         Reviewed by Darin.
3385
3386         * WebChromeClient.cpp:
3387         (WebChromeClient::runJavaScriptPrompt):
3388
3389 2008-01-14  Steve Falkenburg  <sfalken@apple.com>
3390
3391         Use shared vsprops for most vcproj properties.
3392         
3393         Reviewed by Darin.
3394
3395         * WebKit.vcproj/Interfaces.vcproj:
3396         * WebKit.vcproj/WebKit.vcproj:
3397         * WebKit.vcproj/WebKitGUID.vcproj: Add missing Debug_Internal config.
3398
3399 2008-01-11  Steve Falkenburg  <sfalken@apple.com>
3400
3401         Share common files across projects.
3402         
3403         Unify vsprops files
3404         Debug:          common.vsprops, debug.vsprops
3405         Debug_Internal: common.vsprops, debug.vsprops, debug_internal.vsprops
3406         Release:        common.vsprops, release.vsprops
3407         
3408         Shared properties can go into common.vsprops, shared debug settings can go into debug.vsprops.
3409         debug_internal.vsprops will be mostly empty except for file path prefix modifiers.
3410
3411         Pull auto-version.sh, VERSION, and PRODUCTVERSION from tools.
3412
3413         Reviewed by Adam Roben.
3414
3415         * WebKit.vcproj/Interfaces.vcproj:
3416         * WebKit.vcproj/PRODUCTVERSION: Removed.
3417         * WebKit.vcproj/VERSION: Removed.
3418         * WebKit.vcproj/WebKit.vcproj:
3419         * WebKit.vcproj/WebKitGUID.vcproj:
3420         * WebKit.vcproj/auto-version.sh: Removed.
3421         * WebKit.vcproj/debug.vsprops: Removed.
3422         * WebKit.vcproj/debug_internal.vsprops: Removed.
3423         * WebKit.vcproj/release.vsprops: Removed.
3424
3425 2008-01-11  Adam Roben  <aroben@apple.com>
3426
3427         Fix Bug 16828: WebView never paints if first page load is canceled after being committed but before layout
3428
3429         <http://bugs.webkit.org/show_bug.cgi?id=16828>
3430         <rdar://5682402>
3431
3432         Now that we have 1) a real loader and 2) multiple FrameViews per
3433         Frame, we no longer need the hackery we had in our WM_PAINT handler
3434         that decided whether or not to paint. We now always want to paint,
3435         letting the swapping of FrameViews that happens in
3436         transitionToCommittedForNewPage handle which document gets painted.
3437
3438         Reviewed by Hyatt.
3439
3440         * WebView.cpp:
3441         (WebViewWndProc): Removed hackery that decided sometimes not to paint.
3442
3443 2008-01-11  Mark Rowe  <mrowe@apple.com>
3444
3445         Windows build fix.  Update to match method name in WebCore.
3446
3447         * WebJavaScriptCollector.cpp:
3448         (WebJavaScriptCollector::collectOnAlternateThread):
3449
3450 2008-01-10  Geoffrey Garen  <ggaren@apple.com>
3451
3452         Reviewed by John Sullivan.
3453
3454         Updated for transition away from JavaScriptStatistics, which is gone now.
3455
3456         * WebJavaScriptCollector.cpp:
3457         (WebJavaScriptCollector::collect):
3458         (WebJavaScriptCollector::collectOnAlternateThread):
3459         (WebJavaScriptCollector::objectCount):
3460
3461 2008-01-10  Maciej Stachowiak  <mjs@apple.com>
3462
3463         Not reviewed, build fix.
3464         
3465         - more build fixing
3466
3467         * WebDatabaseManager.cpp:
3468         * WebSecurityOrigin.h:
3469
3470 2008-01-10  Maciej Stachowiak  <mjs@apple.com>
3471
3472         Not reviewed, build fix.
3473         
3474         - try to fix build
3475
3476         * WebDatabaseManager.cpp:
3477         (WebDatabaseManager::databasesWithOrigin):
3478         * WebSecurityOrigin.h:
3479
3480 2008-01-10  Maciej Stachowiak  <mjs@apple.com>
3481
3482         Reviewed by Sam.
3483
3484         - remove SecurityOriginData and fold its functionality into SecurityOrigin
3485
3486         * WebChromeClient.cpp:
3487         (WebChromeClient::requestQuotaIncreaseForNewDatabase):
3488         (WebChromeClient::requestQuotaIncreaseForDatabaseOperation):
3489         * WebChromeClient.h:
3490         * WebDatabaseManager.cpp:
3491         (WebDatabaseManager::origins):
3492         (WebDatabaseManager::databasesWithOrigin):
3493         (WebDatabaseManager::detailsForDatabaseWithOrigin):
3494         (WebDatabaseManager::deleteDatabasesWithOrigin):
3495         (WebDatabaseManager::deleteDatabaseWithOrigin):
3496         (WebDatabaseManager::dispatchDidModifyOrigin):
3497         (WebDatabaseManager::dispatchDidModifyDatabase):
3498         * WebDatabaseManager.h:
3499         * WebSecurityOrigin.cpp:
3500         (WebSecurityOrigin::createInstance):
3501         (WebSecurityOrigin::WebSecurityOrigin):
3502         (WebSecurityOrigin::protocol):
3503         (WebSecurityOrigin::domain):
3504         (WebSecurityOrigin::port):
3505         (WebSecurityOrigin::usage):
3506         (WebSecurityOrigin::quota):
3507         (WebSecurityOrigin::setQuota):
3508         * WebSecurityOrigin.h:
3509
3510 2008-01-10  David Kilzer  <ddkilzer@apple.com>
3511
3512         dftables should be rewritten as a script
3513
3514         <http://bugs.webkit.org/show_bug.cgi?id=16818>
3515         <rdar://problem/5681463>
3516
3517         Reviewed by Darin.
3518
3519         * WebKit.vcproj/WebKit.sln: Removed reference to dftables project.
3520
3521 2008-01-10  Adam Roben  <aroben@apple.com>
3522
3523         Fix many bugs by giving Windows one FrameView per page load
3524         
3525         Bugs include:
3526             <rdar://5659200>
3527                 Windows back/forward cache causes crashes in the layout tests
3528             <rdar://5659355>
3529             <http://bugs.webkit.org/show_bug.cgi?id=16808>
3530                 REGRESSION: PLT broken on Windows due to back/forward cache
3531             <rdar://5663654>
3532             <http://bugs.webkit.org/show_bug.cgi?id=16607>
3533                 Random crashes in FrameView::scheduleRelayout while surfing
3534                 Thinkgeek
3535
3536         On Windows until now we've only had one FrameView per Frame. Once the
3537         back/forward cache was turned on this started causing assertions to
3538         fail and crashes to occur due to a single FrameView being both in the
3539         back/forward cache (possibly multiple times!) and used by a live
3540         document. We now create a new FrameView for each page load, just as
3541         Mac does.
3542
3543         This has the side-effect of plugging some of the world leaks seen at
3544         the end of the PLT.
3545
3546         Reviewed by Hyatt.
3547
3548         * WebFrame.cpp:
3549         (WebFrame::initWithWebFrameView): Don't create the FrameView right
3550         away -- it'll be created when the load is committed.
3551         (WebFrame::transitionToCommittedFromCachedPage): Match the Mac by no
3552         longer calling resetMultipleFormSubmissionProtection here.
3553         (WebFrame::transitionToCommittedForNewPage): Ported code from
3554         -[WebCoreFrameBridge
3555         createFrameViewWithNSView:marginWidth:marginHeight:],
3556         -[WebCoreFrameBridge installInFrame:], and moved code here from
3557         WebFrame::initWithWebFrameView and WebView::initWithFrame. WebCore
3558         takes care of resetMultipleFormSubmissionProtection, just like it does
3559         on the Mac.
3560         * WebView.cpp:
3561         (WebView::initWithFrame): Moved FrameView initialization code to
3562         WebFrame::transitionToCommittedForNewPage.
3563
3564 2008-01-09  Ada Chan  <adachan@apple.com>
3565
3566         Fix crash that could happen if the key we are passing to the HashMap is 0 in WebView::interpretKeyEvent().
3567
3568         Reviewed by Darin.
3569
3570         * WebView.cpp:
3571         (WebView::interpretKeyEvent):
3572
3573 2008-01-08  Steve Falkenburg  <sfalken@apple.com>
3574
3575         Fix build.
3576
3577         * DOMCoreClasses.cpp:
3578
3579 2008-01-07  Antti Koivisto  <antti@apple.com>
3580
3581         Try to fix the Windows build.
3582
3583         * WebKit.vcproj/WebKit.sln:
3584
3585 2008-01-07  Antti Koivisto  <antti@apple.com>
3586
3587         Reviewed by Steve.
3588         
3589         Re-enable media support in Windows build.
3590
3591         * WebKit.vcproj/WebKit.vcproj:
3592
3593 2008-01-07  Steve Falkenburg  <sfalken@apple.com>
3594
3595         Build fix.
3596
3597         * WebKit.vcproj/InterfacesGenerated.vcproj:
3598
3599 2008-01-07  Dan Bernstein  <mitz@apple.com>
3600
3601         Reviewed by Dave Hyatt.
3602
3603         - <rdar://problem/5665216> Support the unicode-range property in @font-face rules
3604
3605         * WebView.cpp:
3606         (WebView::setShouldApplyMacFontAscentHack):
3607
3608 2008-01-07  Holger Freyther  <zecke@selfish.org>
3609
3610         Reviewed by Alp Toker.
3611
3612         * Qt and Gtk must know if a ContextMenuItem is checkable. Add a new ContextMenuItemType for checkable
3613         actions.
3614         * Use this information in the Gtk platform to create a GtkCheckMenuItem when needed.
3615         * Update the ContextMenuController to accept CheckableActionTypes as well.
3616         * Change ContextMenu.cpp to use the CheckableActionType. The information if a item is checkable
3617         was extracted from ContextMenu::checkOrEnableIfNeeded.
3618         * Update the Qt and Windows port.
3619
3620         * WebContextMenuClient.cpp:
3621
3622 2008-01-04  Alexey Proskuryakov  <ap@webkit.org>
3623
3624         Reviewed by Adam Roben.
3625
3626         http://bugs.webkit.org/show_bug.cgi?id=16733
3627         REGRESSION: Crash on Safari Start
3628
3629         * Interfaces/IWebViewPrivate.idl: Should have added a new method at the end.
3630
3631 2008-01-04  Alexey Proskuryakov  <ap@webkit.org>
3632
3633         Reviewed by Darin.
3634
3635         <rdar://problem/5611712> xsl:sort does not use a case folding sort, and the 'case-order' attribute is ignored (16077)
3636
3637         * WebKit.vcproj/WebKit.vcproj: Link to icuin{_debug}.lib
3638
3639 2008-01-04  Adam Roben  <aroben@apple.com>
3640
3641         Fix <rdar://4968855> Shift-PageUp/Shift-PageDown only select one line of text
3642
3643         Test: platform/win/editing/selection/shift-page-down-up.html
3644
3645         Reviewed by Oliver.
3646
3647         * WebView.cpp: Correct the commands associated with
3648         Shift-PageUp/Shift-PageDown.
3649
3650 2008-01-03  Alexey Proskuryakov  <ap@webkit.org>
3651
3652         Reviewed by Darin.
3653
3654         <rdar://problem/5463489> A number of layout tests should be using execCommand instead of textInputController
3655
3656         * Interfaces/IWebViewPrivate.idl:
3657         * WebView.cpp:
3658         (WebView::executeCoreCommandByName):
3659         * WebView.h:
3660         Added an SPI to implement layoutTestController.execCommand.
3661
3662 2008-01-03  Ada Chan  <adachan@apple.com>
3663
3664         Replaced the use of editor command "ForwardDelete" with "DeleteForward" to be consistent
3665         with our use of "DeleteBackward".
3666
3667         Rubber-stamped by Jon.
3668
3669         * WebView.cpp:
3670
3671 2008-01-03  Ada Chan  <adachan@apple.com>
3672
3673         Regression: backspace stopped working on text inputs
3674         - Replaced the use of editor command "BackwardDelete" with "DeleteBackward" since it's no longer supported.
3675
3676         Reviewed by Adam.
3677
3678         * WebEditorClient.cpp:
3679         (WebEditorClient::textWillBeDeletedInTextField):
3680         * WebView.cpp:
3681
3682 2008-01-02  Alice Liu  <alice.liu@apple.com>
3683
3684         Reviewed by Maciej.
3685
3686         Fixed <rdar://5283861> (problems scrolling in gmail message content area)
3687
3688         * WebView.cpp:
3689         (WebView::keyDown):
3690         bubble scrolling from a key event
3691
3692 2008-01-01  Matt Lilek  <webkit@mattlilek.com>
3693
3694         Attempt to fix the Windows bots until the bots
3695         can get the Quicktime SDK installed.
3696
3697         * WebKit.vcproj/WebKit.sln:
3698         * WebKit.vcproj/WebKit.vcproj:
3699
3700 2007-12-30  Matt Lilek  <webkit@mattlilek.com>
3701
3702         Reviewed by Darin.
3703
3704         Bug 16578: Windows Web Inspector window needs minimum size
3705         http://bugs.webkit.org/show_bug.cgi?id=16578
3706
3707         * WebInspectorClient.cpp:
3708         (WebInspectorClient::onGetMinMaxInfo):
3709         (WebInspectorWndProc):
3710         * WebInspectorClient.h:
3711
3712 2007-12-21  Antti Koivisto  <antti@apple.com>
3713
3714         Reviewed by Steve.
3715         
3716         Build media support on Windows.
3717
3718         * WebKit.vcproj/WebKit.sln:
3719         * WebKit.vcproj/WebKit.vcproj:
3720