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