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