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