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