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