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