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