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