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