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