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