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