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