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