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