Change WebPreferences to be backed by CFPreferences
[WebKit-https.git] / WebKit / win / ChangeLog
1 2008-02-28  Adam Roben  <aroben@apple.com>
2
3         Change WebPreferences to be backed by CFPreferences
4
5         Reviewed by Ada, Geoff, Steve, and Darin.
6
7         * WebPreferenceKeysPrivate.h:
8         * WebPreferences.cpp:
9         (WebPreferences::sharedStandardPreferences): Changed to call
10         setAutoSaves(TRUE) before calling load(). This ensures that the
11         preferences being migrated to CFPreferences are saved to disk.
12         (WebPreferences::valueForKey): Changed to return a RetainPtr to ensure
13         that the refcount is managed properly. Now attempts to retrieve a
14         value from CFPreferences before falling back to the default settings.
15         (WebPreferences::setValueForKey): Now saves the value in
16         CFPreferences if m_autoSaves is true.
17         (WebPreferences::stringValueForKey): Updated for valueForKey changes.
18         (WebPreferences::integerValueForKey): DItto.
19         (WebPreferences::boolValueForKey): Ditto.
20         (WebPreferences::floatValueForKey): Ditto.
21         (WebPreferences::save): Now simply calls CFPreferencesAppSynchronize.
22         (WebPreferences::load): Always initializes m_privatePrefs to an empty
23         CFMutableDictionary.
24         (WebPreferences::migrateWebKitPreferencesToCFPreferences): Migrates
25         preferences from our old custom plist to CFPreferences and then
26         deletes our custom plist, if the migration has never occurred before.
27         (WebPreferences::copyWebKitPreferencesToCFPreferences): Copies
28         preferences to CFPreferences. If we've never migrated the default
29         settings from Safari 3 Beta before, we omit them from this copying
30         procedure.
31         * WebPreferences.h:
32
33 2008-02-28  Adam Roben  <aroben@apple.com>
34
35         Refactor value <-> CFNumber conversions into some helper functions
36
37         Reviewed by Jon.
38
39         * WebPreferences.cpp:
40         (preferencesPath): Changed to return a const String&.
41         (numberValueForPreferencesValue): Converts a value from preferences to
42         a native numeric type.
43         (cfNumber): Converts a native numeric value to a CFNumberRef.
44         (booleanValueForPreferencesValue): Converts a value from preferences
45         to a native boolean.
46         (WebPreferences::integerValueForKey): Changed to call
47         numberValueForPreferencesValue.
48         (WebPreferences::floatValueForKey): Ditto.
49         (WebPreferences::boolValueForKey): Changed to call
50         booleanValueForPreferencesValue.
51         (WebPreferences::setIntegerValue): Changed to call cfNumber.
52         (WebPreferences::setLongLongValue): Ditto.
53
54 2008-02-27  Adam Roben  <aroben@apple.com>
55
56         Add WebPreferences::setValueForKey
57
58         This is just a small refactoring of some duplicated logic into a
59         shared method.
60
61         Reviewed by Sam.
62
63         * WebPreferences.cpp:
64         (WebPreferences::setValueForKey): Added.
65         (WebPreferences::setStringValue): Call setValueForKey.
66         (WebPreferences::setIntegerValue): Ditto.
67         (WebPreferences::setBoolValue): Ditto.
68         (WebPreferences::setLongLongValue): Ditto.
69         * WebPreferences.h:
70
71 2008-02-27  Adam Roben  <aroben@apple.com>
72
73         Remove WebPreferences' static members
74
75         s_defaultSettings is now a file-level static, and
76         s_standardPreferences has been removed completely (it wasn't being
77         used).
78
79         Reviewed by Sam.
80
81         * WebPreferences.cpp:
82         (WebPreferences::initializeDefaultSettings):
83         (WebPreferences::valueForKey):
84         (WebPreferences::migrateDefaultSettingsFromSafari3Beta):
85         (WebPreferences::removeValuesMatchingDefaultSettings):
86         * WebPreferences.h:
87
88 2008-02-29  Steve Falkenburg  <sfalken@apple.com>
89
90         Don't free the VARIANT passed into Write, since it is an input parameter owned by the caller.
91         Found via code inspection.
92         
93         Reviewed by Adam.
94
95         * WebActionPropertyBag.cpp:
96         (WebActionPropertyBag::Write):
97         * WebElementPropertyBag.cpp:
98         (WebElementPropertyBag::Write):
99
100 2008-02-27  Matt Lilek  <webkit@mattlilek.com>
101
102         Reviewed by Adam Roben.
103
104         Bug 14348: Messing up the inspector by dragging an URL into it
105         http://bugs.webkit.org/show_bug.cgi?id=14348
106         <rdar://problem/5283620> and <rdar://problem/5712808>
107
108         Add a new class to handle the Inspector's delegate calls.
109
110         * WebCoreSupport/WebInspectorClient.cpp:
111         (WebInspectorClient::createPage):
112         * WebCoreSupport/WebInspectorDelegate.cpp: Added.
113         (:m_refCount):
114         (WebInspectorDelegate::createInstance):
115         (WebInspectorDelegate::AddRef):
116         (WebInspectorDelegate::Release):
117         (WebInspectorDelegate::dragDestinationActionMaskForDraggingInfo):
118         * WebCoreSupport/WebInspectorDelegate.h: Added.
119         (WebInspectorDelegate::QueryInterface):
120         (WebInspectorDelegate::createWebViewWithRequest):
121         (WebInspectorDelegate::webViewShow):
122         (WebInspectorDelegate::webViewClose):
123         (WebInspectorDelegate::webViewFocus):
124         (WebInspectorDelegate::webViewUnfocus):
125         (WebInspectorDelegate::webViewFirstResponder):
126         (WebInspectorDelegate::makeFirstResponder):
127         (WebInspectorDelegate::setStatusText):
128         (WebInspectorDelegate::webViewStatusText):
129         (WebInspectorDelegate::webViewAreToolbarsVisible):
130         (WebInspectorDelegate::setToolbarsVisible):
131         (WebInspectorDelegate::webViewIsStatusBarVisible):
132         (WebInspectorDelegate::setStatusBarVisible):
133         (WebInspectorDelegate::webViewIsResizable):
134         (WebInspectorDelegate::setResizable):
135         (WebInspectorDelegate::setFrame):
136         (WebInspectorDelegate::webViewFrame):
137         (WebInspectorDelegate::setContentRect):
138         (WebInspectorDelegate::webViewContentRect):
139         (WebInspectorDelegate::runJavaScriptAlertPanelWithMessage):
140         (WebInspectorDelegate::runJavaScriptConfirmPanelWithMessage):
141         (WebInspectorDelegate::runJavaScriptTextInputPanelWithPrompt):
142         (WebInspectorDelegate::runBeforeUnloadConfirmPanelWithMessage):
143         (WebInspectorDelegate::runOpenPanelForFileButtonWithResultListener):
144         (WebInspectorDelegate::mouseDidMoveOverElement):
145         (WebInspectorDelegate::contextMenuItemsForElement):
146         (WebInspectorDelegate::validateUserInterfaceItem):
147         (WebInspectorDelegate::shouldPerformAction):
148         (WebInspectorDelegate::willPerformDragDestinationAction):
149         (WebInspectorDelegate::dragSourceActionMaskForPoint):
150         (WebInspectorDelegate::willPerformDragSourceAction):
151         (WebInspectorDelegate::contextMenuItemSelected):
152         (WebInspectorDelegate::hasCustomMenuImplementation):
153         (WebInspectorDelegate::trackCustomPopupMenu):
154         (WebInspectorDelegate::measureCustomMenuItem):
155         (WebInspectorDelegate::drawCustomMenuItem):
156         (WebInspectorDelegate::addCustomMenuDrawingData):
157         (WebInspectorDelegate::cleanUpCustomMenuDrawingData):
158         (WebInspectorDelegate::canTakeFocus):
159         (WebInspectorDelegate::takeFocus):
160         (WebInspectorDelegate::registerUndoWithTarget):
161         (WebInspectorDelegate::removeAllActionsWithTarget):
162         (WebInspectorDelegate::setActionTitle):
163         (WebInspectorDelegate::undo):
164         (WebInspectorDelegate::redo):
165         (WebInspectorDelegate::canUndo):
166         (WebInspectorDelegate::canRedo):
167         * WebKit.vcproj/WebKit.vcproj:
168
169 2008-02-26  Adam Roben  <aroben@apple.com>
170
171         Move ResourceLoadDelegate methods to WebFrameLoaderClient
172
173         Changed all methods to use early returns where possible and COMPtr's
174         AdoptCOM/Query constructors.
175
176         Reviewed by Anders.
177
178         * WebCoreSupport/WebFrameLoaderClient.cpp:
179         (WebFrameLoaderClient::assignIdentifierToInitialRequest):
180         (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
181         (WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
182         (WebFrameLoaderClient::dispatchWillSendRequest):
183         (WebFrameLoaderClient::dispatchDidReceiveResponse):
184         (WebFrameLoaderClient::dispatchDidReceiveContentLength):
185         (WebFrameLoaderClient::dispatchDidFinishLoading):
186         (WebFrameLoaderClient::dispatchDidFailLoading):
187         * WebCoreSupport/WebFrameLoaderClient.h:
188         * WebFrame.cpp:
189         * WebFrame.h:
190
191 2008-02-26  Adam Roben  <aroben@apple.com>
192
193         Move two more methods to WebFrameLoaderClient
194
195         Reviewed by Anders.
196
197         * WebCoreSupport/WebFrameLoaderClient.cpp:
198         (kit):
199         (WebFrameLoaderClient::dispatchCreatePage): Changed nested ifs to
200         early returns, and changed to use the COMPtr Query constructor.
201         (WebFrameLoaderClient::dispatchDidLoadMainResource): Added an early
202         return, and changed to use getWebDataSource.
203         * WebCoreSupport/WebFrameLoaderClient.h:
204         * WebFrame.cpp:
205         * WebFrame.h:
206
207 2008-02-26  Adam Roben  <aroben@apple.com>
208
209         Get rid of IID_WebFrame
210
211         Reviewed by Anders.
212
213         * WebFrame.cpp: Removed IID_WebFrame definition.
214         (WebFrame::QueryInterface): Use __uuidof(WebFrame) instead of
215         IID_WebFrame.
216         (WebFrame::isDescendantOfFrame): Use COMPtr's Query constructor
217         instead of a manual QueryInterface.
218         * WebFrame.h: Removed IID_WebFrame declaration, gave WebFrame a
219         DECLSPEC_UUID.
220
221 2008-02-26  Adam Roben  <aroben@apple.com>
222
223         Move WebHistory-related methods to WebFrameLoaderClient
224
225         Reviewed by Anders.
226
227         * WebCoreSupport/WebFrameLoaderClient.cpp:
228         (WebFrameLoaderClient::updateGlobalHistory):
229         (WebFrameLoaderClient::shouldGoToHistoryItem):
230         (WebFrameLoaderClient::setTitle): Changed some nested ifs into early
231         returns.
232         (WebFrameLoaderClient::webHistory): Changed to return a COMPtr to
233         make the reference management foolproof.
234         * WebCoreSupport/WebFrameLoaderClient.h:
235         * WebFrame.cpp:
236         * WebFrame.h:
237
238 2008-02-26  Adam Roben  <aroben@apple.com>
239
240         Move cache-related methods to WebFrameLoaderClient
241
242         Reviewed by Anders.
243
244         * WebCoreSupport/WebFrameLoaderClient.cpp:
245         (getWebDataSource): Moved to the top of the file.
246         (WebFrameLoaderClient::savePlatformDataToCachedPage):
247         (WebFrameLoaderClient::transitionToCommittedForNewPage):
248         (WebFrameLoaderClient::canCachePage):
249         * WebCoreSupport/WebFrameLoaderClient.h:
250         * WebFrame.cpp:
251         * WebFrame.h:
252
253 2008-02-25  Adam Roben  <aroben@apple.com>
254
255         Move plugin-related methods to WebFrameLoaderClient
256
257         Reviewed by Anders.
258
259         * WebCoreSupport/WebFrameLoaderClient.cpp:
260         (WebFrameLoaderClient::WebFrameLoaderClient):
261         (WebFrameLoaderClient::setMainDocumentError):
262         (WebFrameLoaderClient::committedLoad): Added some early returns.
263         (WebFrameLoaderClient::receivedData):
264         (WebFrameLoaderClient::finishedLoading): Ditto.
265         (getWebDataSource):
266         (WebFrameLoaderClient::createPlugin):
267         * WebCoreSupport/WebFrameLoaderClient.h:
268         * WebFrame.cpp:
269         (WebFrame::WebFramePrivate::WebFramePrivate):
270         * WebFrame.h:
271
272 2008-02-25  Adam Roben  <aroben@apple.com>
273
274         Move createFrame to WebFrameLoaderClient
275
276         Reviewed by Anders.
277
278         * WebCoreSupport/WebFrameLoaderClient.cpp:
279         (WebFrameLoaderClient::createFrame):
280         (WebFrameLoaderClient::loadURLIntoChild):
281         * WebCoreSupport/WebFrameLoaderClient.h:
282         * WebFrame.cpp:
283         * WebFrame.h:
284
285 2008-02-25  Adam Roben  <aroben@apple.com>
286
287         Move progress-related methods to WebFrameLoaderClient
288
289         Reviewed by Anders.
290
291         * WebCoreSupport/WebFrameLoaderClient.cpp:
292         (WebFrameLoaderClient::postProgressStartedNotification):
293         (WebFrameLoaderClient::postProgressEstimateChangedNotification):
294         (WebFrameLoaderClient::postProgressFinishedNotification):
295         * WebCoreSupport/WebFrameLoaderClient.h:
296         * WebFrame.cpp:
297         * WebFrame.h:
298
299 2008-02-25  Adam Roben  <aroben@apple.com>
300
301         Remove WebFrame::detachedFromParent1
302
303         This method was removed from FrameLoaderClient in r19042, but was
304         never removed from WebFrame.
305
306         Reviewed by Anders.
307
308         * WebFrame.cpp:
309         * WebFrame.h:
310
311 2008-02-23  Adam Roben  <aroben@apple.com>
312
313         Move many dispatch methods to WebFrameLoaderClient
314
315         Reviewed by Sam.
316
317         * WebCoreSupport/WebFrameLoaderClient.cpp:
318         (WebFrameLoaderClient::dispatchDidHandleOnloadEvents):
319         (WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
320         (WebFrameLoaderClient::dispatchDidCancelClientRedirect):
321         (WebFrameLoaderClient::dispatchWillPerformClientRedirect):
322         (WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
323         (WebFrameLoaderClient::dispatchWillClose):
324         (WebFrameLoaderClient::dispatchDidReceiveIcon):
325         (WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
326         (WebFrameLoaderClient::dispatchDidReceiveTitle):
327         (WebFrameLoaderClient::dispatchDidCommitLoad):
328         (WebFrameLoaderClient::dispatchDidFinishDocumentLoad):
329         (WebFrameLoaderClient::dispatchDidFinishLoad):
330         (WebFrameLoaderClient::dispatchDidFirstLayout):
331         (WebFrameLoaderClient::dispatchShow):
332         * WebCoreSupport/WebFrameLoaderClient.h:
333         * WebFrame.cpp:
334         * WebFrame.h:
335
336 2008-02-23  Adam Roben  <aroben@apple.com>
337
338         Move two more methods to WebFrameLoaderClient
339
340         Reviewed by Sam.
341
342         * WebCoreSupport/WebFrameLoaderClient.cpp:
343         (WebFrameLoaderClient::hasFrameView):
344         (WebFrame::forceLayout):
345         * WebCoreSupport/WebFrameLoaderClient.h:
346         * WebFrame.cpp:
347         * WebFrame.h:
348
349 2008-02-24  Darin Adler  <darin@apple.com>
350
351         Reviewed by Sam.
352
353         - remove separate client calls for "standard" and "reload' history
354
355         * WebFrame.cpp:
356         (WebFrame::updateGlobalHistory):
357         * WebFrame.h:
358
359 2008-02-23  Brent Fulgham  <bfulgham@gmail.com>
360
361         Not reviewed, build fix.
362
363         * WebIconDatabase.cpp:
364         * WebIconDatabase.h:
365
366 2008-02-22  Adam Roben  <aroben@apple.com>
367
368         Move hasWebView to WebFrameLoaderClient
369
370         I added an m_webFrame member to WebFrameLoaderClient. This is slightly
371         strange because WebFrame inherits from WebFrameLoaderClient, but this
372         member will be needed once we remove the inheritance, so we might as
373         well prepare for that now.
374
375         Reviewed by Anders.
376
377         * WebCoreSupport/WebFrameLoaderClient.cpp:
378         (WebFrameLoaderClient::WebFrameLoaderClient): Changed to take a
379         WebFrame* parameter.
380         (WebFrameLoaderClient::hasWebView): Moved here from WebFrame.cpp.
381         * WebCoreSupport/WebFrameLoaderClient.h: Added an m_webFrame
382         parameter.
383         * WebFrame.cpp: Removed hasWebView.
384         (WebFrame::WebFrame): Updated for WebFrameLoaderClient constructor
385         change.
386         * WebFrame.h:
387
388 2008-02-22  Adam Roben  <aroben@apple.com>
389
390         Start to move FrameLoaderClient methods off WebFrame onto a separate class
391
392         WebFrame now inherits from a new WebFrameLoaderClient class, which
393         will gradually assume all FrameLoaderClient responsibilities. Once
394         that process is complete, WebFrame will no longer inherit from
395         WebFrameLoaderClient.
396
397         In this first patch, I've only moved createDocumentLoader up to the
398         WebFrameLoaderClient class.
399
400         Reviewed by Anders.
401
402         * WebCoreSupport/WebFrameLoaderClient.cpp: Added.
403         (WebFrameLoaderClient::WebFrameLoaderClient):
404         (WebFrameLoaderClient::~WebFrameLoaderClient):
405         (WebFrameLoaderClient::createDocumentLoader): Moved here from
406         WebFrame.cpp.
407         * WebCoreSupport/WebFrameLoaderClient.h: Added.
408         * WebFrame.cpp: Removed createDocumentLoader implementation.
409         * WebFrame.h: Changed to inherit from WebFrameLoaderClient.
410         * WebKit.vcproj/WebKit.vcproj: Added new files to the project.
411
412 2008-02-22  Adam Roben  <aroben@apple.com>
413
414         Move FormValuesPropertyBag into its own files
415
416         Reviewed by Sam.
417
418         * WebCoreSupport/FormValuesPropertyBag.cpp: Added.
419         (FormValuesPropertyBag::QueryInterface):
420         (FormValuesPropertyBag::AddRef):
421         (FormValuesPropertyBag::Release):
422         (FormValuesPropertyBag::Read):
423         (FormValuesPropertyBag::Write):
424         (FormValuesPropertyBag::CountProperties):
425         (FormValuesPropertyBag::GetPropertyInfo):
426         (FormValuesPropertyBag::LoadObject):
427         * WebCoreSupport/FormValuesPropertyBag.h: Added.
428         (FormValuesPropertyBag::FormValuesPropertyBag):
429         * WebFrame.cpp: Deleted FormValuesPropertyBag code.
430         * WebKit.vcproj/WebKit.vcproj: Added new files to the project.
431
432 2008-02-22  Adam Roben  <aroben@apple.com>
433
434         Remove some unused WebFrame methods
435
436         FrameWinClient was deleted back in r22965, but these methods were
437         never deleted.
438
439         Reviewed by Sam.
440
441         * WebFrame.cpp:
442         * WebFrame.h: Made one createFrame overload protected, since it's only
443         called internally by WebFrame.
444
445 2008-02-21  Adam Roben  <aroben@apple.com>
446
447         Move Client implementations into a WebCoreSupport directory
448
449         Reviewed by Anders.
450
451         * WebKit.vcproj/WebKit.vcproj: Updated file paths, and added
452         WebCoreSupport directory to the include path.
453         * WebCoreSupport/WebChromeClient.cpp: Renamed from WebKit/win/WebChromeClient.cpp.
454         * WebCoreSupport/WebChromeClient.h: Renamed from WebKit/win/WebChromeClient.h.
455         * WebCoreSupport/WebContextMenuClient.cpp: Renamed from WebKit/win/WebContextMenuClient.cpp.
456         * WebCoreSupport/WebContextMenuClient.h: Renamed from WebKit/win/WebContextMenuClient.h.
457         * WebCoreSupport/WebDragClient.cpp: Renamed from WebKit/win/WebDragClient.cpp.
458         * WebCoreSupport/WebDragClient.h: Renamed from WebKit/win/WebDragClient.h.
459         * WebCoreSupport/WebEditorClient.cpp: Renamed from WebKit/win/WebEditorClient.cpp.
460         * WebCoreSupport/WebEditorClient.h: Renamed from WebKit/win/WebEditorClient.h.
461         * WebCoreSupport/WebInspectorClient.cpp: Renamed from WebKit/win/WebInspectorClient.cpp.
462         * WebCoreSupport/WebInspectorClient.h: Renamed from WebKit/win/WebInspectorClient.h.
463
464 2008-02-20  Sam Weinig  <sam@webkit.org>
465
466         Reviewed by Darin and Geoff.
467
468         - WebKit part of <rdar://problem/5754378> work around missing video on YouTube front page with a site-specific hack
469
470         * WebView.cpp:
471         (WebView::notifyPreferencesChanged): Added a call to Settings::setNeedsSiteSpecificQuirks.
472         (WebView::setAllowSiteSpecificHacks): Added a comment about the problem Darin noticed, where
473         after you disable the site-specific hacks they persist until you open a new window or tweak
474         some other preference.
475
476 2008-02-19  Darin Adler  <darin@apple.com>
477
478         Reviewed by Sam.
479
480         * WebFrame.cpp:
481         (WebFrame::renderTreeAsExternalRepresentation): Changed to use String instead
482         of DeprecatedString.
483
484 2008-02-18  Steve Falkenburg  <sfalken@apple.com>
485
486         Make Drosera work on Vista.
487         
488         Runtime type library registration on Vista requires use of two new call:
489         RegisterTypeLibraryForUser and UnRegisterTypeLibraryForUser, which write to
490         HKCU.  LoadTypeLib[Ex] registers under HKLM, which fails under vista due to UAC.
491         
492         Reviewed by Adam.
493
494         * WebKitDLL.cpp:
495         (DllUnregisterServer): Call UnRegisterTypeLibraryForUser if available. Fix version number.
496         (DllRegisterServer): Call RegisterTypeLibraryForUser if available.
497
498 2008-02-18  Matt Lilek  <webkit@mattlilek.com>
499
500         Reviewed by Adam.
501
502         Remove FindSafari's Release configuration.
503
504         * WebKit.vcproj/WebKit.sln:
505
506 2008-02-16  Alexey Proskuryakov  <ap@webkit.org>
507
508         Reviewed by Darin.
509
510         http://bugs.webkit.org/show_bug.cgi?id=17397
511         <rdar://problem/5748245> REGRESSION (r30236-30336): Cannot backspace/enter in forms on Windows
512
513         * WebKit.vcproj/WebKit.vcproj: Add ENABLE_CROSS_DOCUMENT_MESSAGING definitions.
514
515 2008-02-15  Darin Adler  <darin@apple.com>
516
517         Reviewed by Adam.
518
519         - quick fix for a problem causing an assertion on launch
520
521         * WebFrame.cpp:
522         (WebFrame::loadData): Make an empty KURL even if the BSTR is null.
523         Later we might want to rethink this.
524
525 2008-02-14  Darin Adler  <darin@apple.com>
526
527         - updated for WebCore KURL changes
528
529         * MarshallingHelpers.cpp:
530         (MarshallingHelpers::BSTRToKURL): Removed deprecatedString call.
531         (MarshallingHelpers::KURLToBSTR): Tweaked for efficiency.
532         * WebContextMenuClient.cpp:
533         (WebContextMenuClient::searchWithGoogle): Updated for KURL changes.
534         * WebDataSource.cpp:
535         (WebDataSource::unreachableURL): Ditto.
536         * WebDownload.cpp:
537         (WebDownload::init): Ditto.
538         (WebDownload::initWithRequest): Ditto.
539         * WebFrame.cpp:
540         (WebFrame::loadData): Ditto.
541         (WebFrame::loadURLIntoChild): Ditto.
542         (WebFrame::objectContentType): Ditto.
543         * WebResource.cpp:
544         (WebResource::initWithData): Ditto.
545         * WebURLResponse.cpp:
546         (WebURLResponse::createInstance): Ditto.
547         (WebURLResponse::initWithURL): Ditto.
548         * WebView.cpp:
549         (WebView::userAgentForURL): Ditto.
550         (WebView::copyURL): Ditto.
551         (WebView::notifyPreferencesChanged): Ditto.
552
553 2008-02-14  Alexey Proskuryakov  <ap@webkit.org>
554
555         * WebChromeClient.cpp: (WebChromeClient::exceededDatabaseQuota): Forgot to re-apply review comments to
556         the previous check-in, fixing.
557
558 2008-02-14  Alexey Proskuryakov  <ap@webkit.org>
559
560         Reviewed by Adam Roben.
561
562         http://bugs.webkit.org/show_bug.cgi?id=17207
563         Database example doesn't work (requires not-yet-released Safari)
564
565         * WebChromeClient.cpp:
566         (WebChromeClient::exceededDatabaseQuota): Check Safari version, and allow 5 megabytes of storage
567         if it's too old.
568
569 2008-02-13  Ada Chan  <adachan@apple.com>
570
571         <rdar://problem/5740656> Leak in postDidAddIconNotification in WebIconDatabase
572
573         Reviewed by Darin.
574
575         * WebIconDatabase.cpp:
576         (postDidAddIconNotification): Need to adopt the newly created instance of CFDictionaryPropertyBag, 
577         which already has a ref count of 1.
578
579 2008-02-13  Rodney Dawes  <dobey@wayofthemonkey.com>
580
581         Fix Bug 17220: Illogical dependency between PluginView and
582         PluginDatabase
583         
584         <http://bugs.webkit.org/show_bug.cgi?id=17220>
585
586         Reviewed by Adam and Darin.
587
588         Update for the rename of PluginDatabase::createPluginView
589         to PluginView::create
590
591         * WebFrame.cpp:
592
593 2008-02-13  Adam Roben  <aroben@apple.com>
594
595         Windows build fix
596
597         * Interfaces/WebKit.idl: Create the typelib version symbol ourselves.
598
599 2008-02-12  Steve Falkenburg  <sfalken@apple.com>
600
601         Use a precompiled header to build WebKit.
602         
603         Reviewed by Adam.
604
605         * WebKit.vcproj/WebKit.vcproj:
606         * WebKitPrefix.cpp: Added.
607         * WebKitPrefix.h: Added.
608
609 2008-02-12  Steve Falkenburg  <sfalken@apple.com>
610
611         Changes to support merged MIDL output.
612
613         All COM interfaces are now generated to WebKit.h.
614
615         Reviewed by Sam, Ada.
616
617         * DOMCSSClasses.h:
618         * DOMCoreClasses.h:
619         * DOMEventsClasses.h:
620         * DOMHTMLClasses.h:
621         * DefaultDownloadDelegate.h:
622         * DefaultPolicyDelegate.cpp:
623         * DefaultPolicyDelegate.h:
624         * GEN_DOMObject.h:
625         * Interfaces/DOMCSS.idl:
626         * Interfaces/DOMCore.idl:
627         * Interfaces/DOMEvents.idl:
628         * Interfaces/DOMExtensions.idl:
629         * Interfaces/DOMHTML.idl:
630         * Interfaces/DOMPrivate.idl:
631         * Interfaces/DOMRange.idl:
632         * Interfaces/DOMWindow.idl:
633         * Interfaces/IGEN_DOMObject.idl:
634         * Interfaces/IWebArchive.idl:
635         * Interfaces/IWebBackForwardList.idl:
636         * Interfaces/IWebBackForwardListPrivate.idl:
637         * Interfaces/IWebCache.idl:
638         * Interfaces/IWebDataSource.idl:
639         * Interfaces/IWebDatabaseManager.idl:
640         * Interfaces/IWebDocument.idl:
641         * Interfaces/IWebDownload.idl:
642         * Interfaces/IWebEditingDelegate.idl:
643         * Interfaces/IWebError.idl:
644         * Interfaces/IWebErrorPrivate.idl:
645         * Interfaces/IWebFormDelegate.idl:
646         * Interfaces/IWebFrame.idl:
647         * Interfaces/IWebFrameLoadDelegate.idl:
648         * Interfaces/IWebFrameLoadDelegatePrivate.idl:
649         * Interfaces/IWebFramePrivate.idl:
650         * Interfaces/IWebFrameView.idl:
651         * Interfaces/IWebHTMLRepresentation.idl:
652         * Interfaces/IWebHTTPURLResponse.idl:
653         * Interfaces/IWebHistory.idl:
654         * Interfaces/IWebHistoryItem.idl:
655         * Interfaces/IWebHistoryItemPrivate.idl:
656         * Interfaces/IWebIconDatabase.idl:
657         * Interfaces/IWebInspector.idl:
658         * Interfaces/IWebJavaScriptCollector.idl:
659         * Interfaces/IWebKitStatistics.idl:
660         * Interfaces/IWebMutableURLRequest.idl:
661         * Interfaces/IWebMutableURLRequestPrivate.idl:
662         * Interfaces/IWebNotification.idl:
663         * Interfaces/IWebNotificationCenter.idl:
664         * Interfaces/IWebNotificationObserver.idl:
665         * Interfaces/IWebPolicyDelegate.idl:
666         * Interfaces/IWebPreferences.idl:
667         * Interfaces/IWebPreferencesPrivate.idl:
668         * Interfaces/IWebResource.idl:
669         * Interfaces/IWebResourceLoadDelegate.idl:
670         * Interfaces/IWebResourceLoadDelegatePrivate.idl:
671         * Interfaces/IWebScriptCallFrame.idl:
672         * Interfaces/IWebScriptDebugListener.idl:
673         * Interfaces/IWebScriptDebugServer.idl:
674         * Interfaces/IWebScriptObject.idl:
675         * Interfaces/IWebScriptScope.idl:
676         * Interfaces/IWebScrollBarDelegatePrivate.idl:
677         * Interfaces/IWebScrollBarPrivate.idl:
678         * Interfaces/IWebSecurityOrigin.idl:
679         * Interfaces/IWebTextRenderer.idl:
680         * Interfaces/IWebUIDelegate.idl:
681         * Interfaces/IWebUIDelegatePrivate.idl:
682         * Interfaces/IWebURLAuthenticationChallenge.idl:
683         * Interfaces/IWebURLRequest.idl:
684         * Interfaces/IWebURLResponse.idl:
685         * Interfaces/IWebURLResponsePrivate.idl:
686         * Interfaces/IWebUndoManager.idl:
687         * Interfaces/IWebUndoTarget.idl:
688         * Interfaces/IWebView.idl:
689         * Interfaces/IWebViewPrivate.idl:
690         * Interfaces/WebKit.idl:
691         * WebActionPropertyBag.cpp:
692         * WebBackForwardList.h:
693         * WebCache.h:
694         * WebDataSource.cpp:
695         * WebDataSource.h:
696         * WebDatabaseManager.h:
697         * WebDownload.h:
698         * WebEditorClient.cpp:
699         * WebEditorClient.h:
700         * WebError.h:
701         * WebFrame.cpp:
702         * WebFrame.h:
703         * WebFramePolicyListener.h:
704         * WebHTMLRepresentation.cpp:
705         * WebHTMLRepresentation.h:
706         * WebHistory.cpp:
707         * WebHistory.h:
708         * WebHistoryItem.h:
709         * WebIconDatabase.h:
710         * WebInspector.h:
711         * WebJavaScriptCollector.h:
712         * WebKit.vcproj/Interfaces.vcproj:
713         * WebKit.vcproj/WebKitGUID.vcproj:
714         * WebKitDLL.cpp:
715         * WebKitStatistics.h:
716         * WebMutableURLRequest.cpp:
717         * WebMutableURLRequest.h:
718         * WebNotification.h:
719         * WebNotificationCenter.h:
720         * WebPreferences.h:
721         * WebResource.h:
722         * WebScriptCallFrame.h:
723         * WebScriptDebugServer.cpp:
724         * WebScriptDebugServer.h:
725         * WebScriptDebugger.cpp:
726         * WebScriptDebugger.h:
727         * WebScriptObject.h:
728         * WebScrollBar.h:
729         * WebSecurityOrigin.h:
730         * WebTextRenderer.h:
731         * WebURLAuthenticationChallenge.h:
732         * WebURLAuthenticationChallengeSender.h:
733         * WebURLCredential.h:
734         * WebURLProtectionSpace.h:
735         * WebURLResponse.h:
736         * WebView.cpp:
737         * WebView.h:
738
739 2008-02-12  Anders Carlsson  <andersca@apple.com>
740
741         Reviewed by Adam.
742
743         Implement imageTitle.
744         
745         * WebCoreLocalizedStrings.cpp:
746         (WebCore::imageTitle):
747
748 2008-02-12  Anders Carlsson  <andersca@apple.com>
749
750         Reviewed by Mitz.
751
752         * WebCoreLocalizedStrings.cpp:
753         (WebCore::imageTitle):
754         Add stub.
755         
756
757 2008-02-07  Ada Chan  <adachan@apple.com>
758
759         <rdar://problem/5292433> certificate authentication support broken in Safari 3.0
760         Added mechanism to communicate client certificate info back to CFNetwork.
761
762         Reviewed by Adam.
763
764         * Interfaces/IWebError.idl: Added new WebURLErrorClientCertificateRequired error.
765         * Interfaces/IWebMutableURLRequestPrivate.idl: Added. Added method to set client 
766         certificate info on the request.
767         * WebKit.vcproj/Interfaces.vcproj: Added new idl.
768         * WebKit.vcproj/WebKit.vcproj: Link crypt32.lib
769         * WebKit.vcproj/WebKitGUID.vcproj:
770         * WebMutableURLRequest.cpp:
771         (WebMutableURLRequest::QueryInterface): Implements IWebMutableURLRequestPrivate.
772         (deallocCertContext): Free certificate context.
773         (copyCert): Duplicate the certificate context and returns it in a CFDataRef.
774         (WebMutableURLRequest::setClientCertificate):
775         * WebMutableURLRequest.h:
776
777 2008-02-05  Rodney Dawes  <dobey@wayofthemonkey.com>
778
779         Reviewed by Anders Carlsson.
780
781         Part one of http://bugs.webkit.org/show_bug.cgi?id=16924.
782         Shared PluginDatabase, PluginInfoStore and PluginPackage implementations.
783
784         Track WebCore renames.
785
786         * WebFrame.cpp:
787         (WebFrame::createPlugin):
788         (WebFrame::redirectDataToPlugin):
789         (WebFrame::createJavaAppletWidget):
790         (WebFrame::objectContentType):
791         * WebView.cpp:
792         (WebViewWndProc):
793         (WebView::canShowMIMEType):
794         (WebView::addAdditionalPluginPath):
795
796 2008-02-05  Alexey Proskuryakov  <ap@webkit.org>
797
798         Reviewed by Darin.
799
800         http://bugs.webkit.org/show_bug.cgi?id=15248
801         <rdar://problem/5497032> Can not enter accented characters using alt-numeric keypad (take two)
802
803         * WebView.cpp: (WebViewWndProc): KeyUp messages need to be translated, too.
804
805 2008-02-01  Darin Adler  <darin@apple.com>
806
807         - fix <rdar://problem/5680469> Each database worker thread takes a JSLock,
808           which slows down all JavaScript execution until the thread terminates
809
810         * WebIconDatabase.cpp:
811         (WebIconDatabase::scheduleNotificationDelivery): Updated for new callOnMainThread.
812         (WebIconDatabase::deliverNotifications): Ditto.
813         * WebIconDatabase.h: Ditto.
814
815 2008-01-31  Adam Roben  <aroben@apple.com>
816
817         Fix <rdar://5713172> Focus lost from Gmail message body after toggling
818         tabs
819
820         This regressed in r29583. Prior to r29583, the code path that resulted
821         in calling focusController->setFocusedFrame(0) was never getting hit.
822         r29583 changed the code to adhere to the comment above the code and
823         actually call setFocusedFrame(0) when losing focus to another part of
824         the window. It turns out this is wrong behavior (and not what
825         WebKit/mac does). The only time we should clear the focused frame is
826         when we tab out of the WebView, and that's already taken care of by
827         FocusController::advanceFocus. The code to clear the focused frame in
828         WebView was written before FocusController::advanceFocus, so it was
829         correct at one point but no longer is.
830
831         We now never call setFocusedFrame(0) when the WebView receives a
832         WM_KILLFOCUS message. Instead we just call setFocused(false) on the
833         focused frame so that blur events will be sent. This matches what
834         WebKit/mac does.
835
836         Reviewed by Darin and Adele.
837
838         * WebView.cpp:
839         (WebViewWndProc): Also reworded a couple of comments to make them
840         clearer.
841
842 2008-01-31  Adam Roben  <aroben@apple.com>
843
844         Let WebCore take care of the highlight drawing entirely
845
846         Reviewed by Darin.
847
848         * WebInspectorClient.cpp:
849         (WebInspectorClient::highlight): We now just show our highlight
850         window and let WebCore figure out what/where to paint. Once all ports
851         follow suit the Node* parameter to this method should be removed
852         entirely, and the name should probably change to
853         updateAndShowHighlight or something similar.
854         * WebNodeHighlight.cpp: Renamed m_webView to m_inspectedWebViewWindow.
855         (WebNodeHighlight::WebNodeHighlight): Now takes a WebView* parameter.
856         (WebNodeHighlight::show): Renamed from highlight(). Now gets the
857         WebView's HWND. Updated for member rename/removal.
858         (WebNodeHighlight::updateWindow): Updated for member rename and for
859         InspectorController changes.
860         * WebNodeHighlight.h: Added m_inspectedWebView member, removed m_rect
861         member, renamed highlight(Node*) -> show().
862
863 2008-01-31  Adam Roben  <aroben@apple.com>
864
865         Move node highlight drawing code to WebCore
866
867         Reviewed by Darin.
868
869         * WebNodeHighlight.cpp:
870         (WebNodeHighlight::updateWindow): Call into WebCore to do the node
871         highlight drawing.
872
873 2008-01-29  Adam Roben  <aroben@apple.com>
874
875         Fix a crash when opening the Inspector
876
877         Reviewed by Anders.
878
879         * WebInspectorClient.cpp:
880         (WebInspectorClient::createPage): Call
881         WebPreferences::initWithIdentifier so our custom WebPreferences will
882         have all its members initialized.
883
884 2008-01-29  Adam Roben  <aroben@apple.com>
885
886         Fix Bug 16786: "Display images when page opens" preference affects
887         Inspector
888
889         <http://bugs.webkit.org/show_bug.cgi?id=16786>
890         <rdar://5712914>
891
892         Reviewed by Anders and Darin.
893
894         * WebInspectorClient.cpp:
895         (WebInspectorClient::createPage): Create our own custom WebPreferences
896         so that we won't be affected by global preference changes. This
897         matches what Mac does.
898
899 2008-01-29  Adam Roben  <aroben@apple.com>
900
901         Fix <rdar://5713302> Web Inspector on Windows is not using the
902         localized strings
903
904         Reviewed by Steve.
905
906         * WebInspectorClient.cpp:
907         (getWebKitBundle): Added.
908         (WebInspectorClient::createPage): Call getWebKitBundle.
909         (WebInspectorClient::localizedStringsURL): Implemented.
910
911 2008-01-29  Alexey Proskuryakov  <ap@webkit.org>
912
913         Reviewed by Darin.
914
915         <rdar://problem/5710692> All storage tests fail/crash
916
917         * WebChromeClient.cpp: (WebChromeClient::exceededDatabaseQuota): Clients that do not implement
918         database quota callbacks should have no database support - but not crash.
919
920 2008-01-26  Steve Falkenburg  <sfalken@apple.com>
921
922         <rdar://problem/5707607> REGRESSION: I hear a beep when selecting Alt-enter in address or search fields
923         
924         Reviewed by Oliver.
925
926         * WebView.cpp:
927         (WebView::keyDown): Allow alt-return to be marked as handled by WebKit.
928
929 2008-01-24  Steve Falkenburg  <sfalken@apple.com>
930
931         Build fix
932
933         * WebKit.vcproj/WebKit.sln:
934         * WebKit.vcproj/WebKit.submit.sln:
935
936 2008-01-24  Adam Roben  <aroben@apple.com>
937
938         Build fix
939
940         * WebView.cpp: Added a comma.
941
942 2008-01-24  Alexey Proskuryakov  <ap@webkit.org>
943
944         Reviewed by Adam Roben.
945
946         <rdar://problem/5702734> REGRESSION(r28936/r15890): Shift+del does not work in win Safari
947
948         * WebView.cpp: Fixed keyDownEntries to list this shortcut (and related ones, for consistency).
949
950 2008-01-23  Steve Falkenburg  <sfalken@apple.com>
951
952         <rdar://problem/5698732> Copyright strings should include 2008
953         
954         Reviewed by Sam.
955
956         * WebKit.vcproj/WebKit.rc:
957
958 2008-01-23  Adam Roben  <aroben@apple.com>
959
960         Fix <rdar://5698502> Inspector window reverts to default position/size unexpectedly
961
962         Reviewed by Hyatt.
963
964         * WebInspectorClient.cpp:
965         (defaultWindowRect): Added.
966         (WebInspectorClient::createPage):
967             - Use defaultWindowRect() to set the initial size/position of the
968               Inspector window.
969             - Pass the Inspector window's client rect to
970               IWebView::initWithFrame so that the WebView will be initially
971               sized to fill the window.
972         (WebInspectorClient::showWindow): Don't move/resize the window back to
973         the defaults every time this method is called.
974
975 2008-01-23  Adam Roben  <aroben@apple.com>
976
977         Fix <rdar://5700620> REGRESSION (r28190): "Open frame in new tab" instead of "Open link in new tab" @ digg.com
978
979         Test: fast/events/contextmenu-scrolled-page-with-frame.html
980
981         Reviewed by Dan.
982
983         * WebView.cpp:
984         (WebView::handleContextMenuEvent): Translate the mouse coordinates
985         into document coordinates before performing the hit-test. This is what
986         EventHandler does internally.
987
988 2008-01-23  Steve Falkenburg  <sfalken@apple.com>
989
990         <rdar://problem/5699509> Allow file upload dialog to be localized.
991         
992         Reviewed by Darin.
993
994         * English.lproj/Localizable.strings: Updated.
995         * WebCoreLocalizedStrings.cpp:
996         (WebCore::uploadFileText): Added.
997         (WebCore::allFilesText): Added.
998
999 2008-01-22  Adam Roben  <aroben@apple.com>
1000
1001         Fix <rdar://5693599> REGRESSION (r29369): scroll bars are drawing when they shouldn't be on an ad on cnn.com
1002
1003         Now that we have multiple FrameViews per Frame on Windows, we need to
1004         make sure each FrameView gets its scrolling mode set correctly. On Mac
1005         this works because WebFrameView holds the scrolling mode and a single
1006         WebFrameView is shared by many FrameViews. On Windows, we have no such
1007         shared object, so we just ask the Frame's owner element for the
1008         scrolling mode.
1009
1010         Tests: fast/frames/frame-scrolling-attribute.html
1011                fast/frames/iframe-scrolling-attribute.html
1012
1013         Reviewed by Hyatt.
1014
1015         * WebFrame.cpp:
1016         (WebFrame::transitionToCommittedForNewPage): Set the scrolling mode
1017         on the FrameView based on the scrolling mode of the Frame's owner
1018         element.
1019
1020 2008-01-21  Darin Adler  <darin@apple.com>
1021
1022         Reviewed by John Sullivan.
1023
1024         - fix <rdar://problem/5644324> Delegate-less WebKit clients should have no databases
1025         - fix incorrect value for WebDatabaseDisplayNameKey in header
1026         
1027         * Interfaces/IWebDatabaseManager.idl: Renamed detailsForDatabaseWithOrigin to
1028         detailsForDatabase. Replaced deleteDatabasesWithOrigin with deleteOrigin.
1029         Renamed deleteDatabaseWithOrigin to deleteDatabase. Fixed incorrect value for
1030         WebDatabaseDisplayNameKey.
1031         * Interfaces/IWebPreferencesPrivate.idl: Removed defaultDatabaseQuota and
1032         setDefaultDatabaseQuota.
1033         * Interfaces/IWebUIDelegatePrivate.idl: Replaced the two database quota functions
1034         with a single one.
1035
1036         * WebChromeClient.cpp:
1037         (WebChromeClient::exceededDatabaseQuota): Replaced the two database quota functions
1038         with a single one.
1039         * WebChromeClient.h: Ditto.
1040
1041         * WebDatabaseManager.cpp:
1042         (WebDatabaseManager::detailsForDatabase): Changed to check for a name of null to
1043         detect a nonexistent database rather than using isValid.
1044         (WebDatabaseManager::deleteOrigin): Updated for name change (actually a semantic
1045         change too, but both have the same name).
1046         (WebDatabaseManager::deleteDatabase): Updated for name change.
1047         (WebKitSetWebDatabasesPathIfNecessary): Ditto.
1048
1049         * WebDatabaseManager.h: Updated for name changes.
1050
1051         * WebPreferenceKeysPrivate.h: Removed WebKitDefaultDatabaseQuotaKey.
1052         * WebPreferences.cpp:
1053         (WebPreferences::initializeDefaultSettings): Removed the default for
1054         WebKitDefaultDatabaseQuotaKey.
1055         * WebPreferences.h: Removed defaultDatabaseQuota and setDefaultDatabaseQuota.
1056         * WebView.cpp:
1057         (WebView::notifyPreferencesChanged): Removed the code to set the
1058         default database origin quota in WebCore::Settings based on IWebPreferencesPrivate.
1059
1060 2008-01-19  Mark Rowe  <mrowe@apple.com>
1061
1062         Fix inconsistent line endings and set svn:eol-style=native
1063         on IDL files that did not have it set.
1064
1065         * Interfaces/IGEN_DOMObject.idl:
1066
1067 2008-01-18  Adam Roben  <aroben@apple.com>
1068
1069         Fix <rdar://5693854> REGRESSION (r29581): fast/events/frame-click-focus.html failing
1070
1071         Restored the previous behavior of IWebViewPrivate::updateActiveState,
1072         which DRT depends on, and renamed it to
1073         IWebViewPrivate::updateFocusedAndActiveState to be clearer about its
1074         side-effects.
1075
1076         Reviewed by Adele.
1077
1078         * Interfaces/IWebViewPrivate.idl:
1079         * WebView.cpp:
1080         (WebViewWndProc): Removed some FIXMEs that we no longer want to fix
1081         because the current design is better.
1082         (WebView::updateActiveState): This is now just a method of WebView,
1083         not any of its public interfaces.
1084         (WebView::updateFocusedAndActiveState): Performs the tasks that the
1085         old IWebViewPrivate::updateActiveState performed.
1086         * WebView.h:
1087
1088 2008-01-18  Alexey Proskuryakov  <ap@webkit.org>
1089
1090         Reviewed by Adam Roben.
1091
1092         Fix plugin-related tests in Debug_Internal configuration, which are failing because of CRT version mismatch
1093         between DRT and TestNetscapePlugin.
1094
1095         * WebKit.vcproj/WebKit.sln: Use newly added TestNetscapePlugin Debug_Internal configuration.
1096
1097 2008-01-17  Steve Falkenburg  <sfalken@apple.com>
1098
1099         Build fix.
1100
1101         * WebKit.vcproj/WebKit.make:
1102
1103 2008-01-16  Adam Roben  <aroben@apple.com>
1104
1105         Trigger activation changes at the right time by listening for WM_NCACTIVATE
1106
1107         This is the final part of <rdar://5006915> Inactive look for Aqua
1108         controls
1109
1110         WebView now listens to messages sent to its top-level parent window.
1111         When the top-level parent receives a WM_NCACTIVATE message, WebView
1112         recalculates whether it is contained within the current active window.
1113
1114         Reviewed by Darin.
1115
1116         * Interfaces/IWebViewPrivate.idl:
1117         (IWebViewPrivate::windowAncestryDidChange): Added. WebKit clients
1118         should call this when they change the parent window chain of a
1119         WebView.
1120         * WebView.cpp:
1121         (WebView::WebView): Initialize new member.
1122         (findTopLevelParent): Added.
1123         (WebViewWndProc):
1124             - Separated activation handling from focus handling, now that
1125               activation handling is taken care of by updateActiveState
1126               exclusively.
1127             - Compare top-level parents in our WM_KILLFOCUS handler so that we
1128               really know if focus is staying inside our top-level window.
1129             - Update our active state on WM_WINDOWPOSCHANGED.
1130             - Added a WM_TIMER handler.
1131         (WebView::initWithFrame): Call windowAncestryDidChange after setting
1132         up our HWND as a child of the host window.
1133         (WebView::windowReceivedMessage): Added. Update our active state when
1134         our top-level parent receives a WM_NCACTIVATE message.
1135         (WebView::updateActiveStateSoon): Added.
1136         (WebView::setHostWindow): Call windowAncestryDidChange after changing
1137         the host window.
1138         (WebView::updateActiveState): We are active if our top-level parent is
1139         the same as the top-level parent of the active window.
1140         (WebView::windowAncestryDidChange): Added. Recalculates our top-level
1141         parent and registers as a listener for the new top-level parent's
1142         messages.
1143         * WebView.h: Made WebView and WindowMessageListener so that it can
1144         utilize WindowMessageBroadcaster to listen to its top-level parent's
1145         messages.
1146
1147 2008-01-16  Adam Roben  <aroben@apple.com>
1148
1149         Updated for ScrollBarClient changes
1150
1151         Reviewed by Darin.
1152
1153         * WebScrollBar.h:
1154         (WebScrollBar::isActive): Added.
1155
1156 2008-01-16  Adam Roben  <aroben@apple.com>
1157
1158         Updated for changes to WebCore methods
1159
1160         Focus and active state are now handled (somewhat) separately. Future
1161         patches will further separate these concepts.
1162
1163         Reviewed by Darin.
1164
1165         * WebView.cpp:
1166         (WebViewWndProc): Updated for method renames.
1167         (WebView::updateActiveState): Only change the active state here. Focus
1168         is handled inside WM_SETFOCUS and WM_KILLFOCUS message handlers.
1169
1170 2008-01-16  Steve Falkenburg  <sfalken@apple.com>
1171
1172         <rdar://problem/5097419> Cursor flickers when over window resizer
1173         
1174         Reviewed by Sam.
1175
1176         * WebView.cpp:
1177         (WebViewWndProc): Don't set the resize cursor when over the non-border resize area.
1178
1179 2008-01-15  Steve Falkenburg  <sfalken@apple.com>
1180
1181         <rdar://problem/5663888> Cannot type into a JavaScript prompt created from a timer
1182         
1183         Allow nested timers from javascript prompts to allow for WebView-based edit fields.
1184         
1185         Reviewed by Darin.
1186
1187         * WebChromeClient.cpp:
1188         (WebChromeClient::runJavaScriptPrompt):
1189
1190 2008-01-14  Steve Falkenburg  <sfalken@apple.com>
1191
1192         Use shared vsprops for most vcproj properties.
1193         
1194         Reviewed by Darin.
1195
1196         * WebKit.vcproj/Interfaces.vcproj:
1197         * WebKit.vcproj/WebKit.vcproj:
1198         * WebKit.vcproj/WebKitGUID.vcproj: Add missing Debug_Internal config.
1199
1200 2008-01-11  Steve Falkenburg  <sfalken@apple.com>
1201
1202         Share common files across projects.
1203         
1204         Unify vsprops files
1205         Debug:          common.vsprops, debug.vsprops
1206         Debug_Internal: common.vsprops, debug.vsprops, debug_internal.vsprops
1207         Release:        common.vsprops, release.vsprops
1208         
1209         Shared properties can go into common.vsprops, shared debug settings can go into debug.vsprops.
1210         debug_internal.vsprops will be mostly empty except for file path prefix modifiers.
1211
1212         Pull auto-version.sh, VERSION, and PRODUCTVERSION from tools.
1213
1214         Reviewed by Adam Roben.
1215
1216         * WebKit.vcproj/Interfaces.vcproj:
1217         * WebKit.vcproj/PRODUCTVERSION: Removed.
1218         * WebKit.vcproj/VERSION: Removed.
1219         * WebKit.vcproj/WebKit.vcproj:
1220         * WebKit.vcproj/WebKitGUID.vcproj:
1221         * WebKit.vcproj/auto-version.sh: Removed.
1222         * WebKit.vcproj/debug.vsprops: Removed.
1223         * WebKit.vcproj/debug_internal.vsprops: Removed.
1224         * WebKit.vcproj/release.vsprops: Removed.
1225
1226 2008-01-11  Adam Roben  <aroben@apple.com>
1227
1228         Fix Bug 16828: WebView never paints if first page load is canceled after being committed but before layout
1229
1230         <http://bugs.webkit.org/show_bug.cgi?id=16828>
1231         <rdar://5682402>
1232
1233         Now that we have 1) a real loader and 2) multiple FrameViews per
1234         Frame, we no longer need the hackery we had in our WM_PAINT handler
1235         that decided whether or not to paint. We now always want to paint,
1236         letting the swapping of FrameViews that happens in
1237         transitionToCommittedForNewPage handle which document gets painted.
1238
1239         Reviewed by Hyatt.
1240
1241         * WebView.cpp:
1242         (WebViewWndProc): Removed hackery that decided sometimes not to paint.
1243
1244 2008-01-11  Mark Rowe  <mrowe@apple.com>
1245
1246         Windows build fix.  Update to match method name in WebCore.
1247
1248         * WebJavaScriptCollector.cpp:
1249         (WebJavaScriptCollector::collectOnAlternateThread):
1250
1251 2008-01-10  Geoffrey Garen  <ggaren@apple.com>
1252
1253         Reviewed by John Sullivan.
1254
1255         Updated for transition away from JavaScriptStatistics, which is gone now.
1256
1257         * WebJavaScriptCollector.cpp:
1258         (WebJavaScriptCollector::collect):
1259         (WebJavaScriptCollector::collectOnAlternateThread):
1260         (WebJavaScriptCollector::objectCount):
1261
1262 2008-01-10  Maciej Stachowiak  <mjs@apple.com>
1263
1264         Not reviewed, build fix.
1265         
1266         - more build fixing
1267
1268         * WebDatabaseManager.cpp:
1269         * WebSecurityOrigin.h:
1270
1271 2008-01-10  Maciej Stachowiak  <mjs@apple.com>
1272
1273         Not reviewed, build fix.
1274         
1275         - try to fix build
1276
1277         * WebDatabaseManager.cpp:
1278         (WebDatabaseManager::databasesWithOrigin):
1279         * WebSecurityOrigin.h:
1280
1281 2008-01-10  Maciej Stachowiak  <mjs@apple.com>
1282
1283         Reviewed by Sam.
1284
1285         - remove SecurityOriginData and fold its functionality into SecurityOrigin
1286
1287         * WebChromeClient.cpp:
1288         (WebChromeClient::requestQuotaIncreaseForNewDatabase):
1289         (WebChromeClient::requestQuotaIncreaseForDatabaseOperation):
1290         * WebChromeClient.h:
1291         * WebDatabaseManager.cpp:
1292         (WebDatabaseManager::origins):
1293         (WebDatabaseManager::databasesWithOrigin):
1294         (WebDatabaseManager::detailsForDatabaseWithOrigin):
1295         (WebDatabaseManager::deleteDatabasesWithOrigin):
1296         (WebDatabaseManager::deleteDatabaseWithOrigin):
1297         (WebDatabaseManager::dispatchDidModifyOrigin):
1298         (WebDatabaseManager::dispatchDidModifyDatabase):
1299         * WebDatabaseManager.h:
1300         * WebSecurityOrigin.cpp:
1301         (WebSecurityOrigin::createInstance):
1302         (WebSecurityOrigin::WebSecurityOrigin):
1303         (WebSecurityOrigin::protocol):
1304         (WebSecurityOrigin::domain):
1305         (WebSecurityOrigin::port):
1306         (WebSecurityOrigin::usage):
1307         (WebSecurityOrigin::quota):
1308         (WebSecurityOrigin::setQuota):
1309         * WebSecurityOrigin.h:
1310
1311 2008-01-10  David Kilzer  <ddkilzer@apple.com>
1312
1313         dftables should be rewritten as a script
1314
1315         <http://bugs.webkit.org/show_bug.cgi?id=16818>
1316         <rdar://problem/5681463>
1317
1318         Reviewed by Darin.
1319
1320         * WebKit.vcproj/WebKit.sln: Removed reference to dftables project.
1321
1322 2008-01-10  Adam Roben  <aroben@apple.com>
1323
1324         Fix many bugs by giving Windows one FrameView per page load
1325         
1326         Bugs include:
1327             <rdar://5659200>
1328                 Windows back/forward cache causes crashes in the layout tests
1329             <rdar://5659355>
1330             <http://bugs.webkit.org/show_bug.cgi?id=16808>
1331                 REGRESSION: PLT broken on Windows due to back/forward cache
1332             <rdar://5663654>
1333             <http://bugs.webkit.org/show_bug.cgi?id=16607>
1334                 Random crashes in FrameView::scheduleRelayout while surfing
1335                 Thinkgeek
1336
1337         On Windows until now we've only had one FrameView per Frame. Once the
1338         back/forward cache was turned on this started causing assertions to
1339         fail and crashes to occur due to a single FrameView being both in the
1340         back/forward cache (possibly multiple times!) and used by a live
1341         document. We now create a new FrameView for each page load, just as
1342         Mac does.
1343
1344         This has the side-effect of plugging some of the world leaks seen at
1345         the end of the PLT.
1346
1347         Reviewed by Hyatt.
1348
1349         * WebFrame.cpp:
1350         (WebFrame::initWithWebFrameView): Don't create the FrameView right
1351         away -- it'll be created when the load is committed.
1352         (WebFrame::transitionToCommittedFromCachedPage): Match the Mac by no
1353         longer calling resetMultipleFormSubmissionProtection here.
1354         (WebFrame::transitionToCommittedForNewPage): Ported code from
1355         -[WebCoreFrameBridge
1356         createFrameViewWithNSView:marginWidth:marginHeight:],
1357         -[WebCoreFrameBridge installInFrame:], and moved code here from
1358         WebFrame::initWithWebFrameView and WebView::initWithFrame. WebCore
1359         takes care of resetMultipleFormSubmissionProtection, just like it does
1360         on the Mac.
1361         * WebView.cpp:
1362         (WebView::initWithFrame): Moved FrameView initialization code to
1363         WebFrame::transitionToCommittedForNewPage.
1364
1365 2008-01-09  Ada Chan  <adachan@apple.com>
1366
1367         Fix crash that could happen if the key we are passing to the HashMap is 0 in WebView::interpretKeyEvent().
1368
1369         Reviewed by Darin.
1370
1371         * WebView.cpp:
1372         (WebView::interpretKeyEvent):
1373
1374 2008-01-08  Steve Falkenburg  <sfalken@apple.com>
1375
1376         Fix build.
1377
1378         * DOMCoreClasses.cpp:
1379
1380 2008-01-07  Antti Koivisto  <antti@apple.com>
1381
1382         Try to fix the Windows build.
1383
1384         * WebKit.vcproj/WebKit.sln:
1385
1386 2008-01-07  Antti Koivisto  <antti@apple.com>
1387
1388         Reviewed by Steve.
1389         
1390         Re-enable media support in Windows build.
1391
1392         * WebKit.vcproj/WebKit.vcproj:
1393
1394 2008-01-07  Steve Falkenburg  <sfalken@apple.com>
1395
1396         Build fix.
1397
1398         * WebKit.vcproj/InterfacesGenerated.vcproj:
1399
1400 2008-01-07  Dan Bernstein  <mitz@apple.com>
1401
1402         Reviewed by Dave Hyatt.
1403
1404         - <rdar://problem/5665216> Support the unicode-range property in @font-face rules
1405
1406         * WebView.cpp:
1407         (WebView::setShouldApplyMacFontAscentHack):
1408
1409 2008-01-07  Holger Freyther  <zecke@selfish.org>
1410
1411         Reviewed by Alp Toker.
1412
1413         * Qt and Gtk must know if a ContextMenuItem is checkable. Add a new ContextMenuItemType for checkable
1414         actions.
1415         * Use this information in the Gtk platform to create a GtkCheckMenuItem when needed.
1416         * Update the ContextMenuController to accept CheckableActionTypes as well.
1417         * Change ContextMenu.cpp to use the CheckableActionType. The information if a item is checkable
1418         was extracted from ContextMenu::checkOrEnableIfNeeded.
1419         * Update the Qt and Windows port.
1420
1421         * WebContextMenuClient.cpp:
1422
1423 2008-01-04  Alexey Proskuryakov  <ap@webkit.org>
1424
1425         Reviewed by Adam Roben.
1426
1427         http://bugs.webkit.org/show_bug.cgi?id=16733
1428         REGRESSION: Crash on Safari Start
1429
1430         * Interfaces/IWebViewPrivate.idl: Should have added a new method at the end.
1431
1432 2008-01-04  Alexey Proskuryakov  <ap@webkit.org>
1433
1434         Reviewed by Darin.
1435
1436         <rdar://problem/5611712> xsl:sort does not use a case folding sort, and the 'case-order' attribute is ignored (16077)
1437
1438         * WebKit.vcproj/WebKit.vcproj: Link to icuin{_debug}.lib
1439
1440 2008-01-04  Adam Roben  <aroben@apple.com>
1441
1442         Fix <rdar://4968855> Shift-PageUp/Shift-PageDown only select one line of text
1443
1444         Test: platform/win/editing/selection/shift-page-down-up.html
1445
1446         Reviewed by Oliver.
1447
1448         * WebView.cpp: Correct the commands associated with
1449         Shift-PageUp/Shift-PageDown.
1450
1451 2008-01-03  Alexey Proskuryakov  <ap@webkit.org>
1452
1453         Reviewed by Darin.
1454
1455         <rdar://problem/5463489> A number of layout tests should be using execCommand instead of textInputController
1456
1457         * Interfaces/IWebViewPrivate.idl:
1458         * WebView.cpp:
1459         (WebView::executeCoreCommandByName):
1460         * WebView.h:
1461         Added an SPI to implement layoutTestController.execCommand.
1462
1463 2008-01-03  Ada Chan  <adachan@apple.com>
1464
1465         Replaced the use of editor command "ForwardDelete" with "DeleteForward" to be consistent
1466         with our use of "DeleteBackward".
1467
1468         Rubber-stamped by Jon.
1469
1470         * WebView.cpp:
1471
1472 2008-01-03  Ada Chan  <adachan@apple.com>
1473
1474         Regression: backspace stopped working on text inputs
1475         - Replaced the use of editor command "BackwardDelete" with "DeleteBackward" since it's no longer supported.
1476
1477         Reviewed by Adam.
1478
1479         * WebEditorClient.cpp:
1480         (WebEditorClient::textWillBeDeletedInTextField):
1481         * WebView.cpp:
1482
1483 2008-01-02  Alice Liu  <alice.liu@apple.com>
1484
1485         Reviewed by Maciej.
1486
1487         Fixed <rdar://5283861> (problems scrolling in gmail message content area)
1488
1489         * WebView.cpp:
1490         (WebView::keyDown):
1491         bubble scrolling from a key event
1492
1493 2008-01-01  Matt Lilek  <webkit@mattlilek.com>
1494
1495         Attempt to fix the Windows bots until the bots
1496         can get the Quicktime SDK installed.
1497
1498         * WebKit.vcproj/WebKit.sln:
1499         * WebKit.vcproj/WebKit.vcproj:
1500
1501 2007-12-30  Matt Lilek  <webkit@mattlilek.com>
1502
1503         Reviewed by Darin.
1504
1505         Bug 16578: Windows Web Inspector window needs minimum size
1506         http://bugs.webkit.org/show_bug.cgi?id=16578
1507
1508         * WebInspectorClient.cpp:
1509         (WebInspectorClient::onGetMinMaxInfo):
1510         (WebInspectorWndProc):
1511         * WebInspectorClient.h:
1512
1513 2007-12-21  Antti Koivisto  <antti@apple.com>
1514
1515         Reviewed by Steve.
1516         
1517         Build media support on Windows.
1518
1519         * WebKit.vcproj/WebKit.sln:
1520         * WebKit.vcproj/WebKit.vcproj:
1521
1522 2007-12-21  Ada Chan  <adachan@apple.com>
1523
1524         Implemented DOMDocument::getElementById().
1525
1526         Reviewed by Darin.
1527
1528         * DOMCoreClasses.cpp:
1529         (DOMDocument::getElementById):
1530
1531 2007-12-21  Alexey Proskuryakov  <ap@webkit.org>
1532
1533         Reviewed by Steve and Darin.
1534
1535         <rdar://problem/5497037> Win32: Accelerator keys (ctrl-x,c,v,w,q,etc) only fire keyUp,
1536         keyDown/Press consumed by accelerator table (14104)
1537
1538         <rdar://problem/5346299> preventing default behavior for key down does not block accelerators like Ctrl+N
1539
1540         This is WebKit part of a fix, most of which will be in Safari.
1541
1542         * WebView.cpp:
1543         (WebViewWndProc): Return our result for WM_(SYS)KEYDOWN to let the client know whether
1544         further procesing is desired.
1545
1546 2007-12-21  Alexey Proskuryakov  <ap@webkit.org>
1547
1548         Build fix: cannot use framework-style include for ProgIDMacros.h,
1549         because the file is only created on a later step. 
1550
1551         * ForEachCoClass.h:
1552
1553 2007-12-20  Kevin McCullough  <kmccullough@apple.com>
1554
1555         Reviewed by Steve.
1556
1557         - <rdar://5656485> Drosera: Win: Nightly does not reliably connect to 
1558         WebKit.
1559
1560         - Drosera and Safari need to use the same ProgIDs in order for
1561         CoCreateInstance to work properly.  The most robust way to do this is
1562         for WebKit to dynamically publish those ProgIDs.
1563
1564         * ForEachCoClass.cpp: Added.
1565         (setUseOpenSourceWebKit):
1566         (progIDForClass):
1567         * ForEachCoClass.h: Added functionality to publish ProgIDs.
1568         * WebKit.vcproj/WebKit.def: Exposed added functions for applications.
1569         * WebKit.vcproj/WebKit.vcproj: Added ForEachCoClass.cpp
1570         * WebKit.vcproj/WebKit_debug.def: Exposed added functions fori
1571         applications.
1572
1573 2007-12-19  Dave Hyatt <hyatt@apple.com>
1574
1575         Add a fourth preference value for GDI text in the font smoothing prefs.
1576         
1577         Reviewed by mitz
1578
1579         * Interfaces/IWebPreferences.idl:
1580         * WebPreferenceKeysPrivate.h:
1581         * WebPreferences.cpp:
1582         (WebPreferences::initializeDefaultSettings):
1583         (WebPreferences::fontSmoothing):
1584         (WebPreferences::setFontSmoothing):
1585         * WebView.cpp:
1586         (WebView::notifyPreferencesChanged):
1587
1588 2007-12-17  Darin Adler  <darin@apple.com>
1589
1590         Reviewed by Sam.
1591
1592         - <rdar://4516170> Back/Forward Cache on Windows
1593
1594         * WebFrame.cpp:
1595         (WebFrame::forceLayout): Implemented this. Just calling through to
1596         Frame::forceLayout matches the Mac pretty well and should be enough
1597         for now. Without this we won't repaint the new page when we go back
1598         and forward.
1599         (WebFrame::dispatchWillSubmitForm): Use COMPtr's AdoptCOM constructor
1600         instead of the adoptRef function.
1601         (WebFrame::restoreViewState): Removed unneeded notImplemented() call.
1602         This is implemented as much as it needs to be.
1603         (WebFrame::shouldGoToHistoryItem): Ditto.
1604         (WebFrame::saveViewStateToItem): Ditto.
1605         (WebFrame::canCachePage): Ditto, also changed it to return true. This
1606         is what was preventing the back/forward cache from running, and there's
1607         no need for any additional checks in the Windows version.
1608
1609         * WebView.cpp:
1610         (PreferencesChangedOrRemovedObserver::onNotify): Fix backwards null check
1611         that was preventing this notification from ever being sent, which in turn
1612         meant that page cache had a capacity of 0.
1613         (WebView::initWithFrame): Removed unneeded setUsesPageCache(false) code.
1614         This actually was ineffective and ended up doing no harm, but we don't
1615         need it.
1616
1617 2007-12-16  Alexey Proskuryakov  <ap@webkit.org>
1618
1619         Reviewed by Darin.
1620
1621         http://bugs.webkit.org/show_bug.cgi?id=16462
1622         REGRESSION: access keys broken on Windows
1623
1624         * WebView.cpp: (WebView::keyPress): Handle system key presses as access keys.
1625
1626 2007-12-15  Alexey Proskuryakov  <ap@webkit.org>
1627
1628         Reviewed by Maciej.
1629
1630         http://bugs.webkit.org/show_bug.cgi?id=16436
1631         Alt+Space works incorrectly
1632
1633         Test: platform/win/fast/events/alt-space-scroll.html
1634
1635         * WebView.cpp:
1636         (WebView::keyDown):
1637         (WebView::keyPress):
1638         We do not handle WM_SYSCHAR events.
1639
1640 2007-12-14  Dan Bernstein  <mitz@apple.com>
1641
1642         - yet another build fix
1643
1644         * DOMHTMLClasses.cpp:
1645         (DOMHTMLDocument::URL):
1646
1647 2007-12-14  Dan Bernstein  <mitz@apple.com>
1648
1649         - build fix
1650
1651         * WebIconDatabase.h:
1652
1653 2007-12-14  Darin Adler  <darin@apple.com>
1654
1655         Reviewed by Adele.
1656
1657         - http://bugs.webkit.org/show_bug.cgi?id=16443
1658           implement some missing Windows WebKit functions
1659
1660         * DOMHTMLClasses.cpp:
1661         (DOMHTMLDocument::URL): Implemented.
1662
1663         * WebActionPropertyBag.cpp:
1664         (WebActionPropertyBag::Read): Fixed the WebActionElementKey case. 
1665
1666 2007-12-14  Darin Adler  <darin@apple.com>
1667
1668         Reviewed by Alexey.
1669
1670         * WebView.cpp:
1671         (WebView::execCommand): Switched from Editor::execCommand to Editor:command.
1672         Updated name from MoveUpByPageAndModifyCaret to MovePageUp and from
1673         MoveDownByPageAndModifyCaret to MovePageDown.
1674         (WebView::copy): Switched from Editor::execCommand to Editor:command.
1675         (WebView::cut): Ditto.
1676         (WebView::paste): Ditto.
1677         (WebView::delete_): Ditto.
1678
1679 2007-12-13  Steve Falkenburg  <sfalken@apple.com>
1680
1681         Move source file generation into its own vcproj to fix build dependencies.
1682
1683         Reviewed by Adam.
1684
1685         * WebKit.vcproj/Interfaces.vcproj:
1686         * WebKit.vcproj/InterfacesGenerated.vcproj: Added.
1687         * WebKit.vcproj/WebKit.sln:
1688         * WebKit.vcproj/WebKit.submit.sln:
1689         * WebKit.vcproj/build-generated-files.sh:
1690
1691 2007-12-13  Adam Roben  <aroben@apple.com>
1692
1693         Fix <rdar://5517707> Crash on wptv.wp.pl when "make bigger" button is clicked
1694
1695         Reviewed by Anders.
1696
1697         * WebView.cpp:
1698         (WebViewWndProc): Repost paint messages and ignore all other messages
1699         when we're calling a plugin.
1700
1701 2007-12-13  Steve Falkenburg  <sfalken@apple.com>
1702
1703         Fix project dependencies based on JavaScriptCore change.
1704
1705         * WebKit.vcproj/WebKit.sln:
1706
1707 2007-12-13  Alexey Proskuryakov  <ap@webkit.org>
1708
1709         Reviewed by Adele.
1710
1711         http://bugs.webkit.org/show_bug.cgi?id=16421
1712         REGRESSION(r28669): Page scrolls down when you hit space key in text area
1713
1714         Test: fast/events/space-scroll-event.html
1715
1716         * WebView.cpp:
1717         (WebView::keyDown):
1718         (WebView::keyPress):
1719         Moved space handling to keyPress() to fix this bug and to match IE. Scrolling via arrow keys is correctly handled
1720         in keyDown().
1721
1722 2007-12-12  Brady Eidson  <beidson@apple.com>
1723
1724         Reviewed by Sam Weinig
1725
1726         Fix for <rdar://problem/4886844> and lay groundwork for <rdar://problem/4516170> (Back/Forward Cache on Windows)
1727
1728         Even though this new code isn't exercised yet because the page cache is still turned off for Windows, local testing
1729         has indicated it works well.
1730
1731         * WebCachedPagePlatformData.h: Added.
1732         (WebCachedPagePlatformData::WebCachedPagePlatformData): Constructor takes an IWebDataSource and the object retains it
1733         (WebCachedPagePlatformData::clear):
1734         (WebCachedPagePlatformData::webDataSource):
1735
1736         * WebFrame.cpp:
1737         (WebFrame::savePlatformDataToCachedPage):
1738         (WebFrame::transitionToCommittedFromCachedPage):
1739         (WebFrame::transitionToCommittedForNewPage):
1740         * WebFrame.h:
1741
1742         * WebKit.vcproj/WebKit.vcproj:
1743
1744 2007-12-12  Steve Falkenburg  <sfalken@apple.com>
1745
1746         Build fix.
1747
1748         * WebKit.vcproj/WebKit.make: Copy only what we need out of obj/bin.
1749
1750 2007-12-12  Dan Bernstein  <mitz@apple.com>
1751
1752         Reviewed by Darin Adler.
1753
1754         - revert my earlier crash fix after making WebCore return the empty
1755           editor command for the empty command name.
1756
1757         * WebView.cpp:
1758         (WebView::handleEditingKeyboardEvent):
1759
1760 2007-12-12  Oliver Hunt  <oliver@apple.com>
1761
1762         Reviewed by Maciej.
1763
1764         <rdar://problem/5071781> window.mouseout events are not 
1765         sent to window when mouse moves out of window 
1766         
1767         Hook up the windows mouse tracking logic to allow us to 
1768         detect the mouse leaving the window.
1769
1770         * WebView.cpp:
1771         (WebView::close):
1772         (WebView::handleMouseEvent):
1773         (WebViewWndProc):
1774         * WebView.h:
1775
1776 2007-12-12  Dan Bernstein  <mitz@apple.com>
1777
1778         Reviewed by Alexey Proskuryakov.
1779
1780         - fix a crash when pressing a key that is not associated with a command
1781
1782         * WebView.cpp:
1783         (WebView::handleEditingKeyboardEvent): Check if the result of
1784         interpretKeyEvent() is empty.
1785
1786 2007-12-11  Sam Weinig  <sam@webkit.org>
1787
1788         Reviewed by Darin Adler.
1789
1790         Scrub URL out of the tree in preparation for renaming KURL to URL.
1791
1792         * WebFrame.cpp:
1793         (WebFrame::url):
1794         (WebFrame::dispatchWillPerformClientRedirect):
1795         (WebFrame::setTitle):
1796         (WebFrame::updateGlobalHistoryForStandardLoad):
1797         (WebFrame::updateGlobalHistoryForReload):
1798         (WebFrame::cancelledError):
1799         (WebFrame::blockedError):
1800         (WebFrame::interruptForPolicyChangeError):
1801         (WebFrame::createPlugin):
1802         * WebView.cpp:
1803         (WebView::notifyDidAddIcon):
1804
1805 2007-12-10  Anders Carlsson  <andersca@apple.com>
1806
1807         Reviewed by Darin.
1808     
1809         <rdar://problem/5636865>
1810         WebKit needs API to allow registering a protocol as local (RSS feeds appear unstyled)
1811         
1812         * Interfaces/IWebView.idl:
1813         * WebView.cpp:
1814         (WebView::registerURLSchemeAsLocal):
1815         * WebView.h:
1816
1817 2007-12-11  Ada Chan  <adachan@apple.com>
1818
1819         Updated the database SPI to take in IWebFrame.
1820
1821         Reviewed by Adam.
1822
1823         * Interfaces/IWebUIDelegatePrivate.idl:
1824         * WebChromeClient.cpp:
1825         (WebChromeClient::requestQuotaIncreaseForNewDatabase):
1826         (WebChromeClient::requestQuotaIncreaseForDatabaseOperation):
1827
1828 2007-12-11  Alexey Proskuryakov  <ap@webkit.org>
1829
1830         Windows build fix.
1831
1832         * WebView.cpp:
1833         (WebView::interpretKeyEvent):
1834
1835 2007-12-11  Darin Adler  <darin@apple.com>
1836
1837         * WebView.cpp:
1838         (WebView::handleEditingKeyboardEvent): Update for change to Editor API.
1839
1840 2007-12-11  Alexey Proskuryakov  <ap@webkit.org>
1841
1842         Reviewed by Darin.
1843
1844         <rdar://problem/5535636>
1845         Have to press 4 times instead of 2 times to get the expected result of ^^ with german keyboard.
1846
1847         http://bugs.webkit.org/show_bug.cgi?id=13916
1848         JavaScript detects Tab as a character input on a textfield validation
1849
1850         Listen to WM_CHAR messages, and actually pass the type of message received down to WebCore.
1851         Since WM_KEYDOWN == keydown and WM_CHAR == keypress, this allows for much better IE compatibility
1852         than layering Windows keyboard event handling on top of Mac one.
1853
1854         * WebView.cpp:
1855         (WebView::keyUp): Do not special case Alt+F4 and Alt+Space - we don't get keyups for those anyway!
1856         (WebView::interpretKeyEvent): Renamed WindowsKeyCode() to windowsVirtualKeyCode().
1857         (WebView::handleEditingKeyboardEvent): Use the additional information about event type that
1858         we now pass with PlatformKeyboardEvent.
1859         (WebView::keyDown): (WebView::keyPress): Split WM_KEYDOWN and WM_CHAR handling in separate
1860         functions, pass them down as is, without trying to guess what WM_CHAR Windows would have sent
1861         for a given WM_KEYDOWN.
1862
1863         (WebViewWndProc): Handle WM_CHAR and WM_SYSCHAR.
1864
1865         * WebView.h: Removed inIMEKeyDown() - it doesn't look like we need it at all. At least, I didn't
1866         notice any regressions after removing the only call to it in WebEditorClient.
1867
1868         * WebEditorClient.cpp:
1869         (WebEditorClient::handleKeyboardEvent):
1870         (WebEditorClient::handleInputMethodKeydown):
1871         * WebEditorClient.h:
1872         Renamed handleKeypress() to handleKeyboardEvent(), as it gets both keydowns and keypresses.
1873         Renamed handleInputMethodKeypress() to handleInputMethodKeydown() and removed
1874         inIMEKeyDown()-related code.
1875
1876 2007-12-10  Geoffrey Garen  <ggaren@apple.com>
1877
1878         Reviewed by Sam Weinig.
1879
1880         Updated for rename in JavaScriptCore.
1881
1882         * WebScriptCallFrame.cpp:
1883         (WebScriptCallFrame::functionName):
1884         (WebScriptCallFrame::valueByEvaluatingJavaScriptFromString):
1885
1886 2007-12-07  Steve Falkenburg  <sfalken@apple.com>
1887
1888         Fix version parsing.
1889
1890         Rubber-stamped by Oliver.
1891
1892         * WebKit.vcproj/auto-version.sh:
1893
1894 2007-12-07  Steve Falkenburg  <sfalken@apple.com>
1895
1896         Fix build.
1897
1898         * WebKit.vcproj/WebKit.vcproj:
1899         * WebScriptCallFrame.cpp:
1900
1901 2007-12-07  Steve Falkenburg  <sfalken@apple.com>
1902
1903         Fix build.
1904
1905         * WebHistory.cpp:
1906         (_WebCoreHistoryProvider::containsURL):
1907
1908 2007-12-07  Geoffrey Garen  <ggaren@apple.com>
1909
1910         Tried to fix build by suppressing warning.
1911
1912         * WebScriptCallFrame.cpp:
1913
1914 2007-12-07  Darin Adler  <darin@apple.com>
1915
1916         Reviewed by Mitz.
1917
1918         - http://bugs.webkit.org/show_bug.cgi?id=15981
1919           speed up visited-link code a bit
1920
1921         * WebHistory.cpp: Removed unused Latin-1 code path.
1922         (_WebCoreHistoryProvider::containsItem): Updated for function name change.
1923
1924 2007-12-07  Steve Falkenburg  <sfalken@apple.com>
1925
1926         Re-named our B&I flag from BUILDBOT to PRODUCTION.
1927         Fix our tiny versioning.
1928         Bump our product version.
1929         Use just the major version in the fallback VERSION files.
1930         Pick up the version numbers from the production builder.
1931
1932         Reviewed by Sam Weinig.
1933
1934         * Interfaces/WebKit.idl:
1935         * WebKit.vcproj/Interfaces.vcproj:
1936         * WebKit.vcproj/PRODUCTVERSION:
1937         * WebKit.vcproj/VERSION:
1938         * WebKit.vcproj/WebKit.make:
1939         * WebKit.vcproj/WebKit.rc:
1940         * WebKit.vcproj/WebKit.vcproj:
1941         * WebKit.vcproj/auto-version.sh:
1942         * WebKitDLL.cpp:
1943         (DllUnregisterServer):
1944
1945 2007-12-07  Adam Roben  <aroben@apple.com>
1946
1947         Fix <rdar://5624866> CFStringRef UI_STRING should use a cache and follow the CF "Get" model (current uses leak)
1948
1949         Added a new class, LocalizedString, that wraps a CFStringRef and a
1950         WebCore::String. We store one LocalizedString for each key string.
1951
1952         Reviewed by Steve.
1953
1954         * WebLocalizableStrings.cpp: Changed our two HashMaps to map from
1955         WebCore::String to LocalizedString*.
1956         (LocalizedString::LocalizedString):
1957         (LocalizedString::operator CFStringRef):
1958         (LocalizedString::operator LPCTSTR): Code moved here from
1959         localizedLPCTSTR.
1960         (findCachedString): Changed to return a LocalizedString*.
1961         (cacheString): Changed to take a LocalizedString*.
1962         (localizedString): Changed to return a const LocalizedString&. We
1963         first try to find a cached LocalizedString. If there isn't one, we
1964         create a new one and cache it.
1965         (WebLocalizedLPCTSTRUTF8): Changed to call localizedString.
1966         (WebLocalizedLPCTSTR): Ditto.
1967
1968 2007-12-07  Adam Roben  <aroben@apple.com>
1969
1970         Make WebLocalizableStrings work a little more like the Mac version
1971
1972         Reviewed by Steve.
1973
1974         * WebKit.vcproj/WebKit.def: Deprecated SetWebLocalizedStringMainBundle.
1975         * WebKit.vcproj/WebKit_debug.def: Ditto.
1976         * WebLocalizableStrings.cpp:
1977         (createWebKitBundle): Changed to only create the bundle once.
1978         (cfBundleForStringsBundle): Added. Code was factored out of
1979         copyLocalizedStringFromBundle. We now use the CFBundleGetMainBundle to
1980         get the main bundle and WebLocalizableStringsBundle's identifier to
1981         fetch the framework's bundle.
1982         (copyLocalizedStringFromBundle): Changed to call
1983         cfBundleForStringsBundle.
1984         (cacheString): Cleaned up logic a bit with an early return.
1985         (SetWebLocalizedStringMainBundle): Moved down with the other
1986         deprecated functions and made into a no-op.
1987
1988 2007-12-07  Adam Roben  <aroben@apple.com>
1989
1990         Use SoftLinking.h in WebKitClassFactory.
1991
1992         Reviewed by Oliver.
1993
1994         * WebKitClassFactory.cpp:
1995         (WebKitClassFactory::WebKitClassFactory): We don't have to worry about
1996         not finding STInitialize anymore now that a version of SafariTheme
1997         containing this function has shipped.
1998
1999 2007-12-06  Ada Chan  <adachan@apple.com>
2000
2001         <rdar://problem/5556378> Implemented database related UI delegate methods (prompts for new/enlarged databases)
2002
2003         Reviewed by Darin.
2004
2005         * Interfaces/IWebUIDelegatePrivate.idl:
2006         * WebChromeClient.cpp:
2007         (WebChromeClient::requestQuotaIncreaseForNewDatabase):
2008         (WebChromeClient::requestQuotaIncreaseForDatabaseOperation):
2009
2010 2007-12-06  Alice Liu  <alice.liu@apple.com>
2011
2012         Fixed <rdar://5540000> onbeforeunload doesn't fire when closing window/tab
2013
2014         Reviewed by Darin.
2015
2016         * Interfaces/IWebViewPrivate.idl:
2017         * WebView.cpp:
2018         (WebView::shouldClose):
2019         * WebView.h:
2020
2021 2007-12-06  Adam Roben  <aroben@apple.com>
2022
2023         Fix <rdar://5615283> Crash in WebFrame::receivedPolicyDecision
2024
2025         It's possible for a second policy listener to be created while we're
2026         waiting for a decision on the first policy listener. In this case we
2027         would crash when the first policy listener had a decision made. Mac
2028         WebKit already handles this by invalidating any existing policy
2029         listener when creating a new one.
2030
2031         A test case is coming in a future commit.
2032
2033         Reviewed by Anders.
2034
2035         * WebFrame.cpp:
2036         (WebFrame::setUpPolicyListener): Copy the Mac behavior of invalidating
2037         any existing policy listener, and remove some assertions that we know
2038         can fire.
2039
2040 2007-12-06  Adam Roben  <aroben@apple.com>
2041
2042         Add SPI so that DumpRenderTree can turn on the Mac font ascent hack
2043
2044         Reviewed by Hyatt.
2045
2046         * Interfaces/IWebViewPrivate.idl: Added new method declaration.
2047         * WebView.cpp:
2048         (WebView::setShouldApplyMacFontAscentHack): Added. Just calls down to
2049         FontData.
2050         * WebView.h:
2051
2052 2007-12-06  Ada Chan  <adachan@apple.com>
2053
2054         Build fix.
2055
2056         Reviewed by Geoff.
2057
2058         * WebScriptCallFrame.cpp:
2059         (WebScriptCallFrame::valueByEvaluatingJavaScriptFromString):
2060
2061 2007-12-04  Geoffrey Garen  <ggaren@apple.com>
2062
2063         Reviewed by Darin Adler.
2064
2065         Third step in refactoring JSGlobalObject: Moved data members and data
2066         member access from Interpreter to JSGlobalObject.
2067         
2068         * WebFrame.cpp:
2069         (WebFrame::globalContext):
2070         (WebFrame::attachScriptDebugger):
2071         (WebFrame::windowObjectCleared):
2072         * WebScriptDebugger.cpp:
2073         (WebScriptDebugger::WebScriptDebugger):
2074
2075 2007-12-05  Steve Falkenburg  <sfalken@apple.com>
2076
2077         <rdar://problem/5625327> Crash toggling check grammar w/ spelling when no spell checker exists.
2078         
2079         Reviewed by Adam.
2080
2081         * WebView.cpp:
2082         (WebView::setGrammarCheckingEnabled): Add null check
2083
2084 2007-12-05  Adam Roben  <aroben@apple.com>
2085
2086         Expose WebView::setProhibitsMainFrameScrolling through IWebViewPrivate
2087
2088         Reviewed by Steve.
2089
2090         * Interfaces/IWebViewPrivate.idl: Added declaration.
2091         * WebInspectorClient.cpp:
2092         (WebInspectorClient::createPage): Updated for change to
2093         setProhibitsMainFrameScrolling signature.
2094         * WebView.cpp:
2095         (WebView::setProhibitsMainFrameScrolling): Updated and robustified.
2096         * WebView.h:
2097
2098 2007-12-05  Dan Bernstein  <mitz@apple.com>
2099
2100         Reviewed by Darin Adler.
2101
2102         - WebKit/win part of fixing <rdar://problem/5111082> Flash popup video ad doesn't close when clicked at http://www.firestonecompleteautocare.com/
2103
2104         * WebView.cpp:
2105         (WebView::initWithFrame): Attach the main frame's view.
2106
2107 2007-12-04  Ada Chan  <adachan@apple.com>
2108
2109         Provide API for setting the default storage quota per database origin
2110
2111         Reviewed by Jon.
2112
2113         * Interfaces/IWebPreferencesPrivate.idl: added SPI to get/set default database quota
2114         * WebPreferenceKeysPrivate.h:
2115         * WebPreferences.cpp:
2116         (WebPreferences::initializeDefaultSettings): default database quota is 5MB
2117         (WebPreferences::longlongValueForKey):
2118         (WebPreferences::setLongLongValue):
2119         (WebPreferences::defaultDatabaseQuota):
2120         (WebPreferences::setDefaultDatabaseQuota):
2121         * WebPreferences.h:
2122         * WebView.cpp:
2123         (WebView::notifyPreferencesChanged): propagate default database quota change to WebCore settings.
2124
2125 2007-12-04  Kevin McCullough  <kmccullough@apple.com>
2126
2127         Reviewed by Adam and Darin.
2128
2129         - Fixed a crasher where the top of the stack was not updated correctly.
2130         And set the eol style on IWebScriptCallFrame.idl file.
2131
2132         * Interfaces/IWebScriptCallFrame.idl:
2133         * WebScriptDebugger.cpp:
2134         (WebScriptDebugger::atStatement):
2135         (WebScriptDebugger::leaveFrame):
2136
2137 2007-11-27  Adam Roben  <aroben@apple.com>
2138
2139         Hook up the authorAndUserStylesEnabled preference
2140
2141         This is the Windows counterpart of r28071.
2142
2143         Reviewed by Maciej.
2144
2145         * Interfaces/IWebPreferencesPrivate.idl: Added new method
2146         declarations.
2147         * WebPreferenceKeysPrivate.h: Added a new preference key.
2148         * WebPreferences.cpp:
2149         (WebPreferences::initializeDefaultSettings): Set the default for the
2150         new preference.
2151         (WebPreferences::setAuthorAndUserStylesEnabled): Added.
2152         (WebPreferences::authorAndUserStylesEnabled): Added.
2153         * WebPreferences.h:
2154         * WebView.cpp:
2155         (WebView::notifyPreferencesChanged): Communicate the new preference
2156         down to WebCore::Settings.
2157
2158 2007-12-04  Jon Honeycutt  <jhoneycutt@apple.com>
2159
2160         Reviewed by Ollie.
2161
2162         Don't crash if our JavaPlugin DLL can't be found 
2163
2164         * WebFrame.cpp:
2165         (WebFrame::createJavaAppletWidget): Added null check
2166
2167 2007-12-04  Darin Adler  <darin@apple.com>
2168
2169         Reviewed by Kevin Decker.
2170
2171         * WebFrame.cpp: Removed obsolete privateBrowsingEnabled.
2172         * WebFrame.h: Ditto.
2173
2174 2007-12-04  Adam Roben  <aroben@apple.com>
2175
2176         Windows build fix
2177
2178         * WebScriptCallFrame.cpp:
2179
2180 2007-12-03  Dan Bernstein  <mitz@apple.com>
2181
2182         Reviewed by Dave Hyatt.
2183
2184         - fix <rdar://problem/5346452> Resize event doesn't fire on body element inside a frame
2185
2186         * WebView.cpp:
2187         (WebViewWndProc): Removed call to sendResizeEvent() since FrameView
2188         sends them now.
2189
2190 2007-12-03  Kevin McCullough  <kmccullough@apple.com>
2191
2192         Reviewed by Adam.
2193
2194         - <rdar://5618942> Drosera: Console window does not process everything
2195         correctly.
2196         - <rdar://5619005> Drosera: could be sped up by moving the
2197         WebScriptScope stuff into the WebScriptCallFrame.
2198         - Now the console can correctly process objects and does not receive
2199         notifications from JavaScriptCore about the JavaScript in Drosera's
2200         own process.
2201
2202         * Interfaces/IWebScriptCallFrame.idl: Moved the variable lookup
2203         functions from WebScriptScope to here.
2204         * Interfaces/WebKit.idl: Removed WebScriptScope.
2205         * WebKit.vcproj/Interfaces.vcproj: Ditto.
2206         * WebKit.vcproj/WebKit.vcproj: Ditto.
2207         * WebKit.vcproj/WebKitGUID.vcproj: Ditto.
2208         * WebScriptCallFrame.cpp: Moved WebScriptScope functionality into here.
2209         (WebScriptCallFrame::stringByEvaluatingJavaScriptFromString): Now
2210         returns a string value for things that are not strings.
2211         (WebScriptCallFrame::variableNames): Moved from WebScriptScope.
2212         (WebScriptCallFrame::valueForVariable): Moved from WebScriptScope.
2213         (WebScriptCallFrame::jsValueToString): Helper functions that converts
2214         any JSValue to a String.
2215         * WebScriptCallFrame.h: Moved WebScriptScope functionality into here.
2216         * WebScriptDebugger.cpp: Added nested guards so that Drosera does not
2217         receive notifications about JavaScript that Drosera is running just the
2218         JavaScript WebKit is running.
2219         (WebScriptDebugger::WebScriptDebugger):
2220         (WebScriptDebugger::sourceParsed):
2221         (WebScriptDebugger::callEvent):
2222         (WebScriptDebugger::atStatement):
2223         (WebScriptDebugger::returnEvent):
2224         (WebScriptDebugger::exception):
2225         * WebScriptDebugger.h: Ditto.
2226         * WebScriptScope.cpp: Removed.
2227         * WebScriptScope.h: Removed.
2228
2229 2007-12-03  Mark Rowe  <mrowe@apple.com>
2230
2231         Speculative Windows build fix.
2232
2233         * WebScriptCallFrame.cpp:
2234         (WebScriptCallFrame::valueByEvaluatingJavaScriptFromString):
2235
2236 2007-12-03  Adam Roben  <aroben@apple.com>
2237
2238         Another speculative Windows build fix
2239
2240         * WebScriptCallFrame.cpp:
2241         (WebScriptCallFrame::valueByEvaluatingJavaScriptFromString):
2242
2243 2007-12-03  Adam Roben  <aroben@apple.com>
2244
2245         Speculative Windows build fix
2246
2247         * WebFrame.cpp:
2248         (WebFrame::globalContext):
2249         (WebFrame::windowObjectCleared):
2250         * WebScriptDebugger.cpp:
2251         (WebScriptDebugger::WebScriptDebugger):
2252
2253 2007-12-01  Sam Weinig  <sam@webkit.org>
2254
2255         Rename IWebViewPrivate::selectionImageRect to IWebViewPrivate::selectionRect.
2256
2257         Rubber stamped by Adam Roben.
2258
2259         * Interfaces/IWebViewPrivate.idl:
2260         * WebView.cpp:
2261         (WebView::selectionRect):
2262         * WebView.h:
2263
2264 2007-11-30  Ada Chan  <adachan@apple.com>
2265
2266         <rdar://problem/5621373> Added a way for the client to clear undo/redo
2267         operations from a WebView.
2268
2269         Reviewed by Steve.
2270
2271         * Interfaces/IWebViewPrivate.idl:
2272         * WebView.cpp:
2273         (WebView::clearUndoRedoOperations):
2274         * WebView.h:
2275
2276 2007-11-29  Anders Carlsson  <andersca@apple.com>
2277
2278         Reviewed by Sam.
2279
2280         Add an IWebFrameLoadDelegate2 interface with a didClearWindowObject method 
2281         that passes in the frame whose window has been cleared. This matches a newly
2282         added delegate method on the Mac.
2283         
2284         * Interfaces/IWebFrameLoadDelegate.idl:
2285         * WebFrame.cpp:
2286         (WebFrame::windowObjectCleared):
2287
2288 2007-11-29  Kevin McCullough  <kmccullough@apple.com>
2289
2290         Reviewed by Sam.
2291
2292         - <rdar://5618976> Drosera: should listen for the WebScriptDebugServer
2293         dying and vice versa.
2294
2295         * Interfaces/IWebScriptDebugListener.idl: Added the new function to the
2296         interface.
2297         * WebKit.vcproj/WebKit.def: Added the new function to the def file so
2298         Safari can tell WebKit when the server is dying.
2299         * WebKit.vcproj/WebKit_debug.def: Ditto.
2300         * WebKitDLL.cpp: Added the new function for Safari to call.
2301         (RunAsLocalServer):
2302         (LocalServerDidDie):
2303         * WebScriptDebugServer.cpp: 
2304         (WebScriptDebugServer::WebScriptDebugServer): Removed unused member.
2305         (WebScriptDebugServer::sharedWebScriptDebugServer): Ditto, and added new
2306         member to prevent adding or removing listeners when the server is dying.
2307         (WebScriptDebugServer::addListener): Don't let new listeners be added
2308         when the server is dying.
2309         (WebScriptDebugServer::removeListener): Don't let listeners remove
2310         themselves when the server is dying.  The server will remove them all
2311         anyways.
2312         (WebScriptDebugServer::serverDidDie): Notify all listeners that the
2313         server is dying and remove all listeners.
2314         * WebScriptDebugServer.h: Added the new method and removed an unused
2315         member.
2316
2317 2007-11-29  Brady Eidson  <beidson@apple.com>
2318
2319         Build fix that works...?
2320
2321         * WebChromeClient.h:
2322
2323 2007-11-29  Brady Eidson  <beidson@apple.com>
2324
2325         Build fix
2326
2327         * WebChromeClient.cpp:
2328         (WebChromeClient::requestQuotaIncreaseForNewDatabase):
2329         (WebChromeClient::requestQuotaIncreaseForDatabaseOperation):
2330
2331 2007-11-29  Brady Eidson  <beidson@apple.com>
2332
2333         Keep it building with new client method
2334
2335         * WebChromeClient.cpp:
2336         (ChromeClient::requestQuotaIncreaseForNewDatabase):
2337         (ChromeClient::requestQuotaIncreaseForDatabaseOperation):
2338         * WebChromeClient.h:
2339
2340 2007-11-29  Dan Bernstein  <mitz@apple.com>
2341
2342         Reviewed by Beth Dakin and Darin Adler.
2343
2344         - fix <rdar://problem/5346394> Contextmenu event doesn't fire on body element inside frame
2345
2346         * WebView.cpp:
2347         (WebView::handleContextMenuEvent): Send the context menu event to the
2348         frame containing the node that was hit.
2349
2350 2007-11-28  Kevin McCullough  <kmccullough@apple.com>
2351
2352         Reviewed by Tim.
2353
2354         - Added guards to the wait loop so execution would not hang and now the
2355         console window can process JavaScript.
2356
2357         * WebScriptDebugServer.cpp:
2358         (WebScriptDebugServer::suspendProcessIfPaused):
2359
2360 2007-11-28  Anders Carlsson  <andersca@apple.com>
2361
2362         Reviewed by Adam.
2363
2364         Implement the last bits of the WebDatabaseManager API.
2365         
2366         * Interfaces/IWebDatabaseManager.idl:
2367         * WebDatabaseManager.cpp:
2368         (isEqual):
2369         (WebDatabaseManager::sharedWebDatabaseManager):
2370         (WebDatabaseManager::dispatchDidModifyOrigin):
2371         (WebDatabaseManager::dispatchDidModifyDatabase):
2372         * WebDatabaseManager.h:
2373
2374 2007-11-28  Anders Carlsson  <andersca@apple.com>
2375
2376         Get Drosera working again for real.
2377         
2378         * COMEnumVariant.h:
2379         (::Next):
2380
2381 2007-11-27  Kevin McCullough  <kmccullough@apple.com>
2382
2383         Reviewed by Maciej and Adam.
2384
2385         - Added Drosera to the WebKit project.
2386
2387         * WebKit.vcproj/WebKit.sln:
2388
2389 2007-11-27  Jon Honeycutt  <jhoneycutt@apple.com>
2390
2391         Reviewed by Adam.
2392
2393         Return bool from registerWebViewWindowClass, as nothing uses the ATOM.
2394         Set haveRegisteredWindowClass to true
2395
2396         * WebView.cpp:
2397         (registerWebViewWindowClass):
2398
2399 2007-11-27  Anders Carlsson  <andersca@apple.com>
2400
2401         Speculative fix to get Drosera working.
2402         
2403         * COMEnumVariant.h:
2404         (::Next):
2405         Update the number of elements fetched correctly.
2406         
2407 2007-11-27  Anders Carlsson <andersca@apple.com>
2408
2409         Reviewed by Adam.
2410
2411         Some COM cleanup.
2412         
2413         * CFDictionaryPropertyBag.cpp:
2414         (CFDictionaryPropertyBag::QueryInterface):
2415         * CFDictionaryPropertyBag.h:
2416         * WebBackForwardList.cpp:
2417         (WebBackForwardList::addItem):
2418         (WebBackForwardList::removeItem):
2419         * WebDownload.cpp:
2420         (WebDownload::initWithRequest):
2421         * WebFrame.cpp:
2422         (WebFrame::loadRequest):
2423         (WebFrame::initWithWebFrameView):
2424         (WebFrame::webHistory):
2425         (WebFrame::dispatchWillSendRequest):
2426         * WebURLAuthenticationChallenge.cpp:
2427         (WebURLAuthenticationChallenge::QueryInterface):
2428         (WebURLAuthenticationChallenge::initWithProtectionSpace):
2429         * WebURLAuthenticationChallenge.h:
2430         * WebURLAuthenticationChallengeSender.cpp:
2431         (WebURLAuthenticationChallengeSender::QueryInterface):
2432         * WebURLAuthenticationChallengeSender.h:
2433         * WebURLResponse.cpp:
2434         (WebURLResponse::QueryInterface):
2435         * WebURLResponse.h:
2436         * WebView.cpp:
2437         (WebView::notifyDidAddIcon):
2438         (WebView::goToBackForwardItem):
2439         (WebView::canHandleRequest):
2440         (WebView::loadBackForwardListFromOtherView):
2441         (core):
2442
2443 2007-11-27  Anders Carlsson  <andersca@apple.com>
2444
2445         Add COMEnumVariant.h to the project.
2446         
2447         * WebKit.vcproj/WebKit.vcproj:
2448
2449 2007-11-27  Anders Carlsson  <andersca@apple.com>
2450
2451         Reviewed by Adam.
2452
2453         Return E_INVALIDARG if the databaseName BSTR is null.
2454         
2455         * WebDatabaseManager.cpp:
2456         (WebDatabaseManager::detailsForDatabaseWithOrigin):
2457         (WebDatabaseManager::deleteDatabaseWithOrigin):
2458
2459 2007-11-27  Anders Carlsson  <andersca@apple.com>
2460
2461         Reviewed by Adam.
2462
2463         Implement the rest of the WebDatabaseManager API.
2464
2465         * COMEnumVariant.h:
2466         * Interfaces/IWebDatabaseManager.idl:
2467         * WebDatabaseManager.cpp:
2468         (isEqual):
2469         (DatabaseDetailsPropertyBag::DatabaseDetailsPropertyBag):
2470         (DatabaseDetailsPropertyBag::~DatabaseDetailsPropertyBag):
2471         (DatabaseDetailsPropertyBag::createInstance):
2472         (DatabaseDetailsPropertyBag::AddRef):
2473         (DatabaseDetailsPropertyBag::Release):
2474         (DatabaseDetailsPropertyBag::QueryInterface):
2475         (DatabaseDetailsPropertyBag::Read):
2476         (DatabaseDetailsPropertyBag::Write):
2477         (WebDatabaseManager::detailsForDatabaseWithOrigin):
2478         (WebDatabaseManager::deleteAllDatabases):
2479         (WebDatabaseManager::deleteDatabasesWithOrigin):
2480         (WebDatabaseManager::deleteDatabaseWithOrigin):
2481         * WebDatabaseManager.h:
2482
2483 2007-11-27  Ada Chan  <adachan@apple.com>
2484
2485         <rdar://problem/5616098> The BSTR returned by WebHistoryItem::alternateTitle
2486         was not allocated correctly.
2487
2488         Reviewed by Anders.
2489
2490         * WebHistoryItem.cpp:
2491         (WebHistoryItem::setAlternateTitle):
2492         (WebHistoryItem::alternateTitle):
2493         * WebHistoryItem.h:
2494
2495 2007-11-27  Anders Carlsson  <andersca@apple.com>
2496
2497         Reviewed by Adam.
2498
2499         Use COMEnumVariant in WebScriptCallFrame and WebScriptScope.
2500         
2501         * WebScriptCallFrame.cpp:
2502         (WebScriptCallFrame::scopeChain):
2503         * WebScriptScope.cpp:
2504         (WebScriptScope::variableNames):
2505
2506 2007-11-27  Anders Carlsson  <andersca@apple.com>
2507
2508         Reviewed by Adam.
2509
2510         Use the correct include paths.
2511         
2512         * COMEnumVariant.h:
2513
2514 2007-11-27  Anders Carlsson  <andersca@apple.com>
2515
2516         Reviewed by Darin.
2517    
2518         Add COMEnumVariant, a templatized class with implements IEnumVARIANT and lets
2519         you enumerate over a C++ container, be it WTF or STL.
2520         
2521         * COMEnumVariant.h: Added.
2522         
2523         * WebDatabaseManager.cpp:
2524         (WebDatabaseManager::origins):
2525         (WebDatabaseManager::databasesWithOrigin):
2526         Implement these using COMEnumVariant.
2527         
2528         * WebSecurityOrigin.cpp:
2529         (WebSecurityOrigin::QueryInterface):
2530         * WebSecurityOrigin.h:
2531         Add a UUID for the implementation so that other parts of WebKit can access
2532         the WebCore::SecurityOriginData object.
2533         
2534 2007-11-26  Adam Roben  <aroben@apple.com>
2535
2536         Take advantage of the new Color constructor that takes a CGColorRef
2537
2538         This lets us handle grayscale colors (which only have 2 components).
2539
2540         Reviewed by Darin.
2541
2542         * WebKitGraphics.cpp:
2543         (DrawTextAtPoint):
2544
2545 2007-11-26  Steve Falkenburg  <sfalken@apple.com>
2546
2547         Build fix.
2548
2549         * WebKit.vcproj/WebKit.make:
2550
2551 2007-11-26  Steve Falkenburg  <sfalken@apple.com>
2552
2553         Build fix.
2554
2555         * WebKit.vcproj/build-generated-files.sh:
2556
2557 2007-11-26  Steve Falkenburg  <sfalken@apple.com>
2558
2559         Build fix.
2560
2561         * WebKit.vcproj/build-generated-files.sh:
2562
2563 2007-11-26  Anders Carlsson  <andersca@apple.com>
2564
2565         Reviewed by Adam.
2566
2567         Add an implementation of IWebSecurityOrigin and a partially stubbed out
2568         implementation of IWebDatabaseManager.
2569         
2570         * ForEachCoClass.h:
2571         * Interfaces/IWebDatabaseManager.idl:
2572         * Interfaces/WebKit.idl:
2573         * WebDatabaseManager.cpp:
2574         (WebDatabaseManager::createInstance):
2575         (WebDatabaseManager::WebDatabaseManager):
2576         (WebDatabaseManager::~WebDatabaseManager):
2577         (WebDatabaseManager::QueryInterface):
2578         (WebDatabaseManager::AddRef):
2579         (WebDatabaseManager::Release):
2580         (WebDatabaseManager::sharedWebDatabaseManager):
2581         (WebDatabaseManager::origins):
2582         (WebDatabaseManager::databasesWithOrigin):
2583         (WebDatabaseManager::detailsForDatabaseWithOrigin):
2584         (WebDatabaseManager::deleteAllDatabases):
2585         (WebDatabaseManager::deleteDatabasesWithOrigin):
2586         (WebDatabaseManager::deleteDatabaseWithOrigin):
2587         * WebDatabaseManager.h:
2588         * WebKit.vcproj/WebKit.vcproj:
2589         * WebKitClassFactory.cpp:
2590         * WebSecurityOrigin.cpp: Added.
2591         (WebSecurityOrigin::createInstance):
2592         (WebSecurityOrigin::WebSecurityOrigin):
2593         (WebSecurityOrigin::~WebSecurityOrigin):
2594         (WebSecurityOrigin::QueryInterface):
2595         (WebSecurityOrigin::AddRef):
2596         (WebSecurityOrigin::Release):
2597         (WebSecurityOrigin::protocol):
2598         (WebSecurityOrigin::domain):
2599         (WebSecurityOrigin::port):
2600         (WebSecurityOrigin::usage):
2601         (WebSecurityOrigin::quota):
2602         (WebSecurityOrigin::setQuota):
2603         * WebSecurityOrigin.h: Added.
2604
2605 2007-11-26  Kevin McCullough  <kmccullough@apple.com>
2606
2607         Reviewed by Maciej.
2608
2609         - Implemented displaying variables for Drosera on Win.
2610
2611         * Interfaces/IWebScriptCallFrame.idl: Added a local function to be
2612         able to access the WebScriptCallFrame.
2613         * Interfaces/IWebScriptScope.idl: Implemented.
2614         * Interfaces/WebKit.idl: Added WebScriptScope to the tlb.
2615         * WebKit.vcproj/Interfaces.vcproj: 
2616         * WebScriptCallFrame.cpp: Implemented the helper and accessor methods.
2617         (EnumScopes::Next): Fixed a bug where we did not release correctly and
2618         would accidentally destroy scopes.
2619         (WebScriptCallFrame::stringByEvaluatingJavaScriptFromString):
2620         Implemented.
2621         (WebScriptCallFrame::valueByEvaluatingJavaScriptFromString): Implemented
2622         * WebScriptCallFrame.h: Implemented the helper and accessor methods.
2623         (WebScriptCallFrame::impl):
2624         (WebScriptCallFrame::state):
2625         * WebScriptScope.cpp: Implmented.
2626         (EnumVariables::EnumVariables): Created an IEnumVariant over the
2627         variables to be able to pass a DCOM acceptable structure back to
2628         Drosera.
2629         (EnumVariables::createInstance):
2630         (EnumVariables::QueryInterface):
2631         (EnumVariables::AddRef):
2632         (EnumVariables::Release):
2633         (EnumVariables::Next):
2634         (EnumVariables::Skip):
2635         (EnumVariables::Reset):
2636         (EnumVariables::Clone):
2637         (WebScriptScope::WebScriptScope):
2638         (WebScriptScope::createInstance): Implemented.
2639         (WebScriptScope::variableNames): Implemented.
2640         (WebScriptScope::valueForVariable):
2641         * WebScriptScope.h: Implmeneted.
2642
2643 2007-11-26  Anders Carlsson  <andersca@apple.com>
2644
2645         Reviewed by Brady.
2646
2647         Add IWebDatabaseManager and IWebSecurityOrigin interfaces.
2648         
2649         * Interfaces/IWebDatabaseManager.idl: Added.
2650         * Interfaces/IWebSecurityOrigin.idl: Added.
2651         * WebKit.vcproj/Interfaces.vcproj:
2652         * WebKit.vcproj/WebKitGUID.vcproj:
2653
2654 2007-11-26  Alice Liu  <alice.liu@apple.com>
2655
2656         Reviewed by Jon Honeycutt.
2657
2658         Fall back to the default Policy Delegate in these functions, 
2659         as is already done in dispatchDecidePolicyForNavigationAction
2660
2661         * WebFrame.cpp:
2662         (WebFrame::dispatchDecidePolicyForMIMEType):
2663         (WebFrame::dispatchDecidePolicyForNewWindowAction):
2664         (WebFrame::dispatchUnableToImplementPolicy):
2665
2666 2007-11-25  Adam Roben  <aroben@apple.com>
2667
2668         Fix a leak pointed out by Alexey
2669
2670         * WebView.cpp:
2671         (getUpdateRects): Use a Vector<unsigned char>, since OwnPtr doesn't
2672         know to call delete[].
2673
2674 2007-11-25  Adam Roben  <aroben@apple.com>
2675
2676         Fix Bug 16138: Reduce code duplication in WebView.cpp
2677
2678         http://bugs.webkit.org/show_bug.cgi?id=16138
2679
2680         Reviewed by Sam.
2681
2682         * WebView.cpp:
2683         (getUpdateRects): Factored code out of updateBackingStore and paint
2684         into this new helper function.
2685         (WebView::updateBackingStore): Use getUpdateRects.
2686         (WebView::paint): Ditto.
2687         (WebView::paintIntoBackingStore): Changed to take a const IntRect&.
2688         (WebView::paintIntoWindow): Ditto.
2689         * WebView.h:
2690
2691 2007-11-25  Adam Roben  <aroben@apple.com>
2692
2693         Add ImageDiff.vcproj to WebKit.sln
2694
2695         Reviewed by Sam.
2696
2697         * WebKit.vcproj/WebKit.sln:
2698
2699 2007-11-17  Timothy Hatcher  <timothy@apple.com>
2700
2701         Reviewed by Mark Rowe.
2702
2703         Bug 13470: i18n: The Web Inspector is not localizable
2704         http://bugs.webkit.org/show_bug.cgi?id=13470
2705
2706         * English.lproj/Localizable.strings: Updated.
2707         * WebInspectorClient.cpp:
2708         (WebInspectorClient::localizedStringsURL): Empty stub.
2709         * WebInspectorClient.h: Added localizedStringsURL.
2710
2711 2007-11-17  Alexey Proskuryakov  <ap@webkit.org>
2712
2713         Windows build fix.
2714
2715         * WebView.cpp:
2716         (WebView::deleteSelection): Use canSmartCopyOrDelete() directly.
2717
2718 2007-11-14  Adam Roben  <aroben@apple.com>
2719
2720         Change Interfaces to be a "Static Library" project
2721
2722         Being a Utility project meant that Interfaces was rebuilding every
2723         time (Utility projects are supposed to handle their own dependencies).
2724         Interfaces isn't really a static library, but it means that VS will
2725         handle dependencies for us (and not complain about missing manifests
2726         like it did when the project was an Application).
2727
2728         * WebKit.vcproj/Interfaces.vcproj:
2729
2730 2007-11-14  Adam Roben  <aroben@apple.com>
2731
2732         Shut up FixMIDLHeaders.pl
2733
2734         * WebKit.vcproj/FixMIDLHeaders.pl:
2735
2736 2007-11-14  Adam Roben  <aroben@apple.com>
2737
2738         Change Interfaces to use a Utility configuration
2739
2740         It had previously been marked as an "Application (.exe)", which is
2741         wrong but worked with most versions of Visual Studio.
2742
2743         Rubberstamped by Steve.
2744
2745         * WebKit.vcproj/Interfaces.vcproj:
2746
2747 2007-11-14  Anders Carlsson  <andersca@apple.com>
2748
2749         Reviewed by Adam.
2750
2751         Get the new focus window from the wParam instead of calling GetFocus().
2752         Also, send blur even if there is no focused frame.
2753                
2754         * WebView.cpp:
2755         (WebViewWndProc):
2756
2757 2007-11-14  Adam Roben  <aroben@apple.com>
2758
2759         Another build fix for systems without Cygwin in their PATH
2760
2761         * WebKit.vcproj/Interfaces.vcproj: Add Cygwin to the PATH in the
2762         Post-Build Event.
2763
2764 2007-11-13  Kevin McCullough  <kmccullough@apple.com>
2765
2766         Reviewed by Adam.
2767
2768         - Make Drosera show source, source URLs, and function stack on Windows
2769         and some minor fixes.
2770
2771         * WebScriptCallFrame.cpp: Fixed a bug where the callFrame was not reffed
2772         properly before being returned, and changed functionName() to check for
2773         Null or if the name is empty.
2774         (EnumScopes::Clone):
2775         (WebScriptCallFrame::WebScriptCallFrame):
2776         (WebScriptCallFrame::createInstance):
2777         (WebScriptCallFrame::caller):
2778         (WebScriptCallFrame::functionName):
2779         * WebScriptCallFrame.h: Ditto
2780         * WebScriptDebugServer.cpp: Made the listenerSet static since we were
2781         already treating it as if it were. Removed the EnumViews stuff.  This
2782         was added by Steve to demonstrate DCOM and he thought it would be needed
2783         by Drosera, but I don't believe it will be.
2784         Implemented suspendProcessIfPaused() also added calls to it at the end
2785         of several functions to ensure we pause if Drosera has told WebKit to.
2786         (WebScriptDebugServer::WebScriptDebugServer):
2787         (WebScriptDebugServer::sharedWebScriptDebugServer):
2788         (WebScriptDebugServer::addListener):
2789         (WebScriptDebugServer::removeListener):
2790         (WebScriptDebugServer::suspendProcessIfPaused):
2791         (WebScriptDebugServer::didLoadMainResourceForDataSource):
2792         (WebScriptDebugServer::didParseSource):
2793         (WebScriptDebugServer::failedToParseSource):
2794         (WebScriptDebugServer::didEnterCallFrame):
2795         (WebScriptDebugServer::willExecuteStatement):
2796         (WebScriptDebugServer::willLeaveCallFrame):
2797         (WebScriptDebugServer::exceptionWasRaised):
2798         * WebScriptDebugServer.h: Ditto.
2799         * WebScriptDebugger.cpp: The important change here is that leaveFrame()
2800         is called before willLeaveCallFrame().  I think there is some EOL stuff
2801         going on too.
2802         - It was the implementing of these functions that allows source, the
2803         source URLs and function stack to be displayed.
2804         (WebScriptDebugger::callEvent):
2805         (WebScriptDebugger::atStatement):
2806         (WebScriptDebugger::returnEvent):
2807         (WebScriptDebugger::exception):
2808         (WebScriptDebugger::enterFrame):
2809         (WebScriptDebugger::leaveFrame):
2810         * WebView.cpp: Removed the EnumView functions.
2811         (WebView::WebView):
2812         (WebView::~WebView):
2813
2814 2007-11-13  Adam Roben  <aroben@apple.com>
2815
2816         Fix <rdar://5346832> Infinite recursion when opening Web Inspector on more than one tab
2817
2818         The bug was that multiple WebNodeHighlights would subclass the same
2819         browser window, leading to infinite recursion within
2820         SubclassedWndProc.
2821
2822         WebNodeHighlight is now a WindowMessageListener, and lets
2823         WindowMessageBroadcaster handle subclassing the window.
2824
2825         Reviewed by Ada.
2826
2827         * WebNodeHighlight.cpp:
2828         (WebNodeHighlight::WebNodeHighlight): Initialize m_observedWindow
2829         member.
2830         (WebNodeHighlight::~WebNodeHighlight): Unregister as a listener for
2831         m_observedWindow.
2832         (WebNodeHighlight::highlight): Register as a listener.
2833         (WebNodeHighlight::windowReceivedMessage): Do the work that used to be
2834         done in SubclassedWndProc.
2835         * WebNodeHighlight.h: Made WebNodeHighlight a WindowMessageListener,
2836         and renamed m_subclassedWindow to m_observedWindow.
2837
2838 2007-11-13  Adam Roben  <aroben@apple.com>
2839
2840         Build fix for systems that don't have Cygwin in their PATH
2841
2842         * WebKit.vcproj/Interfaces.vcproj: Put Cygwin in the PATH before
2843         trying to run bash.
2844
2845 2007-11-13  Steve Falkenburg  <sfalken@apple.com>
2846
2847         Add IDOMElementPrivate::font() to get an element's font
2848         as a WebFontDescription.
2849         
2850         Reviewed by Darin.
2851
2852         * DOMCoreClasses.cpp:
2853         (DOMElement::font):
2854         * DOMCoreClasses.h:
2855         * Interfaces/DOMPrivate.idl:
2856
2857 2007-11-12  Adam Roben  <aroben@apple.com>
2858
2859         Windows build fix
2860
2861         * WebKit.vcproj/WebKit.def: Export fastZeroedMalloc.
2862         * WebKit.vcproj/WebKit_debug.def: Ditto.
2863
2864 2007-11-09  Jon Honeycutt  <jhoneycutt@apple.com>
2865
2866         Reviewed by Sam.
2867
2868         <rdar://5585900>: Safari crashes when selected in context menu to open
2869         audio format files (au, aif) with QT 7.3
2870
2871         The crash occurred on a machine where QT 7.3 was failing to initialize.
2872         The fix is to avoid sending streams to full-page plugins that've failed 
2873         to load
2874
2875         * WebFrame.cpp:
2876         (WebFrame::finishedLoading): Check plugin status before calling manual
2877         stream methods
2878         (WebFrame::setMainDocumentError): Same
2879         (WebFrame::committedLoad): Same
2880
2881 2007-11-09  Sam Weinig  <sam@webkit.org>
2882
2883         Rubber stamped by Oliver.
2884
2885         Make WebCore a dependency of Interfaces.
2886
2887         * WebKit.vcproj/WebKit.sln:
2888
2889 2007-11-04  Sam Weinig  <sam@webkit.org>
2890
2891         Reviewed by Adam Roben.
2892
2893         <rdar://problem/5435940>
2894         The COM bindings for the DOM should be autogenerated like the other DOM bindings
2895
2896         Initial commit of the autogeneration of the COM DOM Bindings.  No behavior change
2897         is being introduced in this patch and to insure that no conflicts arise, a temporary
2898         prefix of "GEN_" has been used for all the new classes.
2899
2900         The build architecture for these bindings differs slightly from the other autogenerated
2901         bindings.  Instead of building in WebCore and migrating the resuting code to WebKit (as
2902         is done for the Objective-C bindigs currently), the IDLs and generation scripts are
2903         migrated to WebKit and built there.  This is done with a series of scripts and Makefiles.
2904
2905         This commit includes:
2906             - Hand rolled root class/Interface GEN_DOMObject used to facilated object creation
2907               and ref-counting.
2908             - Generating all of the Core DOM and most of HTML and CSS
2909             - Generating Event, EventTarget, and EventListener
2910
2911         * DOMCreateInstance.cpp: Added.
2912         (domWrapperCache):
2913         (getDOMWrapper):
2914         (setDOMWrapper):
2915         (removeDOMWrapper):
2916         (GEN_DOMNode::createInstance):
2917         (GEN_DOMImplementation::createInstance):
2918         (GEN_DOMCSSRule::createInstance):
2919         (GEN_DOMStyleSheet::createInstance):
2920         (GEN_DOMCSSValue::createInstance):
2921         * DOMCreateInstance.h: Added.
2922         Temporary location for createInstance/object caching methods.  This will be broken up
2923         into seperate files in the near future.
2924
2925         * GEN_DOMObject.cpp: Added.
2926         (GEN_DOMObject::GEN_DOMObject):
2927         (GEN_DOMObject::~GEN_DOMObject):
2928         (GEN_DOMObject::QueryInterface):
2929         (GEN_DOMObject::AddRef):
2930         (GEN_DOMObject::Release):
2931         * GEN_DOMObject.h: Added.
2932         Hand rolled base class.
2933
2934         * Interfaces/IGEN_DOMObject.idl: Added. 
2935         Hand rolled base interface.
2936
2937         * WebKit.vcproj/DerivedSources.make: Added.
2938         * WebKit.vcproj/FixMIDLHeaders.pl: Added.
2939         This script is required because MIDL is producing un-buildable code due to
2940         circular dependencies.
2941
2942         * WebKit.vcproj/Interfaces.vcproj:
2943         * WebKit.vcproj/WebKit.vcproj:
2944         * WebKit.vcproj/WebKitGUID.vcproj:
2945         * WebKit.vcproj/build-generated-files.sh: Added.
2946
2947 2007-11-08  Kevin McCullough  <kmccullough@apple.com>
2948
2949         Reviewed by Adam.
2950
2951         - This patch does two main things.
2952         1) It adds pragma warning guards around WebCore includes in WebKit files
2953         that were previously overlooked.
2954         2) It implements almost the entireity of WebScriptDebugger.  Only one
2955         function remains and that implementation is dependent on finishing the
2956         implementation of WebScriptScope.
2957
2958         * WebScriptCallFrame.h:
2959         * WebScriptDebugServer.h:
2960         * WebScriptDebugger.cpp:
2961         (WebScriptDebugger::WebScriptDebugger):
2962         (WebScriptDebugger::sourceParsed):
2963         (WebScriptDebugger::callEvent):
2964         (WebScriptDebugger::atStatement):
2965         (WebScriptDebugger::returnEvent):
2966         (WebScriptDebugger::exception):
2967         (WebScriptDebugger::enterFrame):
2968         (WebScriptDebugger::leaveFrame):
2969         * WebScriptDebugger.h:
2970
2971 2007-11-08  Steve Falkenburg  <sfalken@apple.com>
2972
2973         <rdar://problem/5491463> Wrong dates shown in History menu.
2974         
2975         Fix off-by-one error in Windows epoch.
2976         
2977         For the Windows DATE type, 1/1/1900 should be 2.0, not 1.0.
2978         DATE is the number of days since 12/30/1899.
2979         
2980         Reviewed by Ada.
2981
2982         * MarshallingHelpers.cpp:
2983         (MarshallingHelpers::windowsEpochAbsoluteTime):
2984
2985 2007-11-08  Kevin McCullough  <kmccullough@apple.com>
2986
2987         Reviewed by Sam.
2988
2989         - With this change Drosera can now get the source of a website and the
2990         listings of the sources it gets.  This also lays the foundation for
2991         letting Drosera show the scope chain of the JavaScript stack.
2992
2993         * Interfaces/IWebFrame.idl: Changed the signature of the local function,
2994         globalContext(), because COM was unable to marshal this object with the
2995         other signature.
2996         * Interfaces/IWebScriptDebugServer.idl: Of course adding and removing
2997         a listener cannot be done in a const function.
2998         * WebChromeClient.h: Added accessor to the WebView for the new added
2999         kit() function in WebFrame.
3000         (WebChromeClient::webView):
3001         * WebFrame.cpp: Added a script debugger object and the necessary
3002         functions to attach and communicate with it. Also needed to change the
3003         local function, globalContext(), because of a COM issue.
3004         (kit):
3005         (WebFrame::WebFrame):
3006         (WebFrame::globalContext):
3007         (WebFrame::loadData):
3008         (WebFrame::attachScriptDebugger):
3009         (WebFrame::detachScriptDebugger):
3010         (WebFrame::dispatchDidLoadMainResource):
3011         (WebFrame::windowObjectCleared):
3012         * WebFrame.h: Ditto.
3013         * WebHTMLRepresentation.cpp: Implemented documentSource so Drosera has
3014         some source code to display.
3015         (WebHTMLRepresentation::WebHTMLRepresentation):
3016         (WebHTMLRepresentation::documentSource):
3017         * WebKit.vcproj/WebKit.vcproj: Added the new WebScriptDebugger class.
3018         * WebScriptCallFrame.cpp: Implemented much of this class' functionality.
3019         (EnumScopes::EnumScopes): Made an EnumScopes class to create an
3020         IEnumVARIANT to wrap a ScopeChain for Drosera.
3021         (EnumScopes::QueryInterface):
3022         (EnumScopes::AddRef):
3023         (EnumScopes::Release):
3024         (EnumScopes::Next):
3025         (EnumScopes::Skip):
3026         (EnumScopes::Reset):
3027         (EnumScopes::Clone):
3028         (WebScriptCallFrame::caller):
3029         (WebScriptCallFrame::scopeChain):
3030         (WebScriptCallFrame::functionName):
3031         (WebScriptCallFrame::stringByEvaluatingJavaScriptFromString):
3032         * WebScriptCallFrame.h: Added member data needed for the above functions
3033         * WebScriptDebugServer.cpp: Began implementing. 
3034         (WebScriptDebugServer::listenerCount):
3035         (EnumViews::QueryInterface):
3036         (EnumViews::AddRef):
3037         (EnumViews::Release):
3038         (EnumViews::Next):
3039         (EnumViews::Skip):
3040         (EnumViews::Reset):
3041         (EnumViews::Clone):
3042         (WebScriptDebugServer::WebScriptDebugServer):
3043         (WebScriptDebugServer::createInstance):
3044         (WebScriptDebugServer::sharedWebScriptDebugServer):
3045         (WebScriptDebugServer::AddRef):
3046         (WebScriptDebugServer::Release):
3047         (WebScriptDebugServer::addListener):
3048         (WebScriptDebugServer::removeListener):
3049         (WebScriptDebugServer::step):
3050         (WebScriptDebugServer::pause):
3051         (WebScriptDebugServer::resume):
3052         (WebScriptDebugServer::isPaused):
3053         (WebScriptDebugServer::suspendProcessIfPaused):
3054         (WebScriptDebugServer::didLoadMainResourceForDataSource):
3055         (WebScriptDebugServer::didParseSource):
3056         (WebScriptDebugServer::failedToParseSource):
3057         (WebScriptDebugServer::didEnterCallFrame):
3058         (WebScriptDebugServer::willExecuteStatement):
3059         (WebScriptDebugServer::willLeaveCallFrame):
3060         (WebScriptDebugServer::exceptionWasRaised):
3061         * WebScriptDebugServer.h: Began implementing.
3062         * WebScriptDebugger.cpp: Added.
3063         (WebScriptDebugger::WebScriptDebugger):
3064         (WebScriptDebugger::sourceParsed):
3065         * WebScriptDebugger.h: Added.
3066         * WebScriptScope.cpp: Make this class use createInstance which is more
3067         in line with our guidelines.
3068         (WebScriptScope::WebScriptScope):
3069         (WebScriptScope::createInstance):
3070         * WebScriptScope.h:
3071
3072
3073 2007-11-07  Darin Adler  <darin@apple.com>
3074
3075         Reviewed by Steve.
3076
3077         * Interfaces/IWebUIDelegate.idl: Added the functions needed below.
3078         * WebChromeClient.cpp:
3079         (WebChromeClient::setMenubarVisible): Eliminated the notImplemented()
3080         here by calling through the UI delegate.
3081         (WebChromeClient::menubarVisible): Ditto.
3082         (WebChromeClient::runDatabaseSizeLimitPrompt): Ditto.
3083
3084 2007-11-07  Steve Falkenburg  <sfalken@apple.com>
3085
3086         Added IWebDocumentText available via QI from WebFrame.
3087         
3088         Reviewed by Sam.
3089
3090         * WebFrame.cpp:
3091         (WebFrame::QueryInterface): Added IID_IWebDocumentText.
3092         (WebFrame::supportsTextEncoding): Stubbed out.
3093         (WebFrame::selectedString): Implemented.
3094         (WebFrame::selectAll): Stubbed out.
3095         (WebFrame::deselectAll): Stubbed out.
3096         * WebFrame.h:
3097
3098 2007-11-07  Adam Roben  <aroben@apple.com>
3099
3100         Fix <rdar://5569268> Crash when opening any FTP site in second tab/window
3101
3102         Reviewed by Sam.
3103
3104         * WebView.cpp:
3105         (WebView::initWithFrame): Set the ftpDirectoryTemplatePath for every
3106         Page, not just the first one.
3107
3108 2007-11-06  Adam Roben  <aroben@apple.com>
3109
3110         Change WebLocalizableStrings to take UTF-8 C strings
3111
3112         This matches the way things work on the Mac, and will allow source
3113         files containing localizable strings to be shared between Mac and
3114         Windows. The old functions have not been removed for compatibility
3115         reasons, but are now just wrappers around the new UTF-8 functions.
3116
3117         Reviewed by Ada.
3118
3119         * WebKit.vcproj/WebKit.def: Added new functions.
3120         * WebKit.vcproj/WebKit_debug.def: Ditto.
3121         * WebLocalizableStrings.cpp:
3122         (copyLocalizedStringFromBundle): Changed to take a WebCore::String
3123         representing the key.
3124         (localizedString): Refactored from WebLocalizedString. Takes a
3125         WebCore::String representing the key.
3126         (localizedLPCTSTR): Ditto for WebLocalizedLPCTSTR.
3127         (WebLocalizedStringUTF8): Added. Takes a UTF-8 C string as the key.
3128         (WebLocalizedLPCTSTRUTF8): Ditto.
3129         (WebLocalizedString): Changed to call localizedString.
3130         (WebLocalizedLPCTSTR): Changed to call localizedLPCTSTR.
3131         * WebLocalizableStrings.h: Changed macros to use the new UTF-8
3132         functions.
3133
3134 2007-11-06  Darin Adler  <darin@apple.com>
3135
3136         Reviewed by Adam and Steve.
3137
3138         - added hooks needed to implement showModalDialog on Windows
3139
3140         * Interfaces/IWebUIDelegate.idl: Added canRunModal, createModalDialog,
3141         and runModal functions to the end of IWebUIDelegate3.
3142
3143         * WebChromeClient.h: Added uiDelegate and uiDelegate2 helper functions,
3144         so it's easier to write client functions.
3145         * WebChromeClient.cpp:
3146         (WebChromeClient::createWindow): Implemented dialog case. Calls IWebUIDelegate3.
3147         (WebChromeClient::canRunModal): Implemented. Calls IWebUIDelegate3.
3148         (WebChromeClient::runModal): Ditto.
3149         (WebChromeClient::uiDelegate): Added.
3150         (WebChromeClient::uiDelegate2): Added.
3151         (WebChromeClient::uiDelegate3): Added.
3152
3153 2007-11-06  Alexey Proskuryakov  <ap@webkit.org>
3154
3155         Rubber-stamped by Adam Roben.
3156
3157         Windows build fix.
3158
3159         * WebFrame.cpp:
3160         (WebFrame::string): plainText() returns a String now.
3161
3162 2007-11-05  Ada Chan  <adachan@apple.com>
3163
3164         <rdar://problem/5579772> Regression: AltGr does not work
3165         Testing whether alt-key is down is not the right test for system key event.
3166         Added a m_isSystemKey flag in PlatformKeyboardEvent to keep track of whether
3167         this is a system key event, check that flag instead in handleEditingKeyboardEvent().
3168
3169         Reviewed by Oliver.
3170
3171         * WebView.cpp:
3172         (WebView::keyUp):
3173         (WebView::handleEditingKeyboardEvent):
3174         (WebView::keyDown):
3175         (WebViewWndProc):
3176         * WebView.h:
3177
3178 2007-11-05  Ada Chan  <adachan@apple.com>
3179
3180         Build fix.
3181
3182         Reviewed by Tristan.
3183
3184         * WebChromeClient.h:
3185
3186 2007-11-05  Tristan O'Tierney  <tristan@apple.com>
3187
3188         Reviewed by Darin Adler.
3189         
3190         Part of the WebKit/WebCore API changes for
3191         <rdar://problem/5368188>
3192
3193         * WebChromeClient.cpp:
3194         (WebChromeClient::createWindow):
3195         Removed usage of createModalDialog and revised to use new createWindow
3196         ChromeClient API.
3197
3198 2007-11-04  Adam Roben  <aroben@apple.com>
3199
3200         Add IWebCache::disabled
3201
3202         This matches the Mac WebCache class.
3203
3204         Reviewed by Sam.
3205
3206         * Interfaces/IWebCache.idl:
3207         * WebCache.cpp:
3208         (WebCache::disabled):
3209         * WebCache.h:
3210
3211 2007-11-04  Adam Roben  <aroben@apple.com>
3212
3213         Add IWebInspector and a way to get one from a WebView
3214
3215         This API matches the Mac one added in r27266.
3216
3217         Reviewed by Sam.
3218
3219         * Interfaces/IWebInspector.idl: Added.
3220         * Interfaces/IWebViewPrivate.idl: Added a new inspector method to
3221         match Mac.
3222         * WebInspector.cpp: Added.
3223         (WebInspector::createInstance):
3224         (WebInspector::WebInspector):
3225         (WebInspector::~WebInspector):
3226         (WebInspector::webViewClosed):
3227         (WebInspector::QueryInterface):
3228         (WebInspector::AddRef):
3229         (WebInspector::Release):
3230         (WebInspector::show):
3231         (WebInspector::showConsole):
3232         (WebInspector::showTimeline):
3233         (WebInspector::close):
3234         (WebInspector::attach):
3235         (WebInspector::detach):
3236         * WebInspector.h: Added.
3237         * WebKit.vcproj/Interfaces.vcproj: Added IWebInspector.idl.
3238         * WebKit.vcproj/WebKit.vcproj: Added WebInspector.{cpp,h}.
3239         * WebKit.vcproj/WebKitGUID.vcproj: Added IWebInspector_i.c.
3240         * WebView.cpp:
3241         (WebView::close): Notify the WebInspector that we're closing.
3242         (WebView::inspector): Added.
3243         * WebView.h:
3244
3245 2007-11-04  Adam Roben  <aroben@apple.com>
3246
3247         Cache strings that come directly from WebLocalizedString
3248
3249         Reviewed by Steve.
3250
3251         * WebLocalizableStrings.cpp:
3252         (copyLocalizedStringFromBundle): This used to be WebLocalizedString,
3253         but is now just a static helper function.
3254         (findCachedStringInMap): Added static helper.
3255         (findCachedString): Refactored and cleaned up code from
3256         WebLocalizedLPCTSTR.
3257         (cacheString): Ditto.
3258         (WebLocalizedString): Rewrote to use the new helper functions.
3259         (WebLocalizedLPCTSTR): Changed to use the new helper functions.
3260
3261 2007-11-03  Adam Roben  <aroben@apple.com>
3262
3263         Only override the default user agent string if we're actually given a custom one
3264
3265         Reviewed by Sam.
3266
3267         * WebView.cpp:
3268         (WebView::setCustomUserAgent):
3269
3270 2007-11-01  Oliver Hunt  <oliver@apple.com>
3271
3272         Reviewed by Alexey.
3273
3274         Allow Shift, Ctrl, Alt, Meta and Capslock keys to be sent into WebCore.
3275
3276         * WebView.cpp:
3277         (WebView::keyDown):
3278         (WebView::keyUp):
3279
3280 2007-11-01  Kevin McCullough  <kmccullough@apple.com>
3281
3282         - Fixed a build failure
3283
3284         * WebEditorClient.cpp:
3285         (WebEditorClient::textWillBeDeletedInTextField):
3286
3287 2007-11-01  Adam Roben  <aroben@apple.com>
3288
3289         Fix the parameter type of WebLocalizedString to match the UI_STRING macro
3290
3291         Reviewed by Sam.
3292
3293         * WebLocalizableStrings.cpp:
3294         (WebLocalizedString):
3295         (WebLocalizedLPCTSTR):
3296         * WebLocalizableStrings.h:
3297
3298 2007-11-01  Alexey Proskuryakov  <ap@webkit.org>
3299
3300         Rubber-stamped by Adam Roben.
3301
3302         Rolled out r27326 - debug CRT seems to cause no problems after all.
3303
3304         * WebKit.vcproj/WebKit.vcproj:
3305
3306 2007-10-31  Adam Roben  <aroben@apple.com>
3307
3308         Switch the Debug configuration to using the non-debug CRT
3309
3310         The debug CRT conflicts with what Safari uses, which causes loading
3311         problems.
3312
3313         Reviewed by Steve.
3314
3315         * WebKit.vcproj/WebKit.vcproj:
3316
3317 2007-10-30  Kevin McCullough  <kmccullough@apple.com>
3318
3319         Reviewed by Adam and Geoff.
3320
3321         - Added the globalContext method so Drosera can ask a WebFrame for its
3322         context.
3323
3324         * Interfaces/IWebFrame.idl:
3325         * WebFrame.cpp:
3326         * WebFrame.h:
3327
3328 2007-10-30  Adele Peterson  <adele@apple.com>
3329
3330         Reviewed by Darin.
3331
3332         WebKitWin part of fix for http://bugs.webkit.org/show_bug.cgi?id=10577
3333         <rdar://problem/5110427> REGRESSION: Caps lock icon should show in password fields
3334
3335         * WebView.cpp: (WebView::keyDown): Call capsLockStateMayHaveChanged so WebCore knows it may have to update a password field.
3336
3337 2007-10-29  Kevin McCullough  <kmccullough@apple.com>
3338
3339         Reviewed by Adam and Maciej.
3340
3341         - Added the IWebScriptScope interface which is used by Drosera to get
3342         information and run contextually significant code with respect to the
3343         current JS stack frame.
3344
3345         * Interfaces/IWebScriptCallFrame.idl: Line endings changed, not sure why
3346         but the real changes were to change the return type of scopeChain() and
3347         the return type and name of evaluateWebScript() to
3348         stringByEvaluatingJavaScriptFromString().
3349         * Interfaces/IWebScriptScope.idl: Added.
3350         * WebKit.vcproj/Interfaces.vcproj: Added the new interface.
3351         * WebKit.vcproj/WebKit.vcproj: Added the files for the new class.
3352         * WebKit.vcproj/WebKitGUID.vcproj: Added the new interfaces.
3353         * WebScriptCallFrame.cpp: Changed the return type to E_NOTIMPL and
3354         asserted so it would be obvious if I accidentally try to use one of
3355         these functions before it's implemented.
3356         (WebScriptCallFrame::caller):
3357         (WebScriptCallFrame::scopeChain):
3358         (WebScriptCallFrame::functionName):
3359         (WebScriptCallFrame::stringByEvaluatingJavaScriptFromString):
3360         * WebScriptCallFrame.h: Changed the return types mentioned above.
3361         * WebScriptDebugServer.cpp: Also changed the return type to E_NOTIMPL.
3362         (WebScriptDebugServer::addListener):
3363         (WebScriptDebugServer::removeListener):
3364         (WebScriptDebugServer::step):
3365         (WebScriptDebugServer::pause):
3366         (WebScriptDebugServer::resume):
3367         (WebScriptDebugServer::isPaused):
3368         * WebScriptScope.cpp: Added.
3369         (WebScriptScope::WebScriptScope):
3370         (WebScriptScope::~WebScriptScope):
3371         (WebScriptScope::QueryInterface):
3372         (WebScriptScope::AddRef):
3373         (WebScriptScope::Release):
3374         (WebScriptScope::getVariableNames):
3375         (WebScriptScope::getValueForVariable):
3376         * WebScriptScope.h: Added.
3377
3378 2007-10-28  Darin Adler  <darin@apple.com>
3379
3380         - try to fix Windows build
3381
3382         * WebKit.vcproj/WebKit.vcproj: Suppress warning 4800 (conversion to bool),
3383         since we don't want to add !! everywhere, and because HashTable.h has a
3384         conversion to bool of this type now.
3385
3386 2007-10-27  Kevin McCullough  <kmccullough@apple.com>
3387
3388         Reviewed by Adam.
3389
3390         - Stubbed out IWebScriptCallFrame for Drosera.
3391
3392         * Interfaces/IWebScriptCallFrame.idl: Added function declarations.
3393         * WebKit.vcproj/WebKit.vcproj: Added .h/.cpp files to the project.
3394         * WebScriptCallFrame.cpp: Added.
3395         (WebScriptCallFrame::WebScriptCallFrame):
3396         (WebScriptCallFrame::~WebScriptCallFrame):
3397         (WebScriptCallFrame::createInstance):
3398         (WebScriptCallFrame::QueryInterface):
3399         (WebScriptCallFrame::AddRef):
3400         (WebScriptCallFrame::Release):
3401         (WebScriptCallFrame::caller):
3402         (WebScriptCallFrame::scopeChain):
3403         (WebScriptCallFrame::functionName):
3404         (WebScriptCallFrame::evaluateWebScript):
3405         * WebScriptCallFrame.h: Added.
3406
3407 2007-10-26  Kevin McCullough  <kmccullough@apple.com>
3408
3409         Reviewed by Sam and Steve.
3410
3411         - Added convenience methods for converting between BSTR and JSSTringRefs
3412         - Added WebKit_debug.def to the project.
3413
3414         * WebKit.vcproj/WebKit.def:
3415         * WebKit.vcproj/WebKit.vcproj:
3416         * WebKit.vcproj/WebKit_debug.def:
3417
3418 2007-10-25  Sam Weinig  <sam@webkit.org>
3419
3420         Reviewed by Adam Roben.
3421
3422         Make debug builds run again.
3423
3424         * WebView.cpp:
3425         (WebView::notifyPreferencesChanged):
3426
3427 2007-10-25  Sam Weinig  <sam@webkit.org>
3428
3429         Reviewed by Adam Roben.
3430
3431         Remove JSStringRefCFHack.
3432
3433         * WebKit.vcproj/WebKit.vcproj:
3434
3435 2007-10-25  Sam Weinig  <sam@webkit.org>
3436
3437         Reviewed by Steve Falkenburg.
3438
3439         Fix for <rdar://problem/5463608>
3440         Port WebKit cache model code (Windows needs a big disk cache, smarter memory cache) 
3441
3442         * Interfaces/IWebPreferences.idl: 
3443         Deprecate pageCacheSize and objectCacheSize and add cacheModel/setCacheModel.
3444
3445         * Interfaces/IWebPreferencesPrivate.idl:
3446         Add automaticallyDetectsCacheModel/setAutomaticallyDetectsCacheModel
3447      
3448         * WebFrame.cpp:
3449         (WebFrame::didPerformFirstNavigation):
3450         Implement based on the mac version.
3451
3452         * WebKit.vcproj/WebKit.vcproj:
3453         * WebKitSystemBits.cpp: Added.
3454         (WebMemorySize): Moved and renamed from WebPreferences.cpp
3455         (WebVolumeFreeSize): Added.
3456         * WebKitSystemBits.h: Added.
3457         * WebPreferenceKeysPrivate.h: Added WebKitCacheModelPreferenceKey.
3458
3459         * WebPreferences.cpp:
3460         (WebPreferences::sharedStandardPreferences):
3461         (WebPreferences::WebPreferences):
3462         (WebPreferences::initializeDefaultSettings): Added default for cacheModel.
3463         (WebPreferences::webPreferencesChangedNotification):
3464         (WebPreferences::webPreferencesRemovedNotification):
3465         (WebPreferences::initWithIdentifier): Post a preferences change notification.
3466         (WebPreferences::pageCacheSize): Deprecated.
3467         (WebPreferences::objectCacheSize): Deprecated.
3468         (WebPreferences::cacheModel): Added.
3469         (WebPreferences::setCacheModel): Added.
3470         (WebPreferences::setAutomaticallyDetectsCacheModel): Added.
3471         (WebPreferences::automaticallyDetectsCacheModel): Added.
3472         (WebPreferences::willAddToWebView): Added.
3473         (WebPreferences::didRemoveFromWebView): Added.
3474         * WebPreferences.h:
3475
3476         * WebView.cpp:
3477         (PreferencesChangedOrRemovedObserver::PreferencesChangedOrRemovedObserver):
3478         (PreferencesChangedOrRemovedObserver::~PreferencesChangedOrRemovedObserver):
3479         (PreferencesChangedOrRemovedObserver::QueryInterface):
3480         (PreferencesChangedOrRemovedObserver::AddRef):
3481         (PreferencesChangedOrRemovedObserver::Release):
3482         (PreferencesChangedOrRemovedObserver::sharedInstance):
3483         (PreferencesChangedOrRemovedObserver::onNotify):
3484         (PreferencesChangedOrRemovedObserver::notifyPreferencesChanged):
3485         (PreferencesChangedOrRemovedObserver::notifyPreferencesRemoved):
3486         This singleton class updates static properties for all webviews when
3487         preferenceChange or preferenceRemoved notifications are fired for
3488         any WebPreference.
3489         (WebView::WebView):
3490         (WebView::~WebView):
3491         (initializeStaticObservers):
3492         (allWebViewsSet):
3493         (WebView::addToAllWebViewsSet):
3494         (WebView::removeFromAllWebViewsSet):
3495         (WebView::setCacheModel):
3496         (WebView::cacheModel):
3497         (WebView::didSetCacheModel):
3498         (WebView::maxCacheModelInAnyInstance):
3499         (WebView::close):
3500         (WebViewWndProc):
3501         (WebView::developerExtrasEnabled):
3502         (WebView::initWithFrame):
3503         (WebView::setPreferences):
3504         (WebView::preferences):
3505         (WebView::onNotify):
3506         (WebView::notifyPreferencesChanged):
3507         (updateSharedSettingsFromPreferencesIfNeeded):
3508         * WebView.h:
3509         Match the macs behavior by using explicit postings of notifications to
3510         update the preferences.
3511
3512 2007-10-25  Adam Roben  <aroben@apple.com>
3513
3514         Update WebKit.sln for the removal of Release dftables
3515
3516         Reviewed by NOBODY.
3517
3518         * WebKit.vcproj/WebKit.sln:
3519
3520 2007-10-25  Kevin McCullough  <kmccullough@apple.com>
3521
3522         Rubber stamped by Geoff.
3523
3524         - Stubbed out the WebScriptDebugServer methods to give Drosera something
3525         to connect to and now the signature of the interface matches the mac.
3526
3527         * Interfaces/IWebScriptDebugServer.idl:
3528         * WebScriptDebugServer.cpp:
3529         (WebScriptDebugServer::addListener):
3530         (WebScriptDebugServer::removeListener):
3531         (WebScriptDebugServer::step):
3532         (WebScriptDebugServer::pause):
3533         (WebScriptDebugServer::resume):
3534         (WebScriptDebugServer::isPaused):
3535         * WebScriptDebugServer.h:
3536
3537 2007-10-24  Kevin McCullough  <kmccullough@apple.com>
3538
3539         Reviewed by Darin.
3540
3541         - Renamed WebDebugProgram to WebScriptDebugServer to match the naming
3542         scheme on the mac.
3543
3544         * Interfaces/IWebDebugProgram.idl: Removed.
3545         * Interfaces/IWebScriptDebugServer.idl: Copied from win/Interfaces/IWebDebugProgram.idl.
3546         * Interfaces/WebKit.idl: 
3547         * WebDebugProgram.cpp: Removed.
3548         * WebDebugProgram.h: Removed.
3549         * WebKit.vcproj/Interfaces.vcproj:
3550         * WebKit.vcproj/WebKit.vcproj:
3551         * WebKit.vcproj/WebKitGUID.vcproj:
3552         * WebKitClassFactory.cpp:
3553         (WebKitClassFactory::CreateInstance):
3554         * WebKitDLL.cpp:
3555         (RunAsLocalServer):
3556         * WebScriptDebugServer.cpp: Copied from win/WebDebugProgram.cpp.
3557         (WebScriptDebugServer::WebScriptDebugServer):
3558         (WebScriptDebugServer::~WebScriptDebugServer):
3559         (WebScriptDebugServer::createInstance):
3560         (WebScriptDebugServer::QueryInterface):
3561         (WebScriptDebugServer::AddRef):
3562         (WebScriptDebugServer::Release):
3563         (WebScriptDebugServer::viewAdded):
3564         (WebScriptDebugServer::viewRemoved):
3565         (WebScriptDebugServer::attach):
3566         (WebScriptDebugServer::detach):
3567         (WebScriptDebugServer::statistics):
3568         (WebScriptDebugServer::webViews):
3569         * WebScriptDebugServer.h: Copied from win/WebDebugProgram.h.
3570         * WebView.cpp:
3571         (WebView::WebView):
3572         (WebView::~WebView):
3573
3574 2007-10-24  Adam Roben  <aroben@apple.com>
3575
3576         Fix <rdar://5549919> Initialize the font database before any font code is invoked
3577
3578         We initialize the database in two places:
3579            1. When instantiating WebKitClassFactory, which is guaranteed to
3580            happen before any WebView is instantiated.
3581            2. When making a WebCore::Font in WebKitGraphics.
3582
3583         This ensures that the font database will be populated before any font
3584         code is invoked. We rely on WebCore to only populate the database
3585         once.
3586
3587         Reviewed by Ada.
3588
3589         * WebKitClassFactory.cpp:
3590         (WebKitClassFactory::WebKitClassFactory): Populate the font database.
3591         * WebKitGraphics.cpp:
3592         (makeFont): Ditto.
3593
3594 2007-10-24  Adam Roben  <aroben@apple.com>
3595
3596         Add [I]WebTextRenderer
3597
3598         Right now this class can only be used to add private fonts for use by
3599         the running process, but will eventually be the home of the
3600         WebKitGraphics functions.
3601
3602         Reviewed by Ada.
3603
3604         * ForEachCoClass.h: Added WebTextRenderer.
3605         * Interfaces/WebKit.idl: Ditto.
3606         * WebKit.vcproj/Interfaces.vcproj: Ditto.
3607         * WebKit.vcproj/WebKit.vcproj: Ditto.
3608         * WebKit.vcproj/WebKitGUID.vcproj: Ditto.
3609         * WebKitClassFactory.cpp: Ditto.
3610         * WebTextRenderer.cpp: Added.
3611         (WebTextRenderer::createInstance):
3612         (WebTextRenderer::WebTextRenderer):
3613         (WebTextRenderer::~WebTextRenderer):
3614         (WebTextRenderer::QueryInterface):
3615         (WebTextRenderer::AddRef):
3616         (WebTextRenderer::Release):
3617         (WebTextRenderer::registerPrivateFont):
3618         * WebTextRenderer.h: Added.
3619
3620 2007-10-24  Adam Roben  <aroben@apple.com>
3621
3622         Use FOR_EACH_COCLASS in WebKitClassFactory
3623
3624         Reviewed by Ada.
3625
3626         * WebError.cpp:
3627         (WebError::createInstance): Added an overload that takes no arguments
3628         to make the macro used in WebKitClassFactory work.
3629         * WebError.h:
3630         * WebKitClassFactory.cpp:
3631         (WebKitClassFactory::CreateInstance): Use FOR_EACH_COCLASS.
3632
3633 2007-10-24  Adam Roben  <aroben@apple.com>
3634
3635         Put FOR_EACH_COCLASS macro into its own file and export it
3636
3637         The macro used to be called FOR_EACH_CLASS and lived in WebKitDLL.cpp.
3638         This way we will be able to use the macro in more places that care
3639         about all WebKit's COM classes.