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