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