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