2007-07-25 Ada Chan <adachan@apple.com>
[WebKit-https.git] / WebKit / win / ChangeLog
1 2007-07-25  Ada Chan  <adachan@apple.com>
2
3         Reviewed by Adam and Steve.
4         
5         Implemented some DOM methods and other fixes for <rdar://problem/5311601>.
6         
7         * DOMCoreClasses.cpp:
8         (DOMNode::ownerDocument): implemented
9         (DOMDocument::getComputedStyle): get the DOMElement via QueryInterface
10         (DOMElement::QueryInterface):
11         * DOMHTMLClasses.cpp:
12         (DOMHTMLDocument::body): fixed leak
13         (DOMHTMLFormElement::action): implemented
14         (DOMHTMLFormElement::method): ditto
15         (DOMHTMLInputElement::form): ditto
16         (DOMHTMLTextAreaElement::form): ditto
17         * Interfaces/DOMHTML.idl: IDOMHTMLInputElement should inherit from IDOMHTMLElement
18
19 2007-07-24  Steve Falkenburg  <sfalken@apple.com>
20
21         Removed touch of WebKit.rc to prevent rebuilds of the rc file.
22         The autoversion info can get slightly out of date now, but this isn't a huge problem relative to the rebuilds.
23         
24         Rubber-stamped by Adam.
25
26         * WebKit.vcproj/WebKit.vcproj:
27
28 2007-07-23  Steve Falkenburg  <sfalken@apple.com>
29
30         Fixes to versioning script.
31         
32         Reviewed by Ada.
33
34         * WebKit.vcproj/auto-version.sh:
35
36 2007-07-23  Adam Roben  <aroben@apple.com>
37
38         Implement IWebHistoryItem::[set]AlternateTitle
39
40         The argument types were reversed for these two methods, so I fixed that as
41         well.
42
43         Reviewed by Geoff and Oliver.
44
45         * Interfaces/IWebHistoryItem.idl:
46         * WebHistoryItem.cpp:
47         (WebHistoryItem::setAlternateTitle): Implemented.
48         (WebHistoryItem::alternateTitle): Implemented.
49         * WebHistoryItem.h:
50
51 2007-07-23  Ada Chan  <adachan@apple.com>
52
53         Reviewed by Steve.
54         
55         Added a new text drawing method that allows caller to override the font smoothing level.
56
57         * WebKit.vcproj/WebKit.def:
58         * WebKit.vcproj/WebKit_debug.def:
59         * WebKitGraphics.cpp:
60         (WebDrawText):
61         * WebKitGraphics.h:
62
63 2007-07-22  Adam Roben  <aroben@apple.com>
64
65         Implement IDOMElement::setAttribute
66
67         This method was mistakenly called "setResult" in DOMCore.idl, so I
68         fixed that as well.
69
70         Needed for <rdar://problem/5314906>.
71
72         Reviewed by Ada.
73
74         * DOMCoreClasses.cpp:
75         (DOMElement::setAttribute): Implemented/renamed.
76         * DOMCoreClasses.h: Renamed setResult => setAttribute.
77         * DOMHTMLClasses.h: Ditto.
78         * Interfaces/DOMCore.idl: Ditto.
79
80 2007-07-21  Ada Chan  <adachan@apple.com>
81
82         Reviewed by Adam.
83         
84         Fix bug 14706: http://bugs.webkit.org/show_bug.cgi?id=14706
85         Need to set the last visited time before calling WebHistory::addItem().
86
87         * WebHistory.cpp:
88         (WebHistory::addItemForURL):
89
90 2007-07-20  Justin Garcia  <justin.garcia@apple.com>
91
92         Reviewed by Darin.
93         
94         <rdar://problem/5109817> Ctrl-click on word in non-editable text doesn't select it
95
96         * WebEditorClient.cpp: Removed the now unused selectWordBeforeMenuEvent().
97         * WebEditorClient.h:
98
99 2007-07-20  Ada Chan  <adachan@apple.com>
100
101         Reviewed by Steve.
102         
103         <rdar://problem/5350832> History item's visitedCount wasn't updated correctly
104
105         The call to setLastVisitedTimeInterval() in WebHistory::addItemForURL() does not
106         really increment the visitedCount of the HistoryItem - because we only increment the count
107         if the last visited time is different.  We should initialize the HistoryItem with
108         lastVisited time = 0 so when we call setLastVisitedTimeInterval() later, it'll update
109         the last visited time AND the visitedCount.
110         
111         * WebHistory.cpp:
112         (WebHistory::addItemForURL):
113
114 2007-07-20  Oliver Hunt  <oliver@apple.com>
115
116         Reviewed by Maciej.
117
118         <rdar://problem/5349668> WebKit/Win needs to send same key events during IME composition as it does on mac
119
120         Removed guards against sending key events during composition, and added a flag
121         to indicate a key event is IME related.  This is needed to prevent the first 
122         keydown from firing a keypress event, and makes WebEditorClient::handleInputMethodKeypress
123         somewhat cleaner.
124
125         * WebEditorClient.cpp:
126         (WebEditorClient::handleInputMethodKeypress):
127         * WebView.cpp:
128         (WebView::keyUp):
129         (WebView::keyDown):
130         * WebView.h:
131         (WebView::inIMEKeyDown):
132
133 2007-07-19  Maciej Stachowiak  <mjs@apple.com>
134
135         Reviewed by Adam.
136         
137         - WebKit part of fix for <rdar://problem/5262230> Crash while loading a popup in addictinggames.com
138         
139         Made closeWindowSoon fire on a timer instead of happening synchronously.
140
141         * WebChromeClient.cpp:
142         (WebChromeClient::closeWindowSoon): Actually close the window on a timer, not immediately.
143         * WebKit.vcproj/WebKit.vcproj:
144         * WebView.cpp:
145         (WebView::WebView):
146         (WebView::closeWindowSoon):
147         (WebView::closeWindowTimerFired):
148         * WebView.h:
149
150 2007-07-18  Timothy Hatcher  <timothy@apple.com>
151
152         Reviewed by Adam.
153
154         Make the Page with the now required InspectorClient.
155
156         * WebView.cpp:
157         (WebView::initWithFrame):
158
159 2007-07-18  Sam Weinig  <sam@webkit.org>
160
161         Build fix.
162
163         * WebFrame.cpp:
164         (WebFrame::dispatchDecidePolicyForMIMEType):
165         (WebFrame::objectContentType):
166         * WebView.cpp:
167         (WebView::canShowMIMEType):
168
169 2007-07-17  Brady Eidson <beidson@apple.com>
170
171         Blind Windows build fix from r24395
172
173         * WebView.cpp:
174         (WebView::initWithFrame): BSTR, not BString
175
176 2007-07-17  Brady Eidson  <beidson@apple.com>
177
178         Reviewed by Steve
179         
180         <rdar://problem/4516185> - FTP Directory Listings
181
182         * Interfaces/IWebUIDelegate.idl: Add IWebUIDelegate2 method for getting the path to the template
183         
184         * WebView.cpp:
185           (WebView::initWithFrame): Set the preference for the template path in WebCore when the first
186           WebView is initialized
187
188 2007-07-17  Ada Chan  <adachan@apple.com>
189
190         Rubbet-stamped by Adam.
191         
192         Fixed build.
193
194         * Interfaces/IWebFramePrivate.idl:
195         * WebContextMenuClient.cpp:
196         (fixMenuReceivedFromOldSafari):
197         * WebFrame.cpp:
198         (WebFrame::loadURLIntoChild):
199         (WebFrame::download):
200         * WebFrame.h:
201
202 2007-07-17  Adam Roben  <aroben@apple.com>
203
204         Fix Bug 14324: Cannot remove/customize the "Inspect Element" contextual menu item
205         http://bugs.webkit.org/show_bug.cgi?id=14324
206
207         If we detect that we're running against the Safari 3 Beta, we add back
208         the Inspect Element menu item after passing it off to the delegate
209         because Safari's UI delegate will remove it.
210
211         Reviewed by Tim.
212
213         * WebContextMenuClient.cpp:
214         (isPreInspectElementTagSafari): Added.
215         (fixMenuReceivedFromOldSafari): Added.
216         (WebContextMenuClient::getCustomMenuFromDefaultItems): Call
217         fixMenuReceivedFromOldSafari before returning the new menu.
218
219 2007-07-17  Adam Roben  <aroben@apple.com>
220
221         Remove WebContextMenuClient::shouldIncludeInspectElementItem
222
223         Reviewed by Tim.
224
225         * WebContextMenuClient.cpp:
226         * WebContextMenuClient.h:
227
228 2007-07-17  Adam Roben  <aroben@apple.com>
229
230         Initialize Settings::developerExtrasEnabled
231
232         Reviewed by Tim.
233
234         * WebView.cpp:
235         (WebView::updateWebCoreSettingsFromPreferences):
236
237 2007-07-17  Geoffrey Garen  <ggaren@apple.com>
238
239         Build fix. 
240
241         * WebContextMenuClient.cpp:
242         (WebContextMenuClient::searchWithGoogle): Pass false for lockHistory 
243         like we do elsewhere.
244
245 2007-07-17  Oliver Hunt  <oliver@apple.com>
246
247         Reviewed by Adam.
248
249         Fix for <rdar://problem/5339416> Candidate window does not
250                 appear in the correct location for japanese IME
251
252         * WebView.cpp:
253         (WebView::prepareCandidateWindow):
254           We now use an exclusion zone so that the composition window never 
255           overlaps the composition string
256         (WebView::onIMERequestCharPosition):
257           Correctly handle character offsets marked regions
258
259 2007-07-16  Oliver Hunt  <oliver@apple.com>
260
261         Reviewed by Maciej.
262
263         Fix for <rdar://problem/5334818> Support IME reconversion in windows
264
265         Also includes a small amount of IME refactoring.
266
267         * WebView.cpp:
268         (WebView::onIMERequestCharPosition):
269         (WebView::onIMERequestReconvertString):
270         (WebView::onIMERequest):
271         * WebView.h:
272
273 2007-07-16  Brady Eidson  <beidson@apple.com>
274
275         Reviewed by Adam
276
277         Begin the arduous task of localizing FTP directory listings while removing a global initializer!
278
279         * English.lproj/Localizable.strings:
280         * WebCoreLocalizedStrings.cpp:
281         (WebCore::unknownFileSizeText):
282
283 2007-07-16  Oliver Hunt  <oliver@apple.com>
284
285         Reviewed by Maciej.
286
287         Fix for <rdar://problem/5334826> Chinese IME composition window does not appear in the correct location
288
289         Respect IME requests for character position.
290
291         * WebView.cpp:
292         (WebView::onIMERequestCharPosition):
293         (WebView::onIMERequest):
294         * WebView.h:
295
296 2007-07-16  Adam Roben  <aroben@apple.com>
297
298         WebKit/win part of <rdar://problem/5336005> Calling window.print() on a subframe prints whole page, should only print that subframe
299
300         Reviewed by Darin.
301
302         * Interfaces/IWebUIDelegate.idl: Rename print to printFrame to closer
303         match the Mac method, and copy more of the Mac API comments.
304         * WebChromeClient.cpp:
305         (WebChromeClient::print): Call printFrame instead of print.
306
307 2007-07-16  Adam Roben  <aroben@apple.com>
308
309         Updated WebChromeClient for ChromeClient changes.
310
311         Reviewed by Darin.
312
313         * WebChromeClient.cpp:
314         (WebChromeClient::print): Added a Frame* parameter.
315         * WebChromeClient.h: Ditto.
316
317 2007-07-16  Oliver Hunt  <oliver@apple.com>
318
319         Reviewed by Steve.
320
321         Fix for http://bugs.webkit.org/show_bug.cgi?id=14630
322
323         Remove bogus assertion
324
325         * WebView.cpp:
326         (WebView::getIMMContext):
327
328 2007-07-14  Brady Eidson  <beidson@apple.com>
329
330         Reviewed by Sam
331         
332         Set the pref to override the policy delegate for FTP directory listings on Windows
333
334         * WebView.cpp:
335         (WebView::updateWebCoreSettingsFromPreferences):
336
337 2007-07-13  Oliver Hunt  <oliver@apple.com>
338
339         Reviewed by Darin and Alexey.
340
341         Fix for <rdar://problem/5231528> Inline input of International text (IME)
342                 http://bugs.webkit.org/show_bug.cgi?id=14331
343
344         This patch adds IME support to WebKit/win, it currently does not support
345         reconversion (<rdar://problem/5334818>) and has issues with the chinese
346         IMEs (<rdar://problem/5334826>)
347
348         * WebEditorClient.cpp:
349         (WebEditorClient::respondToChangedSelection):
350         (WebEditorClient::handleInputMethodKeypress):
351           Prevent the initial keydown for an IME from triggering a keypressed event
352         * WebView.cpp:
353         (WebView::WebView):
354         (WebView::keyUp):
355         (WebView::keyDown):
356         (WebViewWndProc):
357         (IMMDict::dict):
358         (IMMDict::IMMDict):
359            Dynamic loader for IME libraries
360
361         (WebView::getIMMContext):
362         (WebView::releaseIMMContext):
363         (WebView::prepareCandidateWindow):
364         (selectionInsideMarkedText):
365         (setSelectionToEndOfRange):
366         (WebView::resetIME):
367         (WebView::updateSelectionForIME):
368         (WebView::selectionChanged):
369         (getCompositionString):
370         (compositionToUnderlines):
371            Helper functions
372
373         (WebView::onIMEStartComposition):
374         (WebView::onIMEComposition):
375         (WebView::onIMEEndComposition):
376         (WebView::onIMEChar):
377         (WebView::onIMENotify):
378         (WebView::onIMERequest):
379         (WebView::onIMESelect):
380         (WebView::onIMESetContext):
381            IME event handling, so far most of these are not implemented, but the bulk of functionality 
382            is performed the the composition event handlers
383         * WebView.h:
384
385 2007-07-12  Alice Liu  <alice.liu@apple.com>
386
387         Reviewed by Maciej and Steve.
388
389         fixed <rdar://4982432> window.print() needs to be implemented
390
391         * Interfaces/IWebUIDelegate.idl:
392         * WebChromeClient.cpp:
393         (WebChromeClient::print):
394         * WebChromeClient.h:
395
396 2007-07-11  Steve Falkenburg  <sfalken@apple.com>
397
398         Static analysis build fix.
399         
400         Only specify /analyze (PREfast) if it is available.
401         Prevents entire project from rebuilding each time.        
402
403         Reviewed by Hyatt.
404
405         * WebKit.vcproj/WebKit.vcproj:
406
407 2007-07-10  Ada Chan  <adachan@apple.com>
408         
409         Fixed build.
410
411         * WebView.cpp:
412
413 2007-07-09  Alice Liu  <alice.liu@apple.com>
414
415         Reviewed by Adam Roben.
416         
417         Adding DOM Paste Allowed preference, setters and getters
418         for the purpose of layout tests.
419
420         * Interfaces/IWebPreferences.idl:
421         * WebPreferenceKeysPrivate.h:
422         * WebPreferences.cpp:
423         (WebPreferences::isDOMPasteAllowed):
424         (WebPreferences::setDOMPasteAllowed):
425         * WebPreferences.h:
426         * WebView.cpp:
427         (WebView::updateWebCoreSettingsFromPreferences):
428
429 2007-07-09  Anders Carlsson  <andersca@apple.com>
430
431         Build fix.
432
433         * WebView.cpp:
434         (WebView::stringByEvaluatingJavaScriptFromString):
435
436 2007-07-05  Adam Roben  <aroben@apple.com>
437
438         Fix a leak in WebView::setToolTip
439
440         Reviewed by Beth.
441
442         * WebView.cpp:
443         (WebView::setToolTip):
444
445 2007-07-05  Adam Roben  <aroben@apple.com>
446
447         Fix Bug 14143: Tooltips not displayed on Windows
448         http://bugs.webkit.org/show_bug.cgi?id=14143
449         <rdar://problem/4719799>
450
451         Reviewed by Oliver.
452
453         * WebChromeClient.cpp:
454         (WebChromeClient::setToolTip): Call up to WebView.
455         * WebView.cpp:
456         (WebView::WebView): Initialize m_toolTipHwnd member.
457         (WebView::initWithFrame): Set up the tool tip window.
458         (initCommonControls): Added.
459         (WebView::initializeToolTipWindow): Added.
460         (WebView::setToolTip): Set the tool tip text and enable/disable the
461         tool tip.
462         * WebView.h: Added/updated declarations.
463
464 2007-07-04  Adam Roben  <aroben@apple.com>
465
466         Added a stub for WebChromeClient::setToolTip
467
468         Reviewed by Sam.
469
470         * WebChromeClient.cpp:
471         * WebChromeClient.h:
472
473 2007-07-04  Adam Roben  <aroben@apple.com>
474
475         Initialize Settings::showsURLsInToolTips
476
477         Reviewed by Sam.
478
479         * WebView.cpp:
480         (WebView::updateWebCoreSettingsFromPreferences):
481
482 2007-07-04  Adam Roben  <aroben@apple.com>
483
484         Removed call to mouseDidMoveOverElement now that WebCore handles it
485
486         Reviewed by Sam.
487
488         * WebView.cpp:
489         (WebView::handleMouseEvent):
490
491 2007-07-04  Adam Roben  <aroben@apple.com>
492
493         Add WebChromeClient::mouseDidMoveOverElement
494
495         This is not called yet.
496
497         Reviewed by Sam.
498
499         * WebChromeClient.cpp:
500         (WebChromeClient::mouseDidMoveOverElement):
501         * WebChromeClient.h:
502
503 2007-07-03  Adam Roben  <aroben@apple.com>
504
505         Merge the Windows and Mac localized strings and exceptions files
506
507         Reviewed by Darin and Anders.
508
509         * English.lproj/Localizable.strings: Added Mac strings.
510         * English.lproj/StringsNotToBeLocalized.txt: Removed.
511
512 2007-06-27  Steve Falkenburg  <sfalken@apple.com>
513
514         Turn on static code analysis.
515
516         Reviewed by Oliver.
517         
518         Affects only folks that have Visual Studio Team Suite installed,
519         or who have replaced their compiler with the version shipping in the
520         Vista SDK.
521
522         * CodeAnalysisConfig.h: Added.
523         * WebKit.vcproj/WebKit.vcproj:
524         * WebLocalizableStrings.cpp:
525         (createWebKitBundle):
526
527 2007-06-27  Steve Falkenburg  <sfalken@apple.com>
528
529         Prefast: Remove variable redefinitions in inner scopes.
530         
531         Reviewed by Ada.
532
533         * WebDownload.cpp:
534         (WebDownload::didFinish):
535         * WebNotificationCenter.cpp:
536         (WebNotificationCenter::postNotificationInternal):
537         (WebNotificationCenter::removeObserver):
538
539 2007-06-27  Steve Falkenburg  <sfaken@apple.com>
540
541         Remove SEH block from around history plist read, since the underlying bug has been fixed.
542         
543         Reviewed by Darin.
544
545         * WebHistory.cpp:
546         (createHistoryListFromStream):
547
548 2007-06-27  Steve Falkenburg  <sfalken@apple.com>
549
550         Prefast: Fix misplaced parenthesis.
551         
552         Reviewed by Darin.
553
554         * WebView.cpp:
555         (core):
556
557 2007-06-27  Steve Falkenburg  <sfalken@apple.com>
558
559         Prefast: Add null check prior to writing into allocated BSTR.
560         
561         Reviewed by Darin.
562
563         * MarshallingHelpers.cpp:
564         (MarshallingHelpers::CFStringRefToBSTR):
565
566 2007-06-27  Steve Falkenburg  <sfalken@apple.com>
567
568         Prefast: Add error handling for SysAllocStringLen where the string length is determined by website content.
569
570         Reviewed by Sam, Darin.
571                 
572         Allocation failure will result in a null dereference in this case,
573         so it isn't exploitable.
574
575         * DefaultDownloadDelegate.cpp:
576         (DefaultDownloadDelegate::decideDestinationWithSuggestedFilename):
577
578 2007-06-20  Adam Roben  <aroben@apple.com>
579
580         Land the new Inspector.
581
582         Co-written with Tim Hatcher.
583
584         Reviewed by Anders, Adele, Hyatt, and Sam.
585
586         Implement the InspectorClient interface.
587
588         * WebInspectorClient.cpp: Added.
589         (WebInspectorClient::WebInspectorClient):
590         (WebInspectorClient::~WebInspectorClient):
591         (WebInspectorClient::inspectorDestroyed):
592         (WebInspectorClient::createPage):
593         (WebInspectorClient::showWindow):
594         (WebInspectorClient::closeWindow):
595         (WebInspectorClient::windowVisible):
596         (WebInspectorClient::attachWindow):
597         (WebInspectorClient::detachWindow):
598         (WebInspectorClient::highlight):
599         (WebInspectorClient::hideHighlight):
600         (WebInspectorClient::inspectedURLChanged):
601         (WebInspectorClient::updateWindowTitle):
602         (WebInspectorClient::onSize):
603         (WebInspectorClient::onClose):
604         (WebInspectorClient::onWebViewWindowPosChanging):
605         (WebInspectorWndProc):
606         (SubclassedWebViewWndProc):
607         (registerWindowClass):
608         * WebInspectorClient.h: Added.
609
610         Add an easier-to-see highlight.
611
612         * WebNodeHighlight.cpp: Added.
613         (WebNodeHighlight::WebNodeHighlight):
614         (WebNodeHighlight::~WebNodeHighlight):
615         (WebNodeHighlight::highlight):
616         (WebNodeHighlight::hide):
617         (WebNodeHighlight::visible):
618         (WebNodeHighlight::updateWindow):
619         (WebNodeHighlight::removeSubclass):
620         (registerOverlayClass):
621         (OverlayWndProc):
622         (SubclassedWndProc):
623         * WebNodeHighlight.h: Added.
624
625         WebView changes needed for the new Inspector.
626
627         * WebView.cpp: Removed old inspectElement method now that this is
628         handled by WebCore.
629         (WebView::WebView):
630         (WebView::close):
631         (WebView::performContextMenuAction): Removed handling of the Inspect
632         Element context menu item.
633         (WebView::initWithFrame): Give each Page an InspectorClient to enable
634         the Inspector.
635         (WebView::setProhibitsMainFrameScrolling): Added.
636         * WebView.h:
637
638         Updates needed for WebCore changes.
639
640         * Interfaces/IWebUIDelegate.idl:
641         * WebContextMenuClient.cpp:
642         (WebContextMenuClient::getCustomMenuFromDefaultItems):
643         * WebContextMenuClient.h:
644         * WebCoreLocalizedStrings.cpp:
645
646         Remove old Inspector code.
647
648         * WebFrame.cpp:
649         * WebFrame.h:
650         * WebInspector/WebInspector.cpp: Removed.
651         * WebInspector/WebInspector.h: Removed.
652         * WebInspector/webInspector/Images/button.png: Removed.
653         * WebInspector/webInspector/Images/buttonDivider.png: Removed.
654         * WebInspector/webInspector/Images/buttonPressed.png: Removed.
655         * WebInspector/webInspector/Images/close.png: Removed.
656         * WebInspector/webInspector/Images/closePressed.png: Removed.
657         * WebInspector/webInspector/Images/downTriangle.png: Removed.
658         * WebInspector/webInspector/Images/menu.png: Removed.
659         * WebInspector/webInspector/Images/menuPressed.png: Removed.
660         * WebInspector/webInspector/Images/popup.png: Removed.
661         * WebInspector/webInspector/Images/popupPressed.png: Removed.
662         * WebInspector/webInspector/Images/resize.png: Removed.
663         * WebInspector/webInspector/Images/rightTriangle.png: Removed.
664         * WebInspector/webInspector/Images/scrollThumbBottom.png: Removed.
665         * WebInspector/webInspector/Images/scrollThumbMiddle.png: Removed.
666         * WebInspector/webInspector/Images/scrollTrackMiddle.png: Removed.
667         * WebInspector/webInspector/Images/upTriangle.png: Removed.
668         * WebInspector/webInspector/inspector.css: Removed.
669         * WebInspector/webInspector/inspector.html: Removed.
670         * WebInspector/webInspector/inspector.js: Removed.
671         * WebInspector/webInspector/scrollarea.js: Removed.
672         * WebInspector/webInspector/scrollbar.js: Removed.
673         * WebInspector/webInspector/treeoutline.js: Removed.
674         * WebInspector/webInspector/utilities.js: Removed.
675
676         Build-fu:
677
678         * WebKit.vcproj/WebKit.vcproj:
679
680 2007-06-19  Dave Hyatt  <hyatt@apple.com>
681
682         Fix for <rdar://problem/5022197>, backspace and ctrl+left arrow should go back.  Shift+backspace
683         and ctrl+right arrow should go forward.  Add support for these keybindings to Windows.
684        
685         Reviewed by ada
686
687         * WebView.cpp:
688         (WebView::keyDown):
689
690 2007-06-18  Dave Hyatt  <hyatt@apple.com>
691
692         Let through more newline+modifier key combos in order to support Alt+Enter and Ctrl+Enter in the
693         SafariWin URL bar.
694        
695         Reviewed by mccullough
696
697         * WebView.cpp:
698
699 2007-06-18  Dave Hyatt  <hyatt@apple.com>
700
701         Add support for horizontal mouse wheeling to Windows.  Shift+wheel is supported for horizontal
702         wheeling just like on OS X.  In addition, the WM_MOUSEHWHEEL event is now processed correctly so that
703         input devices like tilt wheels will now work.
704        
705         Reviewed by aroben
706
707         * WebView.cpp:
708         (WebView::mouseWheel):
709         (WebViewWndProc):
710         * WebView.h:
711
712 2007-06-17  Dave Hyatt  <hyatt@apple.com>
713
714         Add support for Ctrl+Mouse Wheel to increase/decrease text zoom (Win32 only).
715        
716         Reviewed by aroben
717
718         * WebView.cpp:
719         (WebView::mouseWheel):
720
721 2007-06-09  Steve Falkenburg  <sfalken@apple.com>
722
723         Reviewed by Adam.
724         
725         Workaround: <rdar://problem/5213266> schwab.com menu is ridiculously big.
726         
727         * WebView.cpp:
728         (WebView::userAgentForKURL): Add schwab to spoof list to fix gigantic menus.
729
730 2007-06-08  Ada Chan  <adachan@apple.com>
731
732         Reviewed by Hyatt, Adam, and Steve.
733
734         Fixed WebView::selectedText to get the selected text out of the focused frame or main frame.
735
736         * WebView.cpp:
737         (WebView::selectedText):
738
739 2007-06-08  Adam Roben  <aroben@apple.com>
740
741         Get rid of the Safari part of the query string used for Google searches.
742
743         Reviewed by Steve and Ada.
744
745         * WebContextMenuClient.cpp:
746         (WebContextMenuClient::searchWithGoogle):
747
748 2007-06-08  Kevin McCullough  <kmccullough@apple.com>
749
750         Reviewed by Kevin Decker, and Sam.
751
752         - Added and updated licenses.
753
754         * CFDictionaryPropertyBag.cpp:
755         * CFDictionaryPropertyBag.h:
756         * DOMCSSClasses.cpp:
757         * DOMCSSClasses.h:
758         * DOMEventsClasses.cpp:
759         * DOMEventsClasses.h:
760         * DOMHTMLClasses.cpp:
761         * DOMHTMLClasses.h:
762         * MarshallingHelpers.cpp:
763         * MarshallingHelpers.h:
764         * MemoryStream.cpp:
765         * MemoryStream.h:
766         * WebBackForwardList.cpp:
767         * WebBackForwardList.h:
768         * WebCache.cpp:
769         * WebCache.h:
770         * WebChromeClient.cpp:
771         * WebChromeClient.h:
772         * WebContextMenuClient.h:
773         * WebDataSource.h:
774         * WebEditorClient.cpp:
775         * WebEditorClient.h:
776         * WebElementPropertyBag.cpp:
777         * WebElementPropertyBag.h:
778         * WebHTMLRepresentation.h:
779         * WebHistory.cpp:
780         * WebHistory.h:
781         * WebIconDatabase.cpp:
782         * WebIconDatabase.h:
783         * WebKit.vcproj/auto-version.sh:
784         * WebKitClassFactory.h:
785         * WebKitDLL.h:
786         * WebLocalizableStrings.cpp:
787         * WebLocalizableStrings.h:
788         * WebMutableURLRequest.cpp:
789         * WebMutableURLRequest.h:
790         * WebNotification.cpp:
791         * WebNotification.h:
792         * WebNotificationCenter.cpp:
793         * WebNotificationCenter.h:
794         * WebPreferenceKeysPrivate.h:
795         * WebPreferences.cpp:
796         * WebPreferences.h:
797         * WebScriptObject.cpp:
798         * WebScriptObject.h:
799         * WebURLResponse.cpp:
800         * WebURLResponse.h:
801
802 2007-06-07  Sam Weinig  <sam@webkit.org>
803
804         Reviewed by Adam Roben.
805
806         Make the inspector compile again.
807
808         * WebInspector/WebInspector.cpp:
809         (setFocusedDOMNodeCallback):
810         (focusedDOMNodeCallback):
811         (setRootDOMNodeCallback):
812         (rootDOMNodeCallback):
813
814 2007-06-06  Steve Falkenburg  <sfalken@apple.com>
815
816         Reviewed by Adam.
817         
818         <rdar://problem/5255861> REGRESSION: Can't download Adobe Acrobat Reader and plug-in
819         <rdar://problem/5243655> Flash download page doesn't recognize Boomer
820         
821         Refine user agent spoofing code to only spoof Flash download as Firefox without spoofing all of adobe.com.
822         This fixes the Acrobat Reader download.
823
824         * WebView.cpp:
825         (WebView::userAgentForKURL):
826
827 2007-06-03  Steve Falkenburg  <sfalken@apple.com>
828
829         Reviewed by Adam.
830         
831         <rdar://problem/5246665> Drop down lists are not drawn on volvocars.us
832
833         * WebView.cpp:
834         (WebView::userAgentForKURL):
835
836 2007-06-01  Kevin McCullough  <kmccullough@apple.com>
837
838         Reviewed by Oliver.
839
840         - Uncommenting some functions that should not be commented out.  I needed them for the Drosera port.
841
842         * WebKit.vcproj/WebKit_debug.def:
843
844 2007-06-01  Steve Falkenburg  <sfalken@apple.com>
845
846         Reviewed by Kevin Decker.
847         
848         Remove unnecessary user agent spoofs, now that we have the final UA in place.
849         Added spoof to allow Flash downloads from adobe.com
850
851         * WebView.cpp:
852         (WebView::userAgentForKURL):
853
854 2007-05-30  Ada Chan  <adachan@apple.com>
855
856         Reviewed by Steve.
857
858         Implemented the mechanism to associate a WebPreferences instance with an identifier.
859
860         * WebIconDatabase.cpp:
861         (WebIconDatabase::init): fixed a missing Release on standardPrefs by using COMPtr.
862         * WebPreferences.cpp:
863         (WebPreferences::getInstanceForIdentifier): implemented
864         (WebPreferences::setInstance): implemented
865         (WebPreferences::removeReferenceForIdentifier): if the WebPreferences going to be
866         released has only one ref left, remove it from the s_webPreferencesInstances dictionary.
867         (WebPreferences::load): don't need to reread in the default preferences if we have done so.
868         (WebPreferences::initWithIdentifier): update the m_identifier data member with the
869         passed in identifier string, and store the identifier to WebPreferences instance mapping in
870         s_webPreferencesInstances dictionary.
871         (WebPreferences::identifier): implemented
872         * WebPreferences.h:
873         * WebView.cpp:
874         (WebView::~WebView): removed the call to removeObserver for the WebPreferencesChangedNotification
875         since it's already done in close().
876         (WebView::close): the call to removeObserver now takes in the WebPreferences instance for the object -
877         this way the WebView is only notified when that particular WebPreferences instance changes.
878         (WebView::initWithFrame): the call to addObserver now takes in the WebPreferences instance for the object -
879         this way the WebView is only notified when that particular WebPreferences instance changes.
880         (WebView::setPreferences): implemented
881         (WebView::onNotify): used COMPtr to fix a missing release
882
883 2007-05-29  Steve Falkenburg  <sfalken@apple.com>
884
885         Reviewed by Darin.
886         
887         Removed setPageCacheSize/pageCacheSize from IWebBackForwardList.
888
889         * Interfaces/IWebBackForwardList.idl: Removed unnecessary methods.
890         * WebBackForwardList.cpp: Removed unnecessary methods.
891         * WebBackForwardList.h: Removed unnecessary methods.
892
893 2007-05-29  Sam Weinig  <sam@webkit.org>
894
895         Reviewed by Adam Roben.
896
897         - Removes platform/win/NotImplemented.h because we have consolidated
898           the notImplemented() for all platforms in platform/NotImplemented.h
899         - Fixes remaining uses of old macro to use the new notImplemented() one.
900
901         * WebChromeClient.cpp:
902         (WebChromeClient::createModalDialog):
903         (WebChromeClient::canRunModal):
904         (WebChromeClient::runModal):
905         (WebChromeClient::setScrollbarsVisible):
906         (WebChromeClient::scrollbarsVisible):
907         (WebChromeClient::setMenubarVisible):
908         (WebChromeClient::menubarVisible):
909         * WebContextMenuClient.cpp:
910         (WebContextMenuClient::lookUpInDictionary):
911         (WebContextMenuClient::speak):
912         (WebContextMenuClient::stopSpeaking):
913         * WebDownload.cpp:
914         (WebDownload::canResumeDownloadDecodedWithEncodingMIMEType):
915         (WebDownload::cancelAuthenticationChallenge):
916         (WebDownload::continueWithoutCredentialForAuthenticationChallenge):
917         (WebDownload::useCredential):
918         (WebDownload::didReceiveAuthenticationChallenge):
919         * WebEditorClient.cpp:
920         (WebEditorClient::spellCheckerDocumentTag):
921         (WebEditorClient::shouldBeginEditing):
922         (WebEditorClient::shouldEndEditing):
923         (WebEditorClient::didBeginEditing):
924         (WebEditorClient::respondToChangedContents):
925         (WebEditorClient::respondToChangedSelection):
926         (WebEditorClient::didEndEditing):
927         (WebEditorClient::didWriteSelectionToPasteboard):
928         (WebEditorClient::didSetSelectionTypesForPasteboard):
929         (WebEditorClient::shouldDeleteRange):
930         (WebEditorClient::shouldInsertNode):
931         (WebEditorClient::shouldInsertText):
932         (WebEditorClient::shouldApplyStyle):
933         (WebEditorClient::shouldChangeTypingStyle):
934         (WebEditorClient::webViewDidChangeTypingStyle):
935         (WebEditorClient::webViewDidChangeSelection):
936         (WebEditorClient::shouldShowDeleteInterface):
937         (WebEditorClient::shouldChangeSelectedRange):
938         * WebFrame.cpp:
939         (WebFrame::makeRepresentation):
940         (WebFrame::forceLayout):
941         (WebFrame::forceLayoutForNonHTML):
942         (WebFrame::setCopiesOnScroll):
943         (WebFrame::detachedFromParent1):
944         (WebFrame::detachedFromParent2):
945         (WebFrame::detachedFromParent3):
946         (WebFrame::detachedFromParent4):
947         (WebFrame::loadedFromCachedPage):
948         (WebFrame::dispatchDidLoadMainResource):
949         (WebFrame::revertToProvisionalState):
950         (WebFrame::clearUnarchivingState):
951         (WebFrame::setMainFrameDocumentReady):
952         (WebFrame::willChangeTitle):
953         (WebFrame::didChangeTitle):
954         (WebFrame::finalSetupForReplace):
955         (WebFrame::setDefersLoading):
956         (WebFrame::isArchiveLoadPending):
957         (WebFrame::cancelPendingArchiveLoad):
958         (WebFrame::clearArchivedResources):
959         (WebFrame::canShowMIMEType):
960         (WebFrame::representationExistsForURLScheme):
961         (WebFrame::generatedMIMETypeForURLScheme):
962         (WebFrame::restoreViewState):
963         (WebFrame::provisionalLoadStarted):
964         (WebFrame::shouldTreatURLAsSameAsCurrent):
965         (WebFrame::addHistoryItemForFragmentScroll):
966         (WebFrame::didFinishLoad):
967         (WebFrame::prepareForDataSourceReplacement):
968         (WebFrame::setDocumentViewFromCachedPage):
969         (WebFrame::shouldGoToHistoryItem):
970         (WebFrame::saveViewStateToItem):
971         (WebFrame::saveDocumentViewToCachedPage):
972         (WebFrame::canCachePage):
973         (WebFrame::setMainDocumentError):
974         (WebFrame::cannotShowURLError):
975         (WebFrame::cannotShowMIMETypeError):
976         (WebFrame::fileDoesNotExistError):
977         (WebFrame::willUseArchive):
978         (WebFrame::dispatchDidLoadResourceFromMemoryCache):
979         (WebFrame::startDownload):
980         (WebFrame::overrideMediaType):
981         (WebFrame::addInspector):
982         (WebFrame::removeInspector):
983
984 2007-05-25  Oliver Hunt  <oliver@apple.com>
985
986         Reviewed by Hyatt.
987         
988         Fix rdar://problem/5212399 <object> with PNG src rendered as image document (causes Acid2 to fail)
989
990         * WebFrame.cpp:
991         (WebFrame::objectContentType):
992
993 2007-05-25  Geoffrey Garen  <ggaren@apple.com>
994
995         Build fix -- forgot to commit a little bit in my last patch.
996
997 2007-05-25  Geoffrey Garen  <ggaren@apple.com>
998
999         Reviewed by Darin Adler, Adam Roben.
1000
1001         Fixed <rdar://problem/5055182> The page cache has no global cap.
1002         
1003         The main WebKit changes are:
1004             1. Gutted IWebBackForwardList::setPageCacheSize and IWebBackForwardList:: 
1005             pageCacheSize because they're deprecated on Mac now. I didn't remove
1006             them, though, because doing so can cause COM badness.
1007             
1008             2. Added IWebPreferences::setUsesPageCache IWebPreferences:: 
1009             usesPageCache because that's the new Mac API. I added them to the end
1010             of IWebPreferences to avoid COM badness.
1011             
1012             3. Centralized calculation of object cache and page cache sizes inside
1013             WebPreferences. 
1014             
1015             Changed our old behavior of reading a preference and applying a fudge 
1016             factor with a new behavior of just using the preference directly. The 
1017             old behavior was confusing and often inappropriate. (For example, if 
1018             you set a page cache size of 100, a 256MB machine would somewhat 
1019             arbitrarily reduce that number to 98.)
1020             
1021 2007-05-24  Geoffrey Garen  <ggaren@apple.com>
1022
1023         Reviewed by Darin Adler.
1024
1025         Fixed a bug with Settings where a number of different objects held bare 
1026         Settings* data members, even though the Page owns the Settings object and 
1027         deletes it upon destruction.
1028         
1029         Added NULL checks since the Page can be deleted before the frame/document.
1030
1031 2007-05-23  Steve Falkenburg  <sfalken@apple.com>
1032
1033         Added IWebFramePrivate::isDescendantOfFrame.
1034
1035         * Interfaces/IWebFramePrivate.idl:
1036         * WebFrame.cpp:
1037         (WebFrame::isDescendantOfFrame):
1038         * WebFrame.h:
1039
1040 2007-05-23  Steve Falkenburg  <sfalken@apple.com>
1041
1042         Build fix.  Fix continuous rebuilding of Interfaces by turning off Generate Type Library for every IDL except WebKit.idl.
1043
1044         * WebKit.vcproj/Interfaces.vcproj:
1045
1046 2007-05-22  Alice Liu  <alice.liu@apple.com>
1047
1048         Reviewed by Oliver.
1049         
1050         Enabling smartInsertDelete to resolve 
1051         <rdar://problem/5082891> editing/deleting/smart-delete-003.html (and 004) fail
1052         
1053         * Interfaces/IWebView.idl:
1054         * WebEditorClient.cpp:
1055         (WebEditorClient::smartInsertDeleteEnabled):
1056         * WebView.cpp:
1057         (WebView::WebView):
1058         (WebView::initWithFrame):
1059         (WebView::toggleSmartInsertDelete):
1060         (WebView::setSmartInsertDeleteEnabled):
1061         (WebView::smartInsertDeleteEnabled):
1062         * WebView.h:
1063
1064 2007-05-22  Justin Garcia  <justin.garcia@apple.com>
1065
1066         Reviewed by oliver
1067         
1068         Build fix.
1069
1070         * WebView.cpp:
1071         (WebView::clearFocusNode):
1072
1073 2007-05-22  Steve Falkenburg  <sfalken@apple.com>
1074
1075         Reviewed by Ada.
1076         
1077         Added 3 view-related methods to IWebFramePrivate.
1078
1079         * Interfaces/IWebFramePrivate.idl: Added 3 new methods
1080         * WebFrame.cpp:
1081         (WebFrame::hasScrollBars): Added.
1082         (WebFrame::contentBounds): Added.
1083         (WebFrame::frameBounds): Added.
1084         * WebFrame.h:
1085
1086 2007-05-21  Steve Falkenburg  <sfalken@apple.com>
1087
1088         Reviewed by Adam, Ada.
1089         
1090         Added IWebFramePrivate::size().
1091
1092         * Interfaces/IWebFramePrivate.idl: Added size.
1093         * WebFrame.cpp:
1094         (WebFrame::size): Added.
1095         * WebFrame.h: Added size.
1096
1097 2007-05-21  Ada Chan  <adachan@apple.com>
1098
1099         Reviewed by Steve.
1100
1101         Added IWebViewPrivate::loadBackForwardListFromOtherView().  It replicates the backforward
1102         list from another webview and loads that in the current webview.
1103
1104         * Interfaces/IWebViewPrivate.idl:
1105         * WebView.cpp:
1106         (WebView::loadBackForwardListFromOtherView):
1107         * WebView.h:
1108
1109 2007-05-18  Steve Falkenburg  <sfalken@apple.com>
1110
1111         Build-related fix: stamp version resource properly.
1112
1113         * WebKit.vcproj/WebKit.rc: Fix version resource
1114
1115 2007-05-18  Adam Roben  <aroben@apple.com>
1116
1117         Build fix after r21555.
1118
1119         * WebView.cpp:
1120
1121 2007-05-17  Ada Chan  <adachan@apple.com>
1122
1123         Reviewed by Steve.
1124         
1125         Implemented IWebHTTPURLResponse::localizedStringForStatusCode().
1126
1127         * English.lproj/Localizable.strings: new http status strings
1128         * Interfaces/WebKit.idl: added code to create WebURLResponse instances
1129         * WebKitClassFactory.cpp:
1130         (WebKitClassFactory::CreateInstance): ditto
1131         * WebKitDLL.cpp: ditto
1132         * WebURLResponse.cpp:
1133         (CFHTTPMessageCopyLocalizedShortDescriptionForStatusCode): return the description
1134         text for the given status code
1135         (WebURLResponse::createInstance): create a general instance of web url response.
1136         (WebURLResponse::localizedStringForStatusCode):
1137         * WebURLResponse.h:
1138
1139 2007-05-17  Ada Chan  <adachan@apple.com>
1140
1141         Reviewed by Steve.
1142         
1143         Changed the context menu title "Search in Google" to "Search with Google".
1144
1145         * English.lproj/Localizable.strings:
1146         * WebCoreLocalizedStrings.cpp:
1147         (WebCore::contextMenuItemTagSearchWeb):
1148
1149 2007-05-17  Anders Carlsson  <andersca@apple.com>
1150
1151         Fix build.
1152         
1153         * WebFrame.cpp:
1154         (WebFrame::loadURLIntoChild):
1155
1156 2007-05-15  Steve Falkenburg  <sfalken@apple.com>
1157
1158         Reviewed by Darin, Oliver.
1159         
1160         <rdar://problem/4967360> Need to detect damaged installs, alert the user to reinstall, and exit
1161
1162         * WebLocalizableStrings.cpp:
1163         (WebLocalizedString): Make failure to load a localized string slightly less fatal
1164
1165 2007-05-15  Steve Falkenburg  <sfalken@apple.com>
1166
1167         Reviewed by Darin.
1168         
1169         <rdar://problem/4956541> Need to implement preference for how much History is maintained
1170
1171         * WebHistory.cpp:
1172         (WebHistory::ageLimitDate): Remove extra +30 from history age in days.
1173
1174 2007-05-14  Anders Carlsson  <andersca@apple.com>
1175
1176         Reviewed by Darin.
1177
1178         Pass an empty property bag when constructing the WebError, the code in Safari relies on having a user info bag.
1179         
1180         * WebFrame.cpp:
1181         (WebFrame::createJavaAppletWidget):
1182
1183 2007-05-14  Anders Carlsson  <andersca@apple.com>
1184
1185         Reviewed by Antti.
1186
1187         Report an error to the resource load delegate if the Java plugin can't be loaded.
1188         
1189         * WebFrame.cpp:
1190         (WebFrame::createJavaAppletWidget):
1191
1192 2007-05-11  Steve Falkenburg  <sfalken@apple.com>
1193
1194         Reviewed by Darin, Ada.
1195
1196         WebKit DCOM compatibility.
1197         When a WebKit hosting app calls RunAsLocalServer, the class object for CLSID_WebDebugProgram
1198         is registered to allow creation across processes.  This is for future compatibility with
1199         Drosera.
1200
1201         Added new exported function: RunAsLocalServer.
1202         This exposes WebKit inside the running exe as a LocalServer32 (COM server), which
1203         will allow Drosera to connect to it via DCOM.
1204
1205         We use the DCOM Universal Marshaller from oleaut32.dll, which performs marshalling
1206         based on type libraries, so as part of this change, I've done some work on making our
1207         interfaces compatible with this marshaller.
1208         
1209         Updated for compatibility w/ COM automation, and fixed up our type library.        
1210         Added type library registration/unregistration code.
1211         Marked methods not compatible w/ automation/marshalling as [local].
1212         
1213         As a side-effect, with these changes, the .NET tlbimp tool can create a .NET interop
1214         assembly to theoretically allow WebKit to be invoked from .NET apps.  I haven't
1215         tried this.  It could end up being useful to drive API testing.
1216         
1217         To test, I wrote a small app that calls:
1218         ::CoCreateInstance(CLSID_IWebDebugProgram, 0, CLSCTX_LOCAL_SERVER, IID_IUnknown, (void**)&viewUnknown);
1219         Using this instantiated class, I'm able to iterate the exisitng webviews and retrieve their
1220         source, title, URL, etc.
1221         
1222         * DOMCoreClasses.cpp:
1223         (DOMElement::isEqual):
1224         * DOMCoreClasses.h:
1225         * DefaultDownloadDelegate.cpp:
1226         (DefaultDownloadDelegate::decideDestinationWithSuggestedFilename):
1227         * DefaultDownloadDelegate.h:
1228         * Interfaces/DOMCSS.idl:
1229         * Interfaces/DOMCore.idl:
1230         * Interfaces/DOMEvents.idl:
1231         * Interfaces/DOMExtensions.idl:
1232         * Interfaces/DOMHTML.idl:
1233         * Interfaces/DOMPrivate.idl:
1234         * Interfaces/DOMRange.idl:
1235         * Interfaces/DOMWindow.idl:
1236         * Interfaces/IWebArchive.idl:
1237         * Interfaces/IWebAttributedString.idl: Removed.
1238         * Interfaces/IWebBackForwardList.idl:
1239         * Interfaces/IWebBackForwardListPrivate.idl:
1240         * Interfaces/IWebCache.idl:
1241         * Interfaces/IWebDataSource.idl:
1242         * Interfaces/IWebDebugProgram.idl: Added.
1243         * Interfaces/IWebDocument.idl:
1244         * Interfaces/IWebDownload.idl:
1245         * Interfaces/IWebEditingDelegate.idl:
1246         * Interfaces/IWebError.idl:
1247         * Interfaces/IWebFormDelegate.idl:
1248         * Interfaces/IWebFrame.idl:
1249         * Interfaces/IWebFrameLoadDelegate.idl:
1250         * Interfaces/IWebFrameLoadDelegatePrivate.idl:
1251         * Interfaces/IWebFramePrivate.idl:
1252         * Interfaces/IWebFrameView.idl:
1253         * Interfaces/IWebHTMLRepresentation.idl:
1254         * Interfaces/IWebHTTPURLResponse.idl:
1255         * Interfaces/IWebHistory.idl:
1256         * Interfaces/IWebHistoryItem.idl:
1257         * Interfaces/IWebHistoryItemPrivate.idl:
1258         * Interfaces/IWebIconDatabase.idl:
1259         * Interfaces/IWebJavaScriptCollector.idl:
1260         * Interfaces/IWebKitStatistics.idl:
1261         * Interfaces/IWebMutableURLRequest.idl:
1262         * Interfaces/IWebNotification.idl:
1263         * Interfaces/IWebNotificationCenter.idl:
1264         * Interfaces/IWebNotificationObserver.idl:
1265         * Interfaces/IWebPolicyDelegate.idl:
1266         * Interfaces/IWebPreferences.idl:
1267         * Interfaces/IWebResource.idl:
1268         * Interfaces/IWebResourceLoadDelegate.idl:
1269         * Interfaces/IWebResourceLoadDelegatePrivate.idl:
1270         * Interfaces/IWebScriptObject.idl:
1271         * Interfaces/IWebScrollBarDelegatePrivate.idl:
1272         * Interfaces/IWebScrollBarPrivate.idl:
1273         * Interfaces/IWebUIDelegate.idl:
1274         * Interfaces/IWebUIDelegatePrivate.idl:
1275         * Interfaces/IWebURLAuthenticationChallenge.idl:
1276         * Interfaces/IWebURLRequest.idl:
1277         * Interfaces/IWebURLResponse.idl:
1278         * Interfaces/IWebUndoManager.idl:
1279         * Interfaces/IWebUndoTarget.idl:
1280         * Interfaces/IWebView.idl:
1281         * Interfaces/IWebViewPrivate.idl:
1282         * Interfaces/WebKit.idl:
1283         * WebContextMenuClient.cpp:
1284         (WebContextMenuClient::getCustomMenuFromDefaultItems):
1285         * WebDataSource.cpp:
1286         (WebDataSource::subresources):
1287         * WebDataSource.h:
1288         * WebDebugProgram.cpp: Added.
1289         (EnumViews::EnumViews):
1290         (EnumViews::QueryInterface):
1291         (EnumViews::AddRef):
1292         (EnumViews::Release):
1293         (EnumViews::Next):
1294         (EnumViews::Skip):
1295         (EnumViews::Reset):
1296         (EnumViews::Clone):
1297         (WebDebugProgram::WebDebugProgram):
1298         (WebDebugProgram::~WebDebugProgram):
1299         (WebDebugProgram::createInstance):
1300         (WebDebugProgram::QueryInterface):
1301         (WebDebugProgram::AddRef):
1302         (WebDebugProgram::Release):
1303         (WebDebugProgram::viewAdded):
1304         (WebDebugProgram::viewRemoved):
1305         (WebDebugProgram::attach):
1306         (WebDebugProgram::detach):
1307         (WebDebugProgram::statistics):
1308         (WebDebugProgram::webViews):
1309         * WebDebugProgram.h: Added.
1310         * WebDropSource.cpp:
1311         (generateMouseEvent):
1312         * WebError.cpp:
1313         (WebError::localizedRecoveryOptions):
1314         * WebError.h:
1315         * WebFrame.cpp:
1316         (EnumChildFrames::EnumChildFrames):
1317         (EnumChildFrames::QueryInterface):
1318         (EnumChildFrames::AddRef):
1319         (EnumChildFrames::Release):
1320         (EnumChildFrames::Next):
1321         (EnumChildFrames::Skip):
1322         (EnumChildFrames::Reset):
1323         (EnumChildFrames::Clone):
1324         (WebFrame::childFrames):
1325         (WebFrame::initWithWebFrameView):
1326         * WebFrame.h:
1327         * WebHistoryItem.cpp:
1328         (WebHistoryItem::icon):
1329         * WebHistoryItem.h:
1330         * WebIconDatabase.cpp:
1331         (WebIconDatabase::iconForURL):
1332         (WebIconDatabase::defaultIconWithSize):
1333         * WebIconDatabase.h:
1334         * WebInspector/WebInspector.cpp:
1335         (WebInspector::WebInspector):
1336         (WebInspector::show):
1337         (WebInspector::onDestroy):
1338         (WebInspector::onSize):
1339         * WebInspector/WebInspector.h:
1340         (WebInspector::didReceiveIcon):
1341         (WebInspector::webViewFirstResponder):
1342         (WebInspector::makeFirstResponder):
1343         (WebInspector::contextMenuItemsForElement):
1344         (WebInspector::trackCustomPopupMenu):
1345         (WebInspector::addCustomMenuDrawingData):
1346         (WebInspector::cleanUpCustomMenuDrawingData):
1347         * WebKit.vcproj/Interfaces.vcproj:
1348         * WebKit.vcproj/WebKit.def:
1349         * WebKit.vcproj/WebKit.vcproj:
1350         * WebKit.vcproj/WebKitGUID.vcproj:
1351         * WebKit.vcproj/WebKit_debug.def:
1352         * WebKitClassFactory.cpp:
1353         (WebKitClassFactory::CreateInstance):
1354         * WebKitDLL.cpp:
1355         (DllGetClassObject):
1356         (DllUnregisterServer):
1357         (DllRegisterServer):
1358         (RunAsLocalServer):
1359         * WebKitStatistics.cpp:
1360         * WebScrollBar.cpp:
1361         (WebScrollBar::init):
1362         (WebScrollBar::handleMouseEvent):
1363         * WebScrollBar.h:
1364         * WebView.cpp:
1365         (WebView::WebView):
1366         (WebView::~WebView):
1367         (WebView::handleContextMenuEvent):
1368         (WebView::onInitMenuPopup):
1369         (WebView::onUninitMenuPopup):
1370         (WebViewWndProc):
1371         (WebView::QueryInterface):
1372         (WebView::MIMETypesShownAsHTML):
1373         (WebView::setHostWindow):
1374         (WebView::hostWindow):
1375         (WebView::generateSelectionImage):
1376         (WebView::pasteboardTypesForSelection):
1377         (WebView::pasteboardTypesForElement):
1378         (WebView::mainFrameIcon):
1379         (WebView::canMakeTextStandardSize):
1380         (WebView::viewWindow):
1381         * WebView.h:
1382
1383 2007-05-11  Adele Peterson  <adele@apple.com>
1384
1385         Build fix.
1386
1387         * WebView.cpp: (WebView::selectionImageRect):
1388
1389 2007-05-10  Geoffrey Garen  <ggaren@apple.com>
1390
1391         Reviewed by Darin Adler.
1392         
1393         "IconDatabase::sharedIconDatabase()" => "iconDatabase()" for terseness.
1394
1395 2007-05-10  Maciej Stachowiak  <mjs@apple.com>
1396
1397         Reviewed by Oliver.
1398
1399         - WebKitWin part of fix for:
1400         <rdar://problem/5063277> blank screen after login to Citibank Online (accessing document before frame starts loading cancels load)
1401         <rdar://problem/5159541> REGRESSION (r20972): Wall Street Journal pages replaced by advertisements (13465)
1402
1403         The basic approach is to have Frames start out containing an empty document instead of absolutely nothing,
1404         so there is no need to initialize them on demand. Various side effects of that cause both of these bugs.
1405         
1406         However, this caused many regressions so I had to fix the fallout.
1407
1408         * WebFrame.cpp:
1409         (WebFrame::createFrame): init frame
1410         * WebView.cpp:
1411         (WebView::initWithFrame): init frame
1412         (WebView::stringByEvaluatingJavaScriptFromString): don't create empty document
1413
1414 2007-05-08  Steve Falkenburg  <sfalken@apple.com>
1415
1416         Reviewed by Darin, Oliver.
1417         
1418         Added UI_STRING versions of localized WebCore strings.
1419
1420         * English.lproj/Localizable.strings: Updated.
1421         * English.lproj/StringsNotToBeLocalized.txt: Updated.
1422         * WebCoreLocalizedStrings.cpp: Added.
1423         (WebCore::searchableIndexIntroduction):
1424         (WebCore::submitButtonDefaultLabel):
1425         (WebCore::inputElementAltText):
1426         (WebCore::resetButtonDefaultLabel):
1427         (WebCore::fileButtonChooseFileLabel):
1428         (WebCore::fileButtonNoFileSelectedLabel):
1429         (WebCore::contextMenuItemTagOpenLinkInNewWindow):
1430         (WebCore::contextMenuItemTagDownloadLinkToDisk):
1431         (WebCore::contextMenuItemTagCopyLinkToClipboard):
1432         (WebCore::contextMenuItemTagOpenImageInNewWindow):
1433         (WebCore::contextMenuItemTagDownloadImageToDisk):
1434         (WebCore::contextMenuItemTagCopyImageToClipboard):
1435         (WebCore::contextMenuItemTagOpenFrameInNewWindow):
1436         (WebCore::contextMenuItemTagCopy):
1437         (WebCore::contextMenuItemTagGoBack):
1438         (WebCore::contextMenuItemTagGoForward):
1439         (WebCore::contextMenuItemTagStop):
1440         (WebCore::contextMenuItemTagReload):
1441         (WebCore::contextMenuItemTagCut):
1442         (WebCore::contextMenuItemTagPaste):
1443         (WebCore::contextMenuItemTagNoGuessesFound):
1444         (WebCore::contextMenuItemTagIgnoreSpelling):
1445         (WebCore::contextMenuItemTagLearnSpelling):
1446         (WebCore::contextMenuItemTagSearchWeb):
1447         (WebCore::contextMenuItemTagLookUpInDictionary):
1448         (WebCore::contextMenuItemTagOpenLink):
1449         (WebCore::contextMenuItemTagIgnoreGrammar):
1450         (WebCore::contextMenuItemTagSpellingMenu):
1451         (WebCore::contextMenuItemTagCheckSpelling):
1452         (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
1453         (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
1454         (WebCore::contextMenuItemTagFontMenu):
1455         (WebCore::contextMenuItemTagBold):
1456         (WebCore::contextMenuItemTagItalic):
1457         (WebCore::contextMenuItemTagUnderline):
1458         (WebCore::contextMenuItemTagOutline):
1459         (WebCore::contextMenuItemTagWritingDirectionMenu):
1460         (WebCore::contextMenuItemTagDefaultDirection):
1461         (WebCore::contextMenuItemTagLeftToRight):
1462         (WebCore::contextMenuItemTagRightToLeft):
1463         (WebCore::contextMenuItemTagShowSpellingPanel):
1464         (WebCore::searchMenuNoRecentSearchesText):
1465         (WebCore::searchMenuRecentSearchesText):
1466         (WebCore::searchMenuClearRecentSearchesText):
1467         (WebCore::AXWebAreaText):
1468         (WebCore::AXLinkText):
1469         (WebCore::AXListMarkerText):
1470         (WebCore::AXImageMapText):
1471         (WebCore::AXHeadingText):
1472         * WebKit.vcproj/WebKit.vcproj: Added WebCoreLocalizedStrings.cpp, reorganized other files a bit.
1473
1474 2007-05-08  Steve Falkenburg  <sfalken@apple.com>
1475
1476         Reviewed by Ada.
1477         
1478         Update editing delegate
1479
1480         * Interfaces/IWebEditingDelegate.idl:
1481         * WebEditorClient.cpp:
1482         (WebEditorClient::updateSpellingUIWithGrammarString):
1483         * WebEditorClient.h:
1484
1485 2007-05-07  Steve Falkenburg  <sfalken@apple.com>
1486
1487         Reviewed by Darin.
1488
1489         Fix typo in prefs code.       
1490
1491         * WebPreferences.cpp:
1492         (WebPreferences::preferencesPath): Fix typo in error handling.
1493
1494 2007-05-04  Steve Falkenburg  <sfalken@apple.com>
1495
1496         Reviewed by Darin.
1497         
1498         Fix crash when using "check spelling while typing".
1499
1500         * WebView.cpp:
1501         (WebView::preflightSpellChecker): Set delegate static global for use in spell checker init.
1502
1503 2007-05-03  Steve Falkenburg  <sfalken@apple.com>
1504
1505         Reviewed by Ada, Oliver.
1506         
1507         Checkpoint:
1508         <rdar://problem/4602372> Spelling
1509         <rdar://problem/4769763> Spell checking engine support        
1510
1511         * Interfaces/IWebEditingDelegate.idl: Add userDescription parameter.
1512         * WebEditorClient.cpp:
1513         (WebEditorClient::updateSpellingUIWithGrammarString): Set user description for spelling errors.
1514         * WebEditorClient.h:
1515         * WebView.cpp:
1516         (WebView::replaceSelectionWithText): Implemented.
1517
1518 2007-05-01  Steve Falkenburg  <sfalken@apple.com>
1519
1520         Reviewed by Oliver.
1521         
1522         Fix usage errors in COM enumeration.
1523
1524         * WebEditorClient.cpp:
1525         (WebEditorClient::checkGrammarOfString): Call Next correctly.
1526         (WebEditorClient::getGuessesForWord): Call Next correctly.
1527
1528 2007-04-30  Alice Liu  <alice.liu@apple.com>
1529
1530         Reviewed by Adam.
1531
1532         Fixed <rdar://5126201> crash closing tab when the two following tabs are empty.
1533         Basically this fix involved one thing, which lead to another thing.  First, the crash
1534         was fixed by moving the call to webView->close from SearchableWebView::onDestroy to
1535         WebViewWndProc when WM_DESTROY message is processed.  We now want only WebKit handling
1536         the closure of a WebView, so all calls to WebView::close have been removed, save for
1537         the one call in WebViewWndProc.
1538
1539         * Interfaces/IWebView.idl:
1540         removed close() from public interface
1541         * WebInspector/WebInspector.cpp:
1542         (WebInspector::onDestroy):
1543         removed call to close()
1544         * WebView.cpp:
1545         (WebView::~WebView):
1546         move the deleting of m_page down a bit to avoid a crash 
1547         (WebView::close):
1548         changed from public API to just a public function
1549         (WebViewWndProc):
1550         webView->close() was moved here from SearchableWebView::onDestroy
1551         * WebView.h:
1552         changed close() to a public function not exposed in the WebKit interface
1553
1554 2007-04-24  Steve Falkenburg  <sfalken@apple.com>
1555
1556         Reviewed by Darin, Oliver.
1557         
1558         Checkpoint:
1559         <rdar://problem/4602372> Spelling
1560         <rdar://problem/4769763> Spell checking engine support
1561
1562         * WebEditorClient.cpp:
1563         (WebEditorClient::isContinuousSpellCheckingEnabled):
1564         (WebEditorClient::toggleContinuousSpellChecking):
1565         (WebEditorClient::isGrammarCheckingEnabled):
1566         (WebEditorClient::toggleGrammarChecking):
1567         (initViewSpecificSpelling):
1568         (WebEditorClient::spellCheckerDocumentTag):
1569         (WebEditorClient::ignoreWordInSpellDocument):
1570         (WebEditorClient::learnWord):
1571         (WebEditorClient::checkSpellingOfString):
1572         (WebEditorClient::checkGrammarOfString):
1573         (WebEditorClient::udpateSpellingUIWithGrammarString):
1574         (WebEditorClient::updateSpellingUIWithMisspelledWord):
1575         (WebEditorClient::showSpellingUI):
1576         (WebEditorClient::spellingUIIsShowing):
1577         (WebEditorClient::getGuessesForWord):
1578         * WebPreferences.h:
1579
1580 2007-04-20  Ada Chan  <adachan@apple.com>
1581
1582         Reviewed by Steve and Oliver.
1583         
1584         Implemented some DOM methods I need to support password input and textarea in 
1585         WebView-based edit fields in the app.
1586
1587         * DOMCSSClasses.cpp:
1588         (DOMCSSStyleDeclaration::setCssText): added implementation
1589         * DOMCoreClasses.cpp:
1590         (DOMDocument::createElement): ditto
1591         * DOMHTMLClasses.cpp:
1592         (DOMHTMLInputElement::setType): ditto
1593         (DOMHTMLTextAreaElement::value): ditto
1594         (DOMHTMLTextAreaElement::setValue): ditto
1595         (DOMHTMLTextAreaElement::select): ditto
1596         * Interfaces/IWebUIDelegatePrivate.idl: added a new method webViewGetDlgCode() that client
1597         can implement if it wants to handle keypresses themselves rather than letting the system 
1598         interpret certain keys as dialog box navigation keys.
1599         * WebKitGraphics.cpp:
1600         (DrawTextAtPoint): handle drawing text as password
1601         * WebKitGraphics.h:
1602         * WebView.cpp:
1603         Added Copy, Cut, and Paste to the keyEntries.
1604         (WebViewWndProc): added code to handle WM_GETDLGCODE.  Calls IWebUIDelegatePrivate::webViewGetDlgCode()
1605         if available to see if the client wants to handle it.
1606
1607 2007-04-18  Adam Roben  <aroben@apple.com>
1608
1609         Reviewed by Steve.
1610
1611         Make development builds use the same CLSIDs as archive builds, and get
1612         rid of the now-unused set of CLSIDs.
1613
1614         * Interfaces/WebKit.idl: Use the archive build CLSIDs if we're not
1615         doing a production build.
1616         * WebKit.vcproj/Interfaces.vcproj: Don't define __ARCHIVE_BUILD__
1617         because it's not used anymore.
1618
1619 2007-04-18  Adam Roben  <aroben@apple.com>
1620
1621         Reviewed by Steve.
1622
1623         Use different ProgIDs for production builds.
1624
1625         * ProgIDMacros.h: Added.
1626         * WebKit.vcproj/WebKit.vcproj: Defined the __BUILDBOT__ macro and added
1627         a new header which is copied in the post-build step.
1628         * WebKitDLL.cpp: Macro-ized the declaration of the registry keys to
1629         install.
1630
1631 2007-04-16  Adam Roben  <aroben@apple.com>
1632
1633         Rubberstamped by Steve.
1634
1635         * WebKit.vcproj/WebKit.sln: Removed the Debug_Internal configuration.
1636
1637 2007-04-16  Adam Roben  <aroben@apple.com>
1638
1639         Reviewed by Steve.
1640
1641         Removed the pre-link build step, and removed registration of WebKit.dll
1642         from the post-build step.
1643
1644         * WebKit.vcproj/WebKit.vcproj:
1645
1646 2007-04-16  Adam Roben  <aroben@apple.com>
1647
1648         * WebKit.vcproj/WebKit.sln: Added WTF to the solution.
1649
1650 2007-04-16  Steve Falkenburg  <sfalken@apple.com>
1651
1652         Reviewed by Adam.
1653         
1654         Visual Studio Express compatibility for WebKit build (except for DRT)
1655
1656         * WebDragClient.cpp: Removed unused header (atlsafe.h)
1657         * WebKit.vcproj/WebKit.rc: Removed afxres.h and related code
1658         * WebKit.vcproj/WebKit.sln: Don't use a sln folder - they aren't supported by express
1659         * WebKit.vcproj/WebKit.vcproj: Add explicit lib references for Windows system libs (VS express doesn't include these)
1660         * WebView.cpp: Removed unused header (atldef.h)
1661
1662 2007-04-16  Adam Roben  <aroben@apple.com>
1663
1664         Merge in r20872.
1665
1666         * WebInspector/webInspector/inspector.js:
1667         * WebInspector/webInspector/treeoutline.js:
1668
1669 2007-04-16  Adam Roben  <aroben@apple.com>
1670
1671         Merge in r20861.
1672
1673         * WebInspector/webInspector/inspector.js:
1674         * WebInspector/webInspector/treeoutline.js:
1675
1676 2007-04-16  Adam Roben  <aroben@apple.com>
1677
1678         Merge in r20845.
1679
1680         * WebInspector/webInspector/inspector.js:
1681
1682 2007-04-16  Adam Roben  <aroben@apple.com>
1683
1684         Merge in r20844.
1685
1686         * WebInspector/webInspector/inspector.js:
1687
1688 2007-04-16  Adam Roben  <aroben@apple.com>
1689
1690         Merge in r20843.
1691
1692         * WebInspector/webInspector/inspector.js:
1693         * WebInspector/webInspector/scrollarea.js:
1694         * WebInspector/webInspector/scrollbar.js:
1695         * WebInspector/webInspector/utilities.js:
1696
1697 2007-04-16  Adam Roben  <aroben@apple.com>
1698
1699         Merge in r20842.
1700
1701         * WebInspector/webInspector/inspector.html:
1702         * WebInspector/webInspector/inspector.js:
1703         * WebInspector/webInspector/utilities.js: Added.
1704
1705 2007-04-16  Adam Roben  <aroben@apple.com>
1706
1707         Merge in r20840.
1708
1709         * WebInspector/webInspector/inspector.html:
1710         * WebInspector/webInspector/inspector.js:
1711         * WebInspector/webInspector/treeoutline.js: Added.
1712
1713 2007-04-14  Adam Roben  <aroben@apple.com>
1714
1715         * WebKit.vcproj/WebKitGUID.vcproj: Need to use WebKitConfigSuffix
1716         instead of ConfigSuffix now.
1717
1718 2007-04-14  Adam Roben  <aroben@apple.com>
1719
1720         * WebKit.vcproj/WebKit.submit.sln: Use the Debug_Internal configuration
1721         when B&I builds Debug.
1722
1723 2007-04-12  Steve Falkenburg  <sfalken@apple.com>
1724
1725         Reviewed by Geoff, Adam.
1726         
1727         Changes required for search history content.
1728
1729         * Interfaces/IWebFramePrivate.idl:
1730         * WebFrame.cpp:
1731         (WebFrame::isFrameSet): Added
1732         (WebFrame::string): Added
1733         * WebFrame.h:
1734
1735 2007-04-12  Adam Roben  <aroben@apple.com>
1736
1737         Rubberstamped by Steve.
1738
1739         Copied WebKit.sln to WebKit.submit.sln, and added missing projects to
1740         WebKit.sln so that opensource contributors can use it to build a
1741         working WebKit.
1742
1743         * WebKit.vcproj/WebKit.make: Changed to use WebKit.submit.sln.
1744         * WebKit.vcproj/WebKit.sln: Added JavaScriptCore, WebCore,
1745         DumpRenderTree projects.
1746         * WebKit.vcproj/WebKit.submit.sln: Added.
1747
1748 2007-04-12  Adam Roben  <aroben@apple.com>
1749
1750         Reviewed by Steve.
1751
1752         <rdar://problem/5131565> Need to be able to use debug WebKit with
1753         release Safari.
1754
1755         Added a new configuration to WebKit.vcproj called Debug_Internal to be
1756         used by Apple internal builds. The Debug configuration is now meant to
1757         be used by opensource builds, and will always link against release
1758         versions of CF, CFNet, CG, etc. Debug_Internal is identical to Debug
1759         except for the property sheet it uses, and the Debug configuration
1760         doesn't register WebKit_debug.dll when finished.
1761
1762         We now have two macros, $(WebKitConfigSuffix) and
1763         $(LibraryConfigSuffix). WebKitConfigSuffix is used for WebKit projects,
1764         and is "_debug" for both Debug and Debug_Internal. LibraryConfigSuffix
1765         is used for external projects, and is "" for Debug and "_debug" for
1766         Debug_Internal.
1767
1768         * WebKit.vcproj/WebKit.vcproj:
1769         * WebKit.vcproj/debug.vsprops:
1770         * WebKit.vcproj/debug_internal.vsprops: Added.
1771         * WebKit.vcproj/release.vsprops:
1772
1773 2007-04-12  John Sullivan  <sullivan@apple.com>
1774
1775         Reviewed by Anders
1776
1777         * Interfaces/IWebUIDelegate.idl:
1778         added new PDF-related context menu items to enum to keep it in sync with WebCore
1779
1780 2007-04-12  Mark Rowe  <mrowe@apple.com>
1781
1782         Not reviewed.  Internal counterpart to open-source r20856.
1783
1784         * WebChromeClient.cpp:
1785         (WebChromeClient::createWindow):
1786         (WebChromeClient::createModalDialog):
1787         * WebChromeClient.h:
1788
1789 2007-04-11  Ada Chan  <adachan@apple.com>
1790
1791         Reviewed by Steve.
1792         
1793         Implemented WebHistoryItem::originalURLString().  Added parameter checks to other methods.
1794
1795         * WebHistoryItem.cpp:
1796         (WebHistoryItem::originalURLString):
1797         (WebHistoryItem::URLString):
1798         (WebHistoryItem::title):
1799         (WebHistoryItem::lastVisitedTimeInterval):
1800
1801 2007-04-10  Brady Eidson  <beidson@apple.com>
1802
1803         Reviewed by Darin
1804
1805         <rdar://problem/4887095> - PageCache and PageState should be combined
1806
1807         Basically updated client methods for the new names and signatures 
1808
1809         * WebFrame.cpp:
1810         (WebFrame::loadedFromCachedPage):
1811         (WebFrame::setDocumentViewFromCachedPage):
1812         (WebFrame::saveDocumentViewToCachedPage):
1813         * WebFrame.h:
1814
1815 2007-04-10  Adam Roben  <aroben@apple.com>
1816
1817         Reviewed by Anders.
1818
1819         Fix <rdar://problem/5119803> Web Inspector has no options menu
1820
1821         * WebInspector/WebInspector.cpp:
1822         (interpreterForFrame): Added.
1823         (WebInspector::showOptionsMenu): Implemented.
1824         (WebInspector::onCommand): Added.
1825         (WebInspector::toggleIgnoreWhitespace): Implemented.
1826         (WebInspector::toggleShowUserAgentStyles): Implemented.
1827         (WebInspectorWndProc): Added case for WM_COMMAND.
1828         * WebInspector/WebInspector.h:
1829
1830 2007-04-09  Anders Carlsson  <andersca@apple.com>
1831
1832         Reviewed by Adam.
1833
1834         <rdar://problem/5062624>
1835         No prompt to install QT for pages with uninstalled QT plug-in.
1836         
1837         * CFDictionaryPropertyBag.cpp:
1838         (CFDictionaryPropertyBag::Read):
1839         (CFDictionaryPropertyBag::Write):
1840         Use LPCOLESTRToCFStringRef here since the property names aren't BSTRs.
1841         
1842         * Interfaces/IWebError.idl:
1843         Add user info keys.
1844         
1845         * MarshallingHelpers.cpp:
1846         (MarshallingHelpers::LPCOLESTRToCFStringRef):
1847         * MarshallingHelpers.h:
1848         New function.
1849         
1850         * WebError.cpp:
1851         (WebError::WebError):
1852         (WebError::createInstance):
1853         Take a property bag.
1854         
1855         (WebError::userInfo):
1856         Return the property bag.
1857         
1858         * WebFrame.cpp:
1859         (WebFrame::createPlugin):
1860         If the plug-in wasn't found or failed to load, create a WebError with the right user info and
1861         call IWebResourceLoadDelegate::plugInFailedWithError.
1862
1863 2007-04-09  Brady Eidson  <beidson@apple.com>
1864
1865         Build Fix
1866
1867         * WebContextMenuClient.cpp:
1868         (WebContextMenuClient::searchWithGoogle): userGesture is true
1869
1870 2007-04-09  Timothy Hatcher  <timothy@apple.com>
1871
1872         Merge in r20810.
1873
1874         <rdar://problem/5121757> WebInspector focuses elements on mouse up instead of mouse down
1875
1876         Make selecting a tree node happen on mousedown to match the NSOutlineView behavior.
1877         Also makes selecting rows in the style pane happen on mousedown for consistency.
1878
1879         * WebInspector/webInspector/inspector.js:
1880
1881 2007-04-09  Adam Roben  <aroben@apple.com>
1882
1883         Fixed copyrights.
1884
1885         * WebInspector/WebInspector.cpp:
1886         * WebInspector/WebInspector.h:
1887
1888 2007-04-09  Adam Roben  <aroben@apple.com>
1889
1890         Reviewed by Oliver.
1891
1892         Fix two Web Inspector bugs:
1893         - The WebView wasn't focused when the inspector first appeared.
1894         - Resizing the upper pane did not resize the whole window.
1895
1896         * WebInspector/WebInspector.cpp:
1897         (WebInspector::show): Focus the WebView.
1898         (WebInspector::setFrame): Implemented.
1899         (WebInspector::webViewFrame): Implemented.
1900         * WebInspector/WebInspector.h:
1901
1902 2007-04-09  Adam Roben  <aroben@apple.com>
1903
1904         * WebInspector/WebInspector.cpp:
1905         (WebInspector::WebInspector): Removed two fixed FIXMEs and some
1906         commented-out code.
1907
1908 2007-04-08  Adam Roben  <aroben@apple.com>
1909
1910         When does "merge" != "merge"? When you make the change yourself
1911         pre-emptively and make a typo.
1912
1913         * WebInspector/webInspector/inspector.js:
1914
1915 2007-04-08  Adam Roben  <aroben@apple.com>
1916
1917         Merge in r20800.
1918
1919         * WebInspector/webInspector/inspector.js:
1920
1921 2007-04-08  Adam Roben  <aroben@apple.com>
1922
1923         Merge in r20797.
1924
1925         * WebInspector/webInspector/inspector.js:
1926
1927 2007-04-08  Adam Roben  <aroben@apple.com>
1928
1929         Merge in r20796.
1930
1931         * WebInspector/webInspector/inspector.js:
1932
1933 2007-04-08  Adam Roben  <aroben@apple.com>
1934
1935         Reviewed by Anders.
1936
1937         <rdar://problem/5119804> Web Inspector isn't resizable
1938         <rdar://problem/5119805> Can't move Web Inspector
1939
1940         * WebInspector/WebInspector.cpp:
1941         (WebInspectorPrivate::WebInspectorPrivate):
1942         (WebInspector::WebInspector): Subclass the WebView so we can intercept
1943         its messages.
1944         (WebInspector::onDestroy): Undo the subclassing.
1945         (WebInspector::handleMessageSentToWebView): Added.
1946         (WebInspector::onLButtonDown): Added.
1947         (WebInspector::onLButtonUp): Added.
1948         (WebInspector::onMouseMove): Added.
1949         (WebInspectorWndProc): Added cases for mouse messages.
1950         (SubclassedWebViewWndProc): Added.
1951         * WebInspector/WebInspector.h:
1952
1953 2007-04-08  Adam Roben  <aroben@apple.com>
1954
1955         Merge in r20793.
1956
1957         * WebInspector/webInspector/AppleScrollArea.js: Removed.
1958         * WebInspector/webInspector/AppleScrollbar.js: Removed.
1959         * WebInspector/webInspector/Images/resize.png: Added.
1960         * WebInspector/webInspector/inspector.css:
1961         * WebInspector/webInspector/inspector.html:
1962         * WebInspector/webInspector/inspector.js:
1963         * WebInspector/webInspector/scrollarea.js: Added.
1964         * WebInspector/webInspector/scrollbar.js: Added.
1965
1966 2007-04-08  Adam Roben  <aroben@apple.com>
1967
1968         Merge in r20792.
1969
1970         * WebInspector/webInspector/inspector.js:
1971
1972 2007-04-08  Adam Roben  <aroben@apple.com>
1973
1974         Merge in r20791.
1975
1976         * WebInspector/webInspector/inspector.js:
1977
1978 2007-04-08  Adam Roben  <aroben@apple.com>
1979
1980         Merge in r20789.
1981
1982         * WebInspector/webInspector/inspector.js:
1983
1984 2007-04-08  Adam Roben  <aroben@apple.com>
1985
1986         Build fix.
1987
1988         * WebInspector/WebInspector.cpp:
1989
1990 2007-04-07  Adam Roben  <aroben@apple.com>
1991
1992         Reviewed by Oliver.
1993
1994         <rdar://problem/4769828> Web Inspector
1995
1996         * WebInspector/WebInspector.cpp: Renamed from WebInspector.m. Ported
1997         Mac code. Some parts are left commented out to aid later
1998         implementation.
1999         * WebInspector/WebInspector.h: Ditto.
2000
2001         * DOMCoreClasses.cpp: Added IID_DOMNode.
2002         (DOMNode::QueryInterface): Added case for IID_DOMNode.
2003         (DOMNode::isSameNode): Implemented.
2004         * DOMCoreClasses.h: Added IID_DOMNode.
2005         (DOMNode::node): Added.
2006         * English.lproj/Localizable.strings: Updated for "Inspect Element".
2007         * WebContextMenuClient.cpp:
2008         (WebContextMenuClient::getCustomMenuFromDefaultItems): Add the "Inspect
2009         Element" item.
2010         * WebFrame.cpp:
2011         (WebFrame::addInspector): Stubbed out.
2012         (WebFrame::removeInspector): Ditto.
2013         * WebFrame.h: Added declarations.
2014         * WebKit.resources/Info.plist: Added. This was needed so that the
2015         WebKit bundle would have a bundle identifier.
2016         * WebKit.vcproj/WebKit.vcproj: Added new files to project, and modified
2017         the post-build step to copy Info.plist and everything in
2018         WebInspector/webInspector to WebKit.resources.
2019         * WebView.cpp:
2020         (WebView::performContextMenuAction): Added case for the Inspect Element item.
2021         (WebView::inspectElement): Added.
2022         * WebView.h: Added declaration.
2023
2024 2007-04-07  Adam Roben  <aroben@apple.com>
2025
2026         Forked most of the WebInspector directory from
2027         r20780 of branches/WebInspectorRefresh/WebKit/WebInspector.
2028
2029         * WebInspector/WebInspector.h: Added.
2030         * WebInspector/WebInspector.m: Added.
2031         (+[WebInspector sharedWebInspector]):
2032         (-[WebInspector init]):
2033         (-[WebInspector initWithWebFrame:]):
2034         (-[WebInspector dealloc]):
2035         (-[WebInspector window]):
2036         (-[WebInspector windowWillClose:]):
2037         (-[WebInspector showWindow:]):
2038         (-[WebInspector setWebFrame:]):
2039         (-[WebInspector webFrame]):
2040         (-[WebInspector setRootDOMNode:]):
2041         (-[WebInspector rootDOMNode]):
2042         (-[WebInspector setFocusedDOMNode:]):
2043         (-[WebInspector focusedDOMNode]):
2044         (-[WebInspector setSearchQuery:]):
2045         (-[WebInspector searchQuery]):
2046         (-[WebInspector showOptionsMenu]):
2047         (-[WebInspector _toggleIgnoreWhitespace:]):
2048         (-[WebInspector _toggleShowUserAgentStyles:]):
2049         (-[WebInspector _highlightNode:]):
2050         (-[WebInspector _nodeHighlightExpired:]):
2051         (-[WebInspector _update]):
2052         (-[WebInspector _updateRoot]):
2053         (-[WebInspector _updateSystemColors]):
2054         (-[WebInspector _applicationWillResignActive]):
2055         (-[WebInspector _applicationDidBecomeActive]):
2056         (-[WebInspector _webFrameDetached:]):
2057         (+[WebInspector isSelectorExcludedFromWebScript:]):
2058         (+[WebInspector webScriptNameForSelector:]):
2059         (+[WebInspector isKeyExcludedFromWebScript:]):
2060         (-[WebInspector inspectedWebViewProgressFinished:]):
2061         (-[WebInspector webView:didFinishLoadForFrame:]):
2062         (-[WebInspector webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:]):
2063         (-[WebInspector webView:didParseSource:baseLineNumber:fromURL:sourceId:forWebFrame:]):
2064         (-[WebInspector webView:exceptionWasRaised:sourceId:line:forWebFrame:]):
2065         (-[WebInspectorPrivate dealloc]):
2066         (-[DOMNode _isAncestorOfNode:]):
2067         * WebInspector/webInspector/AppleScrollArea.js: Added.
2068         * WebInspector/webInspector/AppleScrollbar.js: Added.
2069         * WebInspector/webInspector/Images/button.png: Added.
2070         * WebInspector/webInspector/Images/buttonDivider.png: Added.
2071         * WebInspector/webInspector/Images/buttonPressed.png: Added.
2072         * WebInspector/webInspector/Images/close.png: Added.
2073         * WebInspector/webInspector/Images/closePressed.png: Added.
2074         * WebInspector/webInspector/Images/downTriangle.png: Added.
2075         * WebInspector/webInspector/Images/menu.png: Added.
2076         * WebInspector/webInspector/Images/menuPressed.png: Added.
2077         * WebInspector/webInspector/Images/popup.png: Added.
2078         * WebInspector/webInspector/Images/popupPressed.png: Added.
2079         * WebInspector/webInspector/Images/rightTriangle.png: Added.
2080         * WebInspector/webInspector/Images/scrollThumbBottom.png: Added.
2081         * WebInspector/webInspector/Images/scrollThumbMiddle.png: Added.
2082         * WebInspector/webInspector/Images/scrollThumbTop.png: Added.
2083         * WebInspector/webInspector/Images/scrollTrackBottom.png: Added.
2084         * WebInspector/webInspector/Images/scrollTrackMiddle.png: Added.
2085         * WebInspector/webInspector/Images/scrollTrackTop.png: Added.
2086         * WebInspector/webInspector/Images/upTriangle.png: Added.
2087         * WebInspector/webInspector/inspector.css: Added.
2088         * WebInspector/webInspector/inspector.html: Added.
2089         * WebInspector/webInspector/inspector.js: Added.
2090
2091 2007-04-06  Dave Hyatt  <hyatt@apple.com>
2092
2093         Internal side of fix for bug 13274.
2094
2095         Reviewed by olliej
2096
2097         * Interfaces/IWebScrollBarPrivate.idl:
2098         * WebScrollBar.cpp:
2099         * WebScrollBar.h:
2100         * WebView.cpp:
2101         (WebView::handleMouseEvent):
2102
2103 2007-04-04  Oliver Hunt  <oliver@apple.com>
2104
2105         Reviewed by Ada.
2106         
2107         Fix <rdar://problem/5111027> Dragging a link on page
2108         shows URL thumbnail as nearly-transparent instead 
2109         semi-transparent
2110
2111         Error in createDragImageForLink led me to get wrong 
2112         maximum drag image size, now logic and maximum drag 
2113         image size corrected.
2114
2115         * WebDragClient.cpp:
2116         (WebDragClient::createDragImageForLink):
2117
2118 2007-04-04  Adam Roben  <aroben@apple.com>
2119
2120         Release build fix for TestNetscapePlugin.
2121
2122         * WebKit.vcproj/WebKit.vcproj: Make the Release post-build step the
2123         same as the Debug one so that the npapi headers get copied.
2124
2125 2007-04-03  Adam Roben  <aroben@apple.com>
2126
2127         Reviewed by Anders.
2128
2129         WebKit part of fix for <rdar://problem/5103999> All dom/svg tests are
2130         failing due to extra/missing newlines
2131
2132         * DOMCoreClasses.cpp:
2133         (DOMElement::innerText): Added.
2134         * DOMCoreClasses.h: Added declaration.
2135         * Interfaces/DOMPrivate.idl: Ditto.
2136
2137 2007-04-02  Steve Falkenburg  <sfalken@apple.com>
2138
2139         Reviewed by Darin.
2140         
2141         Expose COM class counter
2142
2143         * Interfaces/IWebKitStatistics.idl: Added comClassCount
2144         * WebKitStatistics.cpp:
2145         (WebKitStatistics::comClassCount): Added
2146         * WebKitStatistics.h:
2147
2148 2007-03-31  Steve Falkenburg  <sfalken@apple.com>
2149
2150         Reviewed by Hyatt.
2151
2152         <rdar://problem/5091159> Boomer has no bundle identifier - is the bundle correctly formed?
2153         <rdar://problem/5088764> Move the "Icon.db" file under "Local Settings"
2154
2155         * WebIconDatabase.cpp:
2156         (userIconDatabasePath): Prefer to store Icon.db file keyed off of bundle executable name
2157         * WebPreferences.cpp:
2158         (WebPreferences::preferencesPath): Prefer to store WebKit Preferences keyed off of bundle executable name
2159
2160 2007-03-30  Adele Peterson  <adele@apple.com>
2161
2162         Reviewed by Beth.
2163
2164         Fix <rdar://problem/5079824> editing/deleting/delete-by-word-001 is failing
2165
2166         * WebView.cpp: Add DeleteWordForward and DeleteWordBackward to key command table.
2167
2168 2007-03-30  Anders Carlsson  <andersca@apple.com>
2169
2170         Reviewed by Adele.
2171
2172         <rdar://problem/5101970> 
2173         Crash when submitting form, running under App Verifier
2174         
2175         * WebActionPropertyBag.cpp:
2176         (findMouseEvent):
2177         Return the right event.
2178
2179 2007-03-30  Anders Carlsson  <andersca@apple.com>
2180
2181         Reviewed by Geoff.
2182
2183         * Interfaces/IWebViewPrivate.idl:
2184         Add addAdditionalPluginPath method.
2185         
2186         * WebKit.vcproj/WebKit.vcproj:
2187         Copy NP includes so they can be included by the test plugin.
2188         
2189         * WebView.cpp:
2190         (WebView::stringByEvaluatingJavaScriptFromString):
2191         Hold JSLock while we call JSValue::getString().
2192         
2193         (WebView::addAdditionalPluginPath):
2194         * WebView.h:
2195         Implement addAdditionalPluginPath.
2196
2197 2007-03-27  Dave Hyatt  <hyatt@apple.com>
2198
2199         Enable complex text.  Selection and small-caps support are now enabled with this patch.
2200         
2201         Reviewed by aroben
2202
2203         * WebPreferences.cpp:
2204         (WebPreferences::initialize):
2205
2206 2007-03-26  Brady Eidson  <beidson@apple.com>
2207
2208         Reviewed by Ada
2209
2210         This one didn't actually have any leaks, but I just felt like doing the
2211         same style cleanup as the others :)
2212         
2213         * WebPreferences.cpp:
2214         (WebPreferences::stringValueForKey):
2215         (WebPreferences::integerValueForKey):
2216         (WebPreferences::floatValueForKey):
2217         (WebPreferences::setStringValue):
2218         (WebPreferences::setIntegerValue):
2219         (WebPreferences::save):
2220         (WebPreferences::load):
2221
2222 2007-03-26  Brady Eidson  <beidson@apple.com>
2223
2224         Reviewed by Ada
2225
2226         <rdar://5090412> - Plug CFNumberRef leaks in WebCache
2227         
2228         * WebCache.cpp:
2229         (WebCache::statistics):
2230
2231 2007-03-26  Beth Dakin  <bdakin@apple.com>
2232
2233         Reviewed by Geoff.
2234
2235         Fix build without breaking anything.
2236
2237         * WebHistory.cpp:
2238         (releaseUserInfo): Added silly void statement for now.
2239
2240 2007-03-26  Beth Dakin  <bdakin@apple.com>
2241
2242         Rubber-stamped by Brady.
2243
2244         Build fix for release build.
2245
2246         * WebHistory.cpp:
2247         (releaseUserInfo): Do not store userInfo->Release() in a local 
2248         variable since it is only used for an ASSERT.
2249
2250 2007-03-26  Steve Falkenburg  <sfalken@apple.com>
2251
2252         Reviewed by Lou.
2253         
2254         <rdar://problem/5088764> Move the "Icon.db" file under "Local Settings"
2255
2256         * WebIconDatabase.cpp:
2257         (userIconDatabasePath): Move icon database to non-roaming location
2258
2259 2007-03-25  Brady Eidson  <beidson@apple.com>
2260
2261         Reviewed by Oliver
2262         
2263         <rdar://problem/5086888> - WebHistory(Item) Leak
2264         
2265         This is a pretty thourough touchup up style and correctness that
2266         plugs at least 1 definite leak and many potential leaks with
2267         extensive use of RetainPtr and COMPtr.
2268         
2269         This should result in no change in behavior
2270
2271         * MarshallingHelpers.cpp: Add kIUnknownDictionaryValueCallBacks
2272         * MarshallingHelpers.h: Ditto
2273         
2274         * WebHistory.cpp:
2275         (createUserInfoFromArray):
2276         (createUserInfoFromHistoryItem):
2277         (releaseUserInfo):
2278         (WebHistory::WebHistory):
2279         (WebHistory::~WebHistory):
2280         (WebHistory::loadFromURL):
2281         (createHistoryListFromStream): Split of the Structured Exception
2282           Handling to a seperate function to cooperate with C++
2283         (WebHistory::loadHistoryGutsFromURL):
2284         (WebHistory::saveToURL):
2285         (WebHistory::saveHistoryGuts):
2286         (WebHistory::datesArray):
2287         (WebHistory::addItems):
2288         (WebHistory::removeItems):
2289         (WebHistory::removeAllItems):
2290         (WebHistory::orderedLastVisitedDays):
2291         (WebHistory::orderedItemsLastVisitedOnDay):
2292         (WebHistory::removeItem):
2293         (WebHistory::addItem):
2294         (WebHistory::addItemForURL):
2295         (WebHistory::itemForURLString):
2296         (WebHistory::itemForURL):
2297         (WebHistory::containsItemForURLString):
2298         (WebHistory::removeItemForURLString):
2299         (WebHistory::addItemToDateCaches):
2300         (WebHistory::removeItemFromDateCaches):
2301         (WebHistory::findIndex):
2302         (WebHistory::insertItem):
2303         (WebHistory::ageLimitDate):
2304         * WebHistory.h:
2305         
2306         * WebHistoryItem.cpp:
2307         (WebHistoryItem::dictionaryRepresentation):
2308         (WebHistoryItem::mergeAutoCompleteHints):
2309
2310 2007-03-25  Adam Roben  <aroben@apple.com>
2311
2312         Reviewed by Oliver.
2313
2314         WebKit part of <rdar://problem/5086934> DumpRenderTree doesn't support
2315         layoutTestController.queueLoad
2316
2317         * WebFrame.cpp:
2318         (WebFrame::findFrameNamed): Implemented.
2319         * WebHistoryItem.cpp:
2320         (WebHistoryItem::children): Don't increment i twice per loop!
2321
2322 2007-03-25  Adam Roben  <aroben@apple.com>
2323
2324         Build fix.
2325
2326         * WebDownload.h: Include RetainPtr from WTF.
2327
2328 2007-03-24  Steve Falkenburg  <sfalken@apple.com>
2329
2330         Build fix.
2331
2332         * WebDownload.h: Remove WebCore namespace
2333
2334 2007-03-24  Adam Roben  <aroben@apple.com>
2335
2336         Reviewed by Oliver.
2337
2338         WebKit part of <rdar://problem/5086932> DumpRenderTree doesn't support
2339         layoutTestController.dumpBackForwardList
2340
2341         * Interfaces/IWebHistoryItemPrivate.idl: Added declarations.
2342         * WebFrame.cpp:
2343         (WebFrame::childFrames): Removed unused variable.
2344         * WebHistoryItem.cpp:
2345         (WebHistoryItem::target): Implemented.
2346         (WebHistoryItem::isTargetItem): Implemented.
2347         (WebHistoryItem::children): Implemented.
2348         * WebHistoryItem.h: Added declarations.
2349
2350 2007-03-23  Brady Eidson  <beidson@apple.com>
2351
2352         Reviewed by Adam
2353         
2354         <rdar://5086194> - WebHistory overreleases a CFNumber
2355         
2356         * WebHistory.cpp:
2357         (WebHistory::loadHistoryGutsFromURL): Don't CFRelease what we didn't 
2358           legitimately get a ref for!
2359
2360 2007-03-23  Adam Roben  <aroben@apple.com>
2361
2362         Reviewed by Darin.
2363
2364         WebKit part of <rdar://problem/5084881> Add a "turn of site-specific
2365         hacks" menu item to the Debug menu
2366
2367         Added new IWebPrivate::setAllowSiteSpecificHacks SPI.
2368
2369         * Interfaces/IWebViewPrivate.idl: Added declaration.
2370         * WebView.cpp:
2371         (WebView::userAgentForKURL): Only give a site-specific UA if
2372         site-specific hacks are turned on.
2373         (WebView::setAllowSiteSpecificHacks): Added.
2374         * WebView.h:
2375         (WebView::allowSiteSpecificHacks): Added.
2376
2377 2007-03-23  Beth Dakin  <bdakin@apple.com>
2378
2379         Reviewed by Hyatt.
2380
2381         Fix for <rdar://problem/5083914> Cursor is wrong for all context 
2382         menus
2383
2384         * WebView.cpp:
2385         (WebView::handleContextMenuEvent): Set the cursor to the pointer 
2386         cursor.
2387
2388 2007-03-23  Alice Liu  <alice.liu@apple.com>
2389
2390         Reviewed by Adam.
2391
2392         Fixed <rdar://5084888> need to add flickr to spoof list in Boomer WebKit
2393
2394         * WebView.cpp:
2395         (WebView::userAgentForKURL):
2396         added flickr spoof
2397
2398 2007-03-23  Adam Roben  <aroben@apple.com>
2399
2400         Reviewed by Oliver.
2401
2402         WebKit part of <rdar://problem/5085170> DumpRenderTree doesn't print
2403         frame scroll offsets
2404
2405         Implemented some WebFrame methods to support dumping frame scroll
2406         offsets in DRT.
2407
2408         * Interfaces/IWebFrame.idl: Changed signature of IWebFrame::childFrames.
2409         * Interfaces/IWebFramePrivate.idl: Added scrollOffset declaration.
2410         * WebFrame.cpp:
2411         (WebFrame::name): Implemented.
2412         (WebFrame::childFrames): Implemented.
2413         (WebFrame::scrollOffset): Implemented.
2414         * WebFrame.h: Updated/added declarations.
2415
2416 2007-03-23  Adam Roben  <aroben@apple.com>
2417
2418         Reviewed by Oliver.
2419
2420         WebKit part of fix for <rdar://problem/4990740>.
2421
2422         Added IWebDataSourcePrivate::mainDocumentError.
2423
2424         * Interfaces/IWebDataSource.idl: Added method declaration and updated
2425         copyrights.
2426         * WebDataSource.cpp:
2427         (WebDataSource::mainDocumentError): Implemented.
2428         * WebDataSource.h: Added declaration.
2429
2430 2007-03-23  Steve Falkenburg  <sfalken@apple.com>
2431
2432         Reviewed by Adam.
2433         
2434         <rdar://problem/5083645> Spoofed UA for gmail doesn't work - should be removed
2435
2436         * WebView.cpp:
2437         (WebView::userAgentForKURL): Remove gmail spoof
2438
2439 2007-03-22  Dave Hyatt  <hyatt@apple.com>
2440
2441         Fix for <rdar://problem/5083072>.
2442
2443         Reviewed by aroben
2444   
2445         * ChangeLog:
2446         * WebFrame.cpp:
2447         (WebFrame::setPrinting):
2448         (WebFrame::spoolPages):
2449         * WebFrame.h:
2450
2451 2007-03-22  Anders Carlsson  <acarlsson@apple.com>
2452
2453         Reviewed by Maciej.
2454
2455         <rdar://problem/5082270>
2456         Crash in windows media player at MTV.COM
2457         
2458         Ignore any WM_PAINT events we get while painting.
2459         
2460         * WebView.cpp:
2461         (WebView::WebView):
2462         (WebView::updateBackingStore):
2463         (WebView::paint):
2464         (WebViewWndProc):
2465         * WebView.h:
2466         (WebView::isPainting):
2467
2468 2007-03-22  Adele Peterson  <adele@apple.com>
2469
2470         Reviewed by Anders.
2471
2472         Fix for <rdar://problem/5071358> window.open won't work with empty urls (24fun test)
2473
2474         * Interfaces/IWebURLRequest.idl:
2475         * WebMutableURLRequest.cpp: (WebMutableURLRequest::isEmpty): Added. Checks whether the ResourceRequest is empty.  On the mac,
2476           NSURLRequests created from empty ResourceRequests are nil.  We may want to consider that in the future, but there were too
2477           many places in the app that expected the IWebURLRequest to be non-null.
2478         * WebMutableURLRequest.h:
2479
2480 2007-03-22  Dave Hyatt  <hyatt@apple.com>
2481
2482         Fix for crasher in layout caused by paints that happen without layout being current.  Change to be
2483         more like the Mac and crawl the frame tree up front ensuring everyone is up to date before painting.
2484
2485         Reviewed by olliej
2486
2487         * WebFrame.cpp:
2488         (WebFrame::WebFramePrivate::m_policyFunction):
2489         (WebFrame::layoutIfNeededRecursive):
2490         * WebFrame.h:
2491         * WebView.cpp:
2492         (WebView::updateBackingStore):
2493         (WebView::paint):
2494         (WebViewWndProc):
2495
2496 2007-03-22  Ada Chan  <adachan@apple.com>
2497
2498         Reviewed by Hyatt and Alice.
2499         
2500         Changed the mouse event processing in the WebView wndproc so we actually
2501         allow a mouse event with click count > 3, which matches the mac safari behavior.
2502         
2503         Set globalPrevButton and globalPrevPoint also in mouse down.
2504
2505         * WebView.cpp:
2506         (WebView::handleMouseEvent):
2507
2508 2007-03-21  Anders Carlsson  <acarlsson@apple.com>
2509
2510         Reviewed by Adam.
2511
2512         * WebView.cpp:
2513         (WebView::initWithFrame):
2514         Remove #ifdef now that DRT no longer crashes.
2515
2516 2007-03-21  Beth Dakin  <bdakin@apple.com>
2517
2518         Reviewed by Adam.
2519
2520         <rdar://problem/5074274> right-clicking in certain iframes ends up 
2521         left-clicking, and context menu appears far away
2522
2523         * WebView.cpp:
2524         (WebView::handleContextMenuEvent): We were always calling 
2525         sendContextMenuEvent() on the main frame!! Instead, call it on the 
2526         focused or main frame.
2527
2528 2007-03-21  Adele Peterson  <adele@apple.com>
2529
2530         Reviewed by Adam.
2531         
2532         Fix for <rdar://problem/5076213> fast/forms/input-text-enter.html fails
2533         
2534         Added updateActiveState SPI for DumpRenderTree.
2535
2536         * Interfaces/IWebViewPrivate.idl:
2537         * WebView.cpp:
2538         (WebViewWndProc): Added comments where we do similar work when the webview gets and loses focus.  We should merge this logic into updateActiveState eventually.
2539         (WebView::updateActiveState):
2540         * WebView.h:
2541
2542 2007-03-19  Maciej Stachowiak  <mjs@apple.com>
2543
2544         Reviewed by Geoff and Adam.
2545
2546         - <rdar://problem/4041141> JavaScriptCore is not thread-safe on Windows
2547
2548         * WebView.cpp:
2549         (WebView::WebView): Tell JavaScriptCore what the main thread is.
2550
2551 2007-03-20  Anders Carlsson  <acarlsson@apple.com>
2552
2553         Reviewed by Adam.
2554
2555         <rdar://problem/5050512>
2556         Need invalid/expired certificate alerts
2557         
2558         Add setAllowsAnyHTTPSCertificate method to IWebMutableURLRequest and have it 
2559         call down to WebCore.
2560         
2561         * Interfaces/IWebMutableURLRequest.idl:
2562         * WebMutableURLRequest.cpp:
2563         (WebMutableURLRequest::setAllowsAnyHTTPSCertificate):
2564         * WebMutableURLRequest.h:
2565
2566 2007-03-20  Adam Roben  <aroben@apple.com>
2567
2568         Rubberstamped by Anders.
2569
2570         Workaround a CFNetwork crash that affects DRT.
2571
2572         * WebView.cpp:
2573         (WebView::initWithFrame): Commented out cookie storage initialization.
2574
2575 2007-03-20  Adam Roben  <aroben@apple.com>
2576
2577         Build fix.
2578
2579         * WebView.cpp: Added missing #include.
2580
2581 2007-03-20  Adam Roben  <aroben@apple.com>
2582
2583         Reviewed by Oliver.
2584
2585         Implemented [set]TabKeyCyclesThroughElements.
2586
2587         * Interfaces/IWebViewPrivate.idl: Added new declarations.
2588         * WebView.cpp:
2589         (WebView::setTabKeyCyclesThroughElements): Implemented.
2590         (WebView::tabKeyCyclesThroughElements): Implemented.
2591         * WebView.h: Updated.
2592
2593 2007-03-20  Dave Hyatt  <hyatt@apple.com>
2594
2595         Land advanced text code path (turned off).
2596        
2597         Reviewed by aroben
2598
2599         * WebKit.vcproj/WebKit.vcproj:
2600
2601 2007-03-20  Anders Carlsson  <acarlsson@apple.com>
2602
2603         Reviewed by Adam.
2604
2605         <rdar://problem/4921198>
2606         Cookie acceptance policy not settable
2607         
2608         * WebView.cpp:
2609         (WebView::updateWebCoreSettingsFromPreferences):
2610         Update the cookie storage accept policy.
2611         
2612         (WebView::initWithFrame):
2613         Initialize the cookie storage.
2614
2615 2007-03-19  Adam Roben  <aroben@apple.com>
2616
2617         Build fix.
2618
2619         * WebKit.vcproj/WebKitGUID.vcproj:
2620
2621 2007-03-19  Adam Roben  <aroben@apple.com>
2622
2623         Reviewed by Anders and Darin.
2624
2625         Added WebJavaScriptCollector for <rdar://problems/5071653>.
2626
2627         * Interfaces/IWebJavaScriptCollector.idl: Added.
2628         * Interfaces/WebKit.idl:
2629         * WebJavaScriptCollector.cpp: Added.
2630         (WebJavaScriptCollector::WebJavaScriptCollector):
2631         (WebJavaScriptCollector::~WebJavaScriptCollector):
2632         (WebJavaScriptCollector::createInstance):
2633         (WebJavaScriptCollector::QueryInterface):
2634         (WebJavaScriptCollector::AddRef):
2635         (WebJavaScriptCollector::Release):
2636         (WebJavaScriptCollector::collect):
2637         (WebJavaScriptCollector::collectOnAlternateThread):
2638         (WebJavaScriptCollector::objectCount):
2639         * WebJavaScriptCollector.h: Added.
2640         * WebKit.vcproj/Interfaces.vcproj: Added IWebJavaScriptCollector.idl.
2641         * WebKit.vcproj/WebKit.vcproj: Added WebJavaScriptCollector.(cpp|h).
2642         * WebKit.vcproj/WebKitGUID.vcproj: Added IWebJavaScriptCollector_i.c.
2643         * WebKitClassFactory.cpp:
2644         (WebKitClassFactory::CreateInstance): Added cases for
2645         WebJavaScriptCollector.
2646         * WebKitDLL.cpp:
2647         (DllGetClassObject): Ditto.
2648
2649 2007-03-19  Adam Roben  <aroben@apple.com>
2650
2651         Build fix.
2652
2653         * Interfaces/IWebView.idl:
2654
2655 2007-03-18  Adam Roben  <aroben@apple.com>
2656
2657         Reviewed by Hyatt.
2658
2659         Implemented getting/setting of the editing delegate (we don't actually
2660         use it for anything yet, though. See <rdar://problem/5071598>).
2661
2662         * Interfaces/IWebEditingDelegate.idl: Renamed IWebViewEditingDelegate
2663         to IWebEditingDelegate to match our other delegates.
2664         * Interfaces/IWebView.idl: Updated for rename.
2665         * WebView.cpp:
2666         (WebView::setEditingDelegate): Implemented.
2667         (WebView::editingDelegate): Ditto.
2668         * WebView.h: Updated for rename.
2669
2670 2007-03-18  Adam Roben  <aroben@apple.com>
2671
2672         Reviewed by Geoff.
2673
2674         Added IWebFramePrivate::layout to support eventSender in DRT.
2675
2676         Made IWebView inherit from IDropTarget to match Mac, and added
2677         IWebUIDelegatePrivate::doDragDrop to support drag-and-drop in DRT.
2678
2679         * Interfaces/IWebFramePrivate.idl: Added layout().
2680         * Interfaces/IWebUIDelegatePrivate.idl: Added doDragDrop().
2681         * Interfaces/IWebView.idl: Added inheritance from IDropTarget.
2682         * WebDragClient.cpp:
2683         (WebDragClient::startDrag): Call the UI delegate if possible,
2684         otherwise fallback to OLE's DoDragDrop.
2685         * WebFrame.cpp:
2686         (WebFrame::layout): Implemented.
2687         * WebFrame.h:
2688         * WebView.h:
2689
2690 2007-03-17  Adam Roben  <aroben@apple.com>
2691
2692         Reviewed by Brady.
2693
2694         Fix repro ASSERT when logging in to facebook.com.
2695
2696         * WebMutableURLRequest.cpp:
2697         (WebMutableURLRequest::valueForHTTPHeaderField): Implemented.
2698
2699 2007-03-16  Brady Eidson  <beidson@apple.com>
2700
2701         Reviewed by Oliver
2702
2703         Make the WebDownload fix a little more correct.
2704         
2705         * WebDownload.cpp:
2706         (WebDownload::init): Release the connection from the ResourceHandle after the CFURLDownload has been created
2707
2708 2007-03-16  Geoffrey Garen  <ggaren@apple.com>
2709
2710         Reviewed by Dave Hyatt.
2711         
2712         Fixed "called Frame::paint with nil renderer" console messages.
2713         You can now launch and exit the app without seeing any
2714         error messages!
2715
2716         * WebView.cpp:
2717         (WebView::paintIntoBackingStore): Only tell the FrameView to
2718         paint if it has a renderer. This isn't an issue on the Mac
2719         because we don't create a FrameView until you load a page.
2720
2721 2007-03-16  Anders Carlsson  <acarlsson@apple.com>
2722
2723         Reviewed by Adam.
2724
2725         Add setters and getters for cookie storage accept policy.
2726         
2727         * Interfaces/IWebPreferences.idl:
2728         * WebPreferenceKeysPrivate.h:
2729         * WebPreferences.cpp:
2730         (WebPreferences::initialize):
2731         (WebPreferences::cookieStorageAcceptPolicy):
2732         (WebPreferences::setCookieStorageAcceptPolicy):
2733         * WebPreferences.h:
2734
2735 2007-03-16  Anders Carlsson  <acarlsson@apple.com>
2736
2737         Reviewed by Adam and Dave Hyatt.
2738
2739         <rdar://problem/5069226>
2740         Boomer fails Acid2.
2741         
2742         Fix acid2 test.
2743         
2744         * WebFrame.cpp:
2745         (WebFrame::shouldFallBack):
2746         Implement this function.
2747
2748 2007-03-16  Ada Chan  <adachan@apple.com>
2749
2750         Reviewed by Steve.
2751         
2752         Implemented a couple of DOM methods so we can set the font-size of an element directly in the app.
2753
2754         * DOMCSSClasses.cpp:
2755         (DOMCSSStyleDeclaration::setProperty):
2756         * DOMCoreClasses.cpp:
2757         (DOMElement::style):
2758
2759 2007-03-15  Alice Liu  <alice.liu@apple.com>
2760
2761         Reviewed by Ada.
2762
2763         Fixing some leaks
2764
2765         * WebFrame.cpp:
2766         (WebFrame::dispatchDidReceiveAuthenticationChallenge):
2767         (WebFrame::dispatchDidCancelAuthenticationChallenge):
2768
2769 2007-03-15  Brady Eidson  <beidson@apple.com>
2770
2771         Reviewed by Oliver
2772
2773         CFNetwork related cleanup that was a work around for previous deficiencies in CFURLDownload
2774         This might fix some of the random crashers we see on stress testing if they end up 
2775         downloading links.
2776
2777         * WebDownload.cpp:
2778         (WebDownload::init): Release the connection from the handle so it no longer refers to it
2779         
2780 2007-03-15  Maciej Stachowiak  <mjs@apple.com>
2781
2782         Reviewed by Geoff and Steve.
2783         
2784         - fixed <rdar://problem/5029776> iBench JavaScript test slower than Opera
2785         - fixes to use FastMalloc on Windows
2786
2787         * WebKit.vcproj/WebKit.def: Add exports of WTF symbols.
2788         * WebKit.vcproj/WebKit_debug.def: ditto
2789         * WebKit.vcproj/WebKit.vcproj: Link pthreads, now needed by WTF.
2790
2791 2007-03-15  Brady Eidson  <beidson@apple.com>
2792
2793         Reviewed by Alice
2794         
2795         Due to OpenSource r20178, all of the sudden we were trying to handle page caching on Windows
2796         even though it is not hooked up yet.  The resulted in very particular cases ending up calling 
2797         clear() in FrameLoader::provisionalLoadStarted().  One such particular case was if a page *would*
2798         be "cachable" (no frames, no passwords, etc etc), and you start a download from that page.
2799         
2800         The fix for now is to manually set the pageCacheSize to 0 whenever we create new pages on Windows.
2801         This prevents the "Should I cache this page?" checking from getting far enough to clear the document.
2802         It so happens this involves exactly one line.
2803         
2804         * WebView.cpp:
2805         (WebView::initWithFrame): Set page cache size to zero on new pages, and add a fixme to remove later
2806
2807 2007-03-15  Brady Eidson  <beidson@apple.com>
2808
2809         Reviewed by Maciej
2810
2811         <rdar://problem/4429701>
2812         Implements a port blocking black list that matches Firefox's
2813         
2814         * Interfaces/IWebError.idl: Add the custom error code for blocked error
2815
2816         * WebFrame.cpp:
2817         (WebFrame::blockedError): FrameLoaderClient fill-in + a Fixme
2818         (WebFrame::interruptForPolicyChangeError): Add a Fixme for localization
2819         * WebFrame.h:
2820
2821 2007-03-15  Adam Roben  <aroben@apple.com>
2822
2823         Rubberstamped by Brady.
2824
2825         * WebKitLogging.cpp: Turn of Download logging by default.
2826
2827 2007-03-14  Ada Chan  <adachan@apple.com>
2828
2829         Reviewed by Lou.
2830
2831         Added a method in IWebViewPrivate to clear the current focus node.  This is called in the app
2832         when focus has been transferred to the address field or search field.
2833
2834         * Interfaces/IWebViewPrivate.idl:
2835         * WebView.cpp:
2836         (WebView::clearFocusNode):
2837         * WebView.h:
2838
2839 2007-03-14  Adele Peterson  <adele@apple.com>
2840
2841         Reviewed by Ada.
2842
2843         Allow empty commands to be sent by doTextFieldCommandFromEvent.  Our autocomplete code relies on this.
2844
2845         * WebEditorClient.cpp: (WebEditorClient::doTextFieldCommandFromEvent):
2846
2847 2007-03-14  Steve Falkenburg  <sfalken@apple.com>
2848
2849         <rdar://problem/5050470> Reproducible crash doing find on page at cnn.com
2850         
2851         Add frame->document() null checks in cases where frame could be a
2852         sub-frame that hasn't started loading yet.
2853
2854         * WebView.cpp:
2855         (WebView::rectsForTextMatches): Add null check
2856
2857 2007-03-14  Adele Peterson  <adele@apple.com>
2858
2859         Reviewed by Darin.
2860
2861         WebKit part of fix for <rdar://problem/5057371> REGRESSION: Shift-selection stopped working in text fields
2862
2863         This fixes doCommandBySelector to take a command string instead of a key code.
2864
2865         * Interfaces/IWebEditingDelegate.idl: Changed parameter to BSTR.
2866         * Interfaces/IWebFormDelegate.idl: ditto.
2867         * WebEditorClient.cpp:
2868         (WebEditorClient::doTextFieldCommandFromEvent): Calls doCommandBySelector with a BString that it gets from interpretKeyEvent instead of a key code.
2869         (WebEditorClient::textWillBeDeletedInTextField): Calls doCommandBySelector with a BString to represent the BackwardDelete command.
2870         (WebEditorClient::handleKeypress): Calls handleEditingKeyboardEvent with just the KeyboardEvent.
2871         * WebView.cpp: Added commands that will be used by doCommandBySelector to the table (Cancel, InsertTab, InsertBacktab, InsertNewline).
2872         (WebView::interpretKeyEvent): Added. Returns a command string for a KeyboardEvent. Removed static editCommandForKey.
2873         (WebView::handleEditingKeyboardEvent): Call Editor methods instead of calling handleTextInputEvent directly.
2874         * WebView.h:
2875
2876 2007-03-14  Administrator  <acarlsson@apple.com>
2877
2878         Build fixes.
2879         
2880         * WebDataSource.cpp:
2881         (WebDataSource::subresourceForURL):
2882         * WebKitDLL.cpp:
2883         (loadResourceIntoBuffer):
2884
2885 2007-03-12  Adele Peterson  <adele@apple.com>
2886
2887         Reviewed by Oliver.
2888
2889         WebKit part of fix for <rdar://problem/5044790> preventing default of keypress event doesn't work (affects .mac)
2890
2891         Removed special handling of the WM_CHAR message.  All this work is now done by WM_KEYDOWN, which will dispatch the keydown event, 
2892         which causes the keypress event to be dispatched, which calls WebEditorClient::handleKeyPress to do all the hard work.
2893         
2894         * WebEditorClient.cpp: (WebEditorClient::handleKeypress): Removed special call to doTextFieldCommandFromEvent since this will now 
2895         happen during normal key event processing. Call handleEditingKeyboardEvent.  Now editing actions can be prevented from the keypress event handler.
2896         * WebView.cpp:
2897         (WebView::WebView): Added m_currentCharacterCode, so we can reuse the computed code from keyDown for keyUp events.
2898         (WebView::keyUp): Renamed arguments.  Don't dispatch event for shift, ctrl, or capslock keys. Use m_currentCharacterCode when constructing the PlatformKeyboardEvent.
2899         (WebView::handleEditingKeyboardEvent): Now takes a KeyboardEvent instead of a PlatformKeyboardEvent.  If no editCommand is created
2900          from the event, then call handleTextInputEvent.
2901         (WebView::keyDown): Peek at the next message in the message loop.  If its a WM_CHAR, then get the character code and remove that message from the queue.
2902          Renamed arguments.  Don't dispatch event for shift, ctrl, or capslock keys. Set m_currentCharacterCode and use it when constructing the PlatformKeyboardEvent.
2903         (WebViewWndProc):  Removed handling of WM_CHAR, since this is now done from WM_KEYDOWN by dispatching the keydown event, which will eventually call handleKeyPress.
2904         * WebView.h: Made handleEditingKeyboardEvent public so it can be accessed from WebEditorClient.
2905
2906 2007-03-11  Oliver Hunt  <oliver@apple.com>
2907
2908         Reviewed by Adele.
2909
2910         Stubbed WebEditorClient::respondToChangedSelection
2911
2912         * WebEditorClient.cpp:
2913         (WebEditorClient::respondToChangedSelection):
2914         * WebEditorClient.h:
2915
2916 2007-03-10  Anders Carlsson <acarlsson@apple.com>
2917
2918         Reviewed by Adam.
2919
2920         * DOMCoreClasses.cpp:
2921         (DOMNode::textContent):
2922         Implement this.
2923
2924 2007-03-09  Anders Carlsson <acarlsson@apple.com>
2925
2926         Reviewed by Adam.
2927
2928         * WebURLResponse.cpp:
2929         (WebURLResponse::suggestedFilename):
2930         Get the suggested filename from the ResourceResponse object.
2931
2932 2007-03-09  Adam Roben  <aroben@apple.com>
2933
2934         Rubberstamped by Steve.
2935
2936         B&I build fix.
2937
2938         * WebKit.vcproj/WebKit.vcproj: Removed all references to iconv.
2939
2940 2007-03-08  Anders Carlsson <acarlsson@apple.com>
2941
2942         Build fix.
2943         
2944         * WebView.cpp:
2945         (WebView::isLoading):
2946
2947 2007-03-08  Anders Carlsson <acarlsson@apple.com>
2948
2949         Reviewed by Adam.
2950
2951         Implement WebView::isLoading.
2952         
2953         * WebView.cpp:
2954         (WebView::isLoading):
2955
2956 2007-03-07  Adam Roben  <aroben@apple.com>
2957
2958         Rubberstamped by Anders.
2959
2960         Return E_POINTER for null parameters.
2961
2962         * WebScrollBar.cpp:
2963         (WebScrollBar::value):
2964         (WebScrollBar::capturingMouse):
2965         (WebScrollBar::frameGeometry):
2966         (WebScrollBar::width):
2967         (WebScrollBar::height):
2968         (WebScrollBar::requestedWidth):
2969         (WebScrollBar::requestedHeight):
2970         (WebScrollBar::windowClipRect):
2971
2972 2007-03-07  Adam Roben  <aroben@apple.com>
2973
2974         Reviewed by Oliver.
2975
2976         Added requestedWidth and requestedHeight methods to WebScrollBar.
2977
2978         * Interfaces/IWebScrollBarPrivate.idl: Added new declarations.
2979         * WebScrollBar.cpp:
2980         (WebScrollBar::requestedWidth): Implemented.
2981         (WebScrollBar::requestedHeight): Implemented.
2982         * WebScrollBar.h: Added method declarations.
2983
2984 2007-03-07  Adam Roben  <aroben@apple.com>
2985
2986         Rubberstamped by Anders.
2987
2988         * WebFrame.cpp:
2989         (WebFrame::cancelledError): Use the WebURLErrorDomain constant.
2990         (WebFrame::interruptForPolicyChangeError): Use the WebKitErrorDomain constant.
2991
2992 2007-03-07  Adam Roben  <aroben@apple.com>
2993
2994         Rubberstamped by Anders.
2995
2996         Switch the definition of WebURLErrorDomain to "CFURLErrorDomain" so
2997         that we will send the right errors once <rdar://problem/5034136> is
2998         fixed.
2999
3000         * Interfaces/IWebError.idl: Changed definition.
3001
3002 2007-03-07  Adele Peterson  <adele@apple.com>
3003
3004         Build fix.
3005
3006         * WebEditorClient.cpp: (WebEditorClient::handleInputMethodKeypress):
3007
3008 2007-03-07  Adele Peterson  <adele@apple.com>
3009
3010         Reviewed by Darin.
3011
3012         WebKitWin part of fix for:
3013         http://bugs.webkit.org/show_bug.cgi?id=10871
3014         http://bugs.webkit.org/show_bug.cgi?id=12677
3015         <rdar://problem/4823129> REGRESSION: IME key events different in nightly
3016         <rdar://problem/4759563> REGRESSION: Return key is always sent when you confirm a clause in kotoeri
3017
3018         * WebEditorClient.cpp:
3019         (WebEditorClient::handleKeypress): Changed handleKeyPress to handleKeypress.
3020         (WebEditorClient::handleInputMethodKeypress): Added.
3021         * WebEditorClient.h:
3022
3023 2007-03-07  Anders Carlsson  <acarlsson@apple.com>
3024
3025         Reviewed by Adam.
3026
3027         * WebFrame.cpp:
3028         (WebFrame::makeDocumentView):
3029         Assert that frame is not null.
3030
3031 2007-03-06  Anders Carlsson  <acarlsson@apple.com>
3032
3033         Reviewed by Adam.
3034
3035         * WebFrame.cpp:
3036         (WebFrame::makeDocumentView):
3037         Call resetMultipleFormSubmissionProtection() so that submitting the same form from separate loads works.
3038
3039 2007-03-06  Brady Eidson  <beidson@apple.com>
3040
3041         Reviewed by Adam
3042
3043         Adapt to an API change in CFURLDownload
3044         
3045         * WebDownload.cpp:
3046         (WebDownload::init):
3047
3048 2007-03-06  Steve Falkenburg  <sfalken@apple.com>
3049
3050         Rubber-stamped by Adam.
3051         
3052         Fix disney.com more.  Disney redirects to disney.go.com.
3053
3054         * WebView.cpp:
3055         (WebView::userAgentForKURL): Added disney.go.com
3056
3057 2007-03-06  Adam Roben  <aroben@apple.com>
3058
3059         Reviewed by Anders.
3060
3061         Always keep rounding hacks on to be consistent.
3062
3063         * WebDragClient.cpp:
3064         (createDragImageForLink): Tell StringTruncator to keep rounding hacks on.
3065         * WebKitGraphics.cpp:
3066         (CenterTruncateStringToWidth): Ditto.
3067         (RightTruncateStringToWidth): Ditto.
3068
3069 2007-03-06  Steve Falkenburg  <sfalken@apple.com>
3070
3071         Reviewed by Adam.
3072         
3073         Allow custom user agents per site.
3074         
3075         This fixes:
3076         
3077         http://www.disney.com
3078         http://www.yahoo.com
3079         http://mail.google.com
3080         iTunes store links (w/ latest unsubmitted CFNetwork from our root share)
3081
3082         * WebView.cpp:
3083         (WebView::userAgentForKURL): Check URL host against a list of known offenders, return them what they're looking for.
3084
3085 2007-03-06  Anders Carlsson  <acarlsson@apple.com>
3086
3087         Reviewed by Adam.
3088         
3089         Pass the user agent on.
3090         
3091         * WebFrame.cpp:
3092         (WebFrame::userAgent):
3093         * WebFrame.h:
3094
3095 2007-03-04  Adam Roben  <aroben@apple.com>
3096
3097         Reviewed by Steve.
3098
3099         Added line spacing querying to FontMetrics to support line wrapping.
3100
3101         * WebKitGraphics.cpp:
3102         (FontMetrics): Return the line spacing.
3103         * WebKitGraphics.h: Added lineSpacing parameter.
3104
3105 2007-03-02  Adam Roben  <aroben@apple.com>
3106
3107         Reviewed by Beth.
3108
3109         Make submenus draw using the UIDelegate.
3110
3111         * Interfaces/IWebUIDelegate.idl: Added new delegate method to add
3112         custom drawing data for menus.
3113         * WebView.cpp:
3114         (WebView::onInitMenuPopup): Added. Calls new delegate method.
3115         (WebViewWndProc): Added handler for WM_INITMENUPOPUP, which is called
3116         for all submenus.
3117         * WebView.h: Added declaration.
3118
3119 2007-03-02  Adam Roben  <aroben@apple.com>
3120
3121         Reviewed by Anders.
3122
3123         Added optional underlining of a single character to WebKitGraphics.
3124
3125         * WebKitGraphics.cpp:
3126         (DrawTextAtPoint): Passed optional underlinedIndex parameter to
3127         WebCoreTextRenderer.
3128         * WebKitGraphics.h: Added optional underlinedIndex parameter.
3129
3130 2007-03-01  Adam Roben  <aroben@apple.com>
3131
3132         Reviewed by Kevin M.
3133
3134         Add support for right-truncation to WebKitGraphics.
3135
3136         * WebKit.vcproj/WebKit.def: Added new export.
3137         * WebKit.vcproj/WebKit_debug.def: Ditto.
3138         * WebKitGraphics.cpp:
3139         (RightTruncateStringToWidth): Added.
3140         * WebKitGraphics.h: Added declaration.
3141
3142 2007-02-28  Adam Roben  <aroben@apple.com>
3143
3144         Reviewed by Anders.
3145
3146         Made WebKitGraphics more flexible.
3147
3148         * WebDragClient.cpp:
3149         (WebDragClient::createDragImageForLink): Updated for changes to
3150         WebKitGraphics/WebCoreTextRenderer.
3151         * WebKit.vcproj/WebKit.def: Added new exported methods.
3152         * WebKit.vcproj/WebKit_debug.def: Ditto.
3153         * WebKitGraphics.cpp:
3154         (makeFont): Added.
3155         (DrawTextAtPoint): Simplified arguments, changed to take a
3156         CGContextRef, and updated for WebCoreTextRenderer changes.
3157         (TextFloatWidth): Added.
3158         (FontMetrics): Added.
3159         (CenterTruncateStringToWidth): Added.
3160         * WebKitGraphics.h: Updated declarations.
3161
3162 2007-02-28  Steve Falkenburg  <sfalken@apple.com>
3163
3164         Fix build (for new SDK) / Break build (for old SDK)
3165
3166         * WebDownload.cpp:
3167         (WebDownload::initToResumeWithBundle):
3168
3169 2007-02-27  Ada Chan  <adachan@apple.com>
3170
3171         Reviewed by Steve and Adam.
3172         
3173         WebKitWin changes to get the aqua scrollbar into the app.
3174
3175         * Interfaces/IWebScrollBarDelegatePrivate.idl: Added.
3176         COM interface for the WebKit scrollbar
3177         * Interfaces/IWebScrollBarPrivate.idl: Added.
3178         COM interface that allows the WebKit scrollbar to update the client.
3179         * Interfaces/WebKit.idl:
3180         * WebKit.vcproj/Interfaces.vcproj:
3181         * WebKit.vcproj/WebKit.vcproj:
3182         * WebKit.vcproj/WebKitGUID.vcproj:
3183         * WebKitClassFactory.cpp:
3184         (WebKitClassFactory::CreateInstance):
3185         Added changes needed to create the WebKitScrollBar through COM
3186         * WebKitDLL.cpp:
3187         (DllGetClassObject):
3188         * WebScrollBar.cpp: Added.
3189         WebKitScrollBar wraps the WebCore's PlatformScrollbar.  This allows the app to
3190         make its own scroll bar that's the same aqua scrollbar in the engine.
3191         (WebScrollBar::WebScrollBar):
3192         (WebScrollBar::~WebScrollBar):
3193         (WebScrollBar::createInstance):
3194         (WebScrollBar::QueryInterface):
3195         (WebScrollBar::AddRef):
3196         (WebScrollBar::Release):
3197         (WebScrollBar::init): instantiate PlatformScrollbar.
3198         (WebScrollBar::setEnabled): call through to PlatformScrollbar
3199         (WebScrollBar::setSteps): ditto
3200         (WebScrollBar::setProportion): ditto
3201         (WebScrollBar::setRect): ditto
3202         (WebScrollBar::setValue): ditto
3203         (WebScrollBar::value): ditto
3204         (WebScrollBar::capturingMouse): ditto
3205         (WebScrollBar::paint): ditto
3206         (WebScrollBar::frameGeometry): ditto
3207         (WebScrollBar::width): ditto
3208         (WebScrollBar::height): ditto
3209         (WebScrollBar::handleMouseEvent): ditto
3210         (WebScrollBar::scroll): ditto
3211         (WebScrollBar::valueChanged): call valueChanged on the delegate
3212         (WebScrollBar::windowClipRect): get the rect from the scrollbar's containing window
3213         * WebScrollBar.h: Added.
3214
3215 2007-02-27  Alice Liu  <alice.liu@apple.com>
3216
3217         Reviewed by Steve, Adam, Maciej, and their mothers.
3218
3219         This is a general leaks fix but helps the effort towards fixing
3220         <rdar://4974495> Boomer leaks while running HTML iBench
3221         However, this fix doens't close that bug. 
3222
3223         * WebFrame.cpp:
3224         (WebFrame::setTitle):
3225             fix a leak of WebHistory
3226         * WebHistory.cpp:
3227         (_WebCoreHistoryProvider::containsItemForURLUnicode):
3228             fix a leak of WebHistory
3229
3230 2007-02-27  Adam Roben  <aroben@apple.com>
3231
3232         Reviewed by Anders.
3233
3234         Fix <rdar://problem/5004615> View source menu option is always disabled
3235         when Netscape 8 is installed
3236
3237         The bug was caused by Netscape's npTrident.dll plugin, which registers
3238         itself as a handler for text/html and text/xml.
3239
3240         * WebFrame.cpp:
3241         (WebFrame::canProvideDocumentSource): Explicitly allow viewing the
3242         source of HTML and XML documents, rather than disallowing text, image,
3243         and plugin documents. Plugins can register themselves as handlers for
3244         HTML and XML MIME types, but we still want to display source in those
3245         cases.
3246
3247 2007-02-27  Beth Dakin  <bdakin@apple.com>
3248
3249         Reviewed by Adam.
3250
3251         Make msimg32.lib available to the engine so that we can use 
3252         AlphaBlend.
3253
3254         * WebKit.vcproj/WebKit.vcproj:
3255
3256 2007-02-27  Ada Chan  <adachan@apple.com>
3257
3258         Fixed build.
3259
3260         * WebFrame.cpp:
3261
3262 2007-02-27  Oliver Hunt  <oliver@apple.com>
3263
3264         Reviewed by Lou and Steve.
3265         
3266         Handle the WM_CURSOR message to stop cursor flickering
3267         to fix <rdar://problem/4788352>
3268
3269         * WebView.cpp:
3270         (WebViewWndProc):
3271
3272 2007-02-27  Ada Chan  <adachan@apple.com>
3273
3274         Reviewed by Steve and Anders.
3275
3276         <rdar://4983106> Stop/reload button never changes back to
3277         reload when a click on a link spawns a download
3278
3279         * WebError.cpp:
3280         (WebError::isPolicyChangeError): fixed string comparison
3281         * WebFrame.cpp:
3282         (WebFrame::interruptForPolicyChangeError): implemented the method
3283
3284 2007-02-26  Adam Roben  <aroben@apple.com>
3285
3286         Reviewed by Adele.
3287
3288         Stop bizarre crashes from happening on startup.
3289
3290         * WebKit.vcproj/WebKit.vcproj: Use new ENABLE_* macros instead of *_SUPPORT.
3291
3292 2007-02-24  Steve Falkenburg  <sfalken@apple.com>
3293
3294         Pre-emptive build fix.
3295         Removed CGPThreads DLL copy
3296
3297         * WebKit.vcproj/WebKit.vcproj:
3298
3299 2007-02-22  Adele Peterson  <adele@apple.com>
3300
3301         Updating this file to match WebCore.
3302
3303         * WebKit.vcproj/textAreaResizeCorner.png:
3304
3305 2007-02-22  Beth Dakin  <bdakin@apple.com>
3306
3307         Reviewed by Adam.
3308
3309         Fix for http://bugs.webkit.org/show_bug.cgi?id=12399 REGRESSION: 
3310         Unable to prevent default context menu from appearing. <rdar://
3311         problem/5017416>
3312
3313         * WebView.cpp:
3314         (WebView::handleContextMenuEvent): Clear the controller's context 
3315         menu before propagating a new context menu event through the DOM.
3316
3317 2007-02-22  Oliver Hunt  <oliver@apple.com>
3318
3319         Reviewed by Ada, Lou, and Steve.
3320
3321         Last of the major changes for drag and drop
3322         - Move COMPtr.h to WebCore
3323         - Added WebDragSource, a modified version of SDataSource from the App
3324           that can notify a WebView's eventhandler of drag events
3325         - Implement the last bits of the DragClient
3326         - As part of drag client added code to draw the "doubled" text used by
3327           drag links.  May be useful for other parts of WebKit/App
3328         
3329         * COMPtr.h: Removed.
3330           Moving to WebCore
3331         * WebDragClient.cpp:
3332         (WebDragClient::actionMaskForDrag):
3333         (WebDragClient::willPerformDragDestinationAction):
3334         (WebDragClient::dragSourceActionMaskForPoint):
3335         (WebDragClient::willPerformDragSourceAction):
3336           Removing WebCore:: as i'm now using the WebCore namespace
3337         (WebDragClient::startDrag):
3338           Implemented client method
3339         (allocImage):
3340         (dragLabelFont):
3341           Helper functions for generating the link dragging image
3342         (WebDragClient::createDragImageForLink):
3343           Implemented client method
3344           
3345         * WebDropSource.cpp: Added.
3346         (WebDropSource::createInstance):
3347         (WebDropSource::WebDropSource):
3348         (WebDropSource::QueryInterface):
3349         (WebDropSource::AddRef):
3350         (WebDropSource::Release):
3351         (generateMouseEvent):
3352           Generates a mouse event for the EventHandler
3353         (WebDropSource::QueryContinueDrag):
3354         (WebDropSource::GiveFeedback):
3355           Copied from SDataObject in the App.  Minor changes per suggestions
3356           from Ada and Steve (error codes, potential leaks)
3357           Also includes logic to notify the source WebView of drag events (moving 
3358           and drag end)
3359           
3360         * WebDropSource.h: Added.
3361           Header for the above
3362           
3363         * WebKit.vcproj/WebKit.vcproj:
3364           Removing COMPtr.h, and adding WebDropSource.{h,cpp}
3365           
3366         * WebKitGraphics.cpp:
3367         (DrawDoubledTextAtPoint):
3368           Utility function for drawing double text, as used by link dragging image
3369           
3370         * WebKitGraphics.h:
3371           Defining the above function
3372
3373 2007-02-21  Brady Eidson  <beidson@apple.com>
3374
3375         Reviewed by the build-fix fairies
3376
3377         * WebDownload.cpp:
3378         (WebDownload::initToResumeWithBundle): Conditionally use CFURLDownload API for the resume case.
3379          I totally made up the flag
3380
3381 2007-02-21  Brady Eidson  <beidson@apple.com>
3382
3383         Reviewed by Anders' rubberstamp
3384         
3385         * WebDownload.cpp:
3386         (WebDownload::initToResumeWithBundle): Make a copy of the string we truncate
3387          so it doesn't affect the original
3388
3389 2007-02-21  Brady Eidson  <beidson@apple.com>
3390
3391         Reviewed by Adam
3392
3393         <rdar://problem/4964763> - Hookup resume downloads on the engine side
3394         
3395         NOTE: Resume downloads are broken in the current ChickenCat - this functionality requires 
3396         a custom ToT CFNetwork as of CFNetwork r3372, or will require CFNetwork 172 or later
3397         
3398         * WebDownload.cpp:
3399         (WebDownload::initWithRequest): Changed some logging, plugged some potential leaks
3400         (WebDownload::initToResumeWithBundle): Added a real implementation - this now works!
3401         (WebDownload::didFinish): Added some logging and fixed up some lifetime issues
3402         (extractResumeDataFromBundle): Renamed to imply the modification of the file.  Truncate
3403           the resume data from the file once it is extracted
3404
3405 2007-02-20  Beth Dakin  <bdakin@apple.com>
3406
3407         Reviewed by Maciej.
3408
3409         Move copyImage functionality from the ContextMenuClient to the 
3410         Pasteboard.
3411
3412         * WebContextMenuClient.cpp:
3413         * WebContextMenuClient.h:
3414
3415 2007-02-20  Adam Roben  <aroben@apple.com>
3416
3417         Reviewed by Darin and Anders.
3418
3419         Fix <rdar://problem/5003318> App: Status bar text is more difficult to
3420         read than Mac OS X Safari
3421
3422         * WebKitGraphics.cpp:
3423         (DrawTextAtPoint): Added bottomAlign and centerTruncate parameters.
3424         * WebKitGraphics.h: Ditto.
3425
3426 2007-02-20  Darin Adler  <darin@apple.com>
3427
3428         Reviewed by Anders.
3429
3430         * WebFrame.cpp: (WebFrame::redirectDataToPlugin): Update for changes to
3431         FrameLoader and DocumentLoader.
3432
3433 2007-02-19  Adam Roben  <aroben@apple.com>
3434
3435         Reviewed by Darin.
3436
3437         Fix <rdar://problem/5007566> Crash in WebFrame::dataSource on dni.ru
3438
3439         The fix for the bug was to zero out WebFrame's Frame pointer in
3440         WebFrame::frameLoaderDestroyed, and then to null-check or ASSERT
3441         non-null as appropriate. All IWebFrame methods that depend on the Frame
3442         pointer will return E_FAIL if it is null, and everywhere within
3443         WebFrame that wasn't null-checking before will now explicitly ASSERT.
3444
3445         I also changed all uses of d->frame and WebFrame::impl() to use the
3446         core() function for consistency, and so that there is only one code
3447         path for getting from a WebFrame to a Frame.
3448
3449         Additional more specific comments below.
3450
3451         * WebChromeClient.cpp:
3452         (WebChromeClient::scrollBackingStore):
3453         (WebChromeClient::updateBackingStore):
3454         * WebFrame.cpp:
3455         (kit): Null-check the frame parameter.
3456         (core): Added two overloads of this.
3457         (WebFrame::DOMDocument): Added argument checking.
3458         (WebFrame::currentForm):
3459         (WebFrame::loadRequest):
3460         (WebFrame::loadData):
3461         (WebFrame::dataSource): Added argument checking, and return E_FAIL if the dataSource is null.
3462         (WebFrame::provisionalDataSource): Ditto.
3463         (WebFrame::stopLoading):
3464         (WebFrame::reload):
3465         (WebFrame::parentFrame):
3466         (WebFrame::renderTreeAsExternalRepresentation): Added argument checking.
3467         (WebFrame::firstLayoutDone): Ditto.
3468         (WebFrame::loadType): Ditto.
3469         (WebFrame::invalidate):
3470         (WebFrame::setTextSizeMultiplier):
3471         (WebFrame::inViewSourceMode): Added argument checking, and changed to return an HRESULT.
3472         (WebFrame::setInViewSourceMode): Changed to return an HRESULT.
3473         (WebFrame::searchForLabelsBeforeElement): Added argument checking.
3474         (WebFrame::matchLabelsAgainstElement): Ditto.
3475         (WebFrame::frameLoaderDestroyed): Zero out the Frame pointer because the Frame is being destroyed.
3476         (WebFrame::createFrame):
3477         (WebFrame::loadURLIntoChild): Added some assertions.
3478         (WebFrame::dispatchWillSubmitForm):
3479         (WebFrame::frameLoadCompleted):
3480         (WebFrame::receivedData):
3481         (WebFrame::setUpPolicyListener):
3482         (WebFrame::receivedPolicyDecision):
3483         (WebFrame::dispatchDecidePolicyForMIMEType):
3484         (WebFrame::dispatchDecidePolicyForNewWindowAction):
3485         (WebFrame::dispatchDecidePolicyForNavigationAction):
3486         (WebFrame::dispatchCreatePage):
3487         (WebFrame::createPlugin):
3488         (WebFrame::redirectDataToPlugin):
3489         (WebFrame::createJavaAppletWidget):
3490         (WebFrame::windowObjectCleared):
3491         (WebFrame::setPrinting):
3492         (WebFrame::setInPrintingMode):
3493         (WebFrame::computePageRects):
3494         (WebFrame::getPrintedPageCount): Zero out the out parameter before proceeding.
3495         (WebFrame::spoolPages):
3496         (WebFrame::forceLayoutWithPageWidthRange):
3497         * WebFrame.h:
3498         * WebView.cpp:
3499         (WebView::paint): Silently fail on a null Frame, because this method could be called at any time.
3500         (WebView::mouseWheel): Ditto.
3501         (WebViewWndProc): Ditto.
3502         (WebView::inViewSourceMode): Return whatever WebFrame::setInViewSourceMode returns.
3503         (WebView::setInViewSourceMode): Ditto.
3504         (WebView::setCustomTextEncodingName): Replaced check for a null
3505         FrameLoader with a check for a null Frame, which is equivalent but, as
3506         a bonus, won't crash.
3507         (WebView::stringByEvaluatingJavaScriptFromString):
3508         (WebView::elementAtPoint): Added argument checking.
3509         (WebView::selectedText): Ditto.
3510         (WebView::centerSelectionInVisibleArea):
3511
3512 2007-02-19  Adam Roben  <aroben@apple.com>
3513
3514         Build fix.
3515
3516         * WebFrame.cpp:
3517         (WebFrame::computePageRects):
3518
3519 2007-02-18  Maciej Stachowiak  <mjs@apple.com>
3520
3521         Reviewed by Oliver.
3522
3523         - Adapt for Lars's patch to clean up Frame
3524
3525         * WebChromeClient.cpp:
3526         (WebChromeClient::tabsToLinks):
3527         (WebChromeClient::windowResizerRect):
3528         (WebChromeClient::addToDirtyRegion):
3529         (WebChromeClient::scrollBackingStore):
3530         (WebChromeClient::updateBackingStore):
3531         * WebChromeClient.h:
3532         * WebEditorClient.cpp:
3533         (WebEditorClient::shouldChangeSelectedRange):
3534         (WebEditorClient::textFieldDidBeginEditing):
3535         (WebEditorClient::textFieldDidEndEditing):
3536         (WebEditorClient::textDidChangeInTextField):
3537         (WebEditorClient::doTextFieldCommandFromEvent):
3538         (WebEditorClient::textWillBeDeletedInTextField):
3539         (WebEditorClient::textDidChangeInTextArea):
3540         * WebEditorClient.h:
3541         * WebElementPropertyBag.cpp:
3542         (WebElementPropertyBag::Read):
3543         * WebFrame.cpp:
3544         (kit):
3545         (WebFrame::initWithWebFrameView):
3546         (WebFrame::searchForLabelsBeforeElement):
3547         (WebFrame::matchLabelsAgainstElement):
3548         (WebFrame::createPlugin):
3549         (WebFrame::createJavaAppletWidget):
3550         (WebFrame::computePageRects):
3551         (WebFrame::getPrintedPageCount):
3552         (WebFrame::spoolPages):
3553         * WebFrame.h:
3554         * WebView.cpp:
3555         (WebView::handleEditingKeyboardEvent):
3556         (WebView::keyDown):
3557         (WebView::generateSelectionImage):
3558         * WebView.h:
3559
3560 2007-02-18  Ada Chan  <adachan@apple.com>
3561
3562         Reviewed by Adam.
3563         
3564         Move app text controls to use webview
3565
3566         * DOMCoreClasses.cpp:
3567         (DOMNode::parentNode): implemented
3568         (DOMElement::blur): implemented
3569         * Interfaces/IWebUIDelegatePrivate.idl: added API for focus/blur notifications
3570         * WebKit.vcproj/WebKit.def: added DrawTextAtPoint
3571         * WebKit.vcproj/WebKit.vcproj: added WebKitGraphics.h/cpp
3572         * WebKit.vcproj/WebKit_debug.def: added DrawTextAtPoint
3573         * WebKitGraphics.cpp: Added.
3574         (DrawTextAtPoint): calls WebCoreDrawTextAtPoint to render text
3575         * WebKitGraphics.h: Added.
3576         * WebView.cpp:
3577         (WebViewWndProc): notify setfocus and killfocus through IWebUIDelegatePrivate delegate.
3578         (WebView::unmarkAllTextMatches): added null check
3579
3580 2007-02-18  Oliver Hunt  <oliver@apple.com>
3581
3582         Reviewed by Adam.
3583
3584         Stubs to keep the build going
3585
3586         * WebDragClient.cpp:
3587         (WebDragClient::willPerformDragSourceAction):
3588         (WebDragClient::startDrag):
3589         (WebDragClient::createDragImageForLink):
3590         * WebDragClient.h:
3591
3592 2007-02-17  Steve Falkenburg  <sfalken@apple.com>
3593
3594         Reviewed by Adam.
3595
3596         <rdar://problem/4918821> Find: clicking on the webview does not hide findoverlay
3597         <rdar://problem/4956428> Find: Showing/hiding the Find banner should not push the page contents down when possible
3598
3599         * Interfaces/IWebViewPrivate.idl: Added scrollBy, visibleContentRect
3600         * WebView.cpp:
3601         (WebView::scrollOffset): Add null check
3602         (WebView::scrollBy): Added so we can scroll a webview easily (matches scroll position getter here)
3603         (WebView::visibleContentRect):  Added so we can size find overlay appropriately (not including scroll bars)
3604         * WebView.h: Added scrollBy, visibleContentRect
3605
3606 2007-02-17  Adele Peterson  <adele@apple.com>
3607
3608         Reviewed by Hyatt.
3609
3610         Fix for <rdar://problem/5006194> Caret is not revealed when a newline is entered into a textarea
3611
3612         * WebView.cpp: (WebView::handleEditingKeyboardEvent):
3613         Use shared code in Editor class to insertParagraphSeparator (or insertLineBreak for plain text).
3614         This will also reveal the selection properly.
3615
3616 2007-02-16  Anders Carlsson  <acarlsson@apple.com>
3617
3618         Build fixes.
3619         
3620         * WebDownload.cpp:
3621         (WebDownload::init):
3622         (WebDownload::initWithRequest):
3623
3624 2007-02-15  Steve Falkenburg  <sfalken@apple.com>
3625
3626         Reviewed by Adam.
3627         
3628         <rdar://problem/5001181> Crash: autofilling empty page
3629         
3630         Return an error from WebFrame::DOMDocument if there's no document
3631
3632         * WebFrame.cpp:
3633         (WebFrame::DOMDocument): null document now maps to E_FAIL
3634
3635 2007-02-15  Brady Eidson  <beidson@apple.com>
3636
3637         Reviewed by Adam
3638
3639         <rdar://4778394> - Save scroll position in the back/forward list
3640         
3641         * WebFrame.cpp:
3642         (WebFrame::restoreViewState):  Renamed, as scroll position was pushed to WebCore
3643         (WebFrame::saveViewStateToItem):  Ditto
3644         * WebFrame.h:
3645
3646 2007-02-15  Adam Roben  <aroben@apple.com>
3647
3648         Reviewed by Anders.
3649
3650         Fix <rdar://problem/4968731> Printing scales frames to page width
3651         instead of doing a layout at that width
3652
3653         * Interfaces/IWebFramePrivate.idl: Added setInPrintingMode method.
3654         * WebFrame.cpp:
3655         (WebFrame::WebFrame): Initialize new member.
3656         (printerRect): New helper function.
3657         (WebFrame::setPrinting): Ported from WebHTMLView.