WebCore:
[WebKit-https.git] / WebKit / ChangeLog
1 2007-03-26  Antti Koivisto  <antti@apple.com>
2
3         Reviewed by Darin.
4         
5         On Mac, support fine grained wheel events generated by trackpad and Mighty Mouse.
6         http://bugs.webkit.org/show_bug.cgi?id=13134
7         <rdar://problem/5076249?
8
9         * WebCoreSupport/WebSystemInterface.m:
10         (InitWebCoreSystemInterface): Expose GetWheelEventDeltas()
11
12 2007-03-26  John Sullivan  <sullivan@apple.com>
13
14         Reviewed by Dave Harrison
15         
16         - fixed <rdar://problem/4769772> Problem with Find on certain PDF page
17
18         * WebView/WebPDFView.mm:
19         (-[WebPDFView _scaledAttributedString:]):
20         We were hitting an exception trying to set the font attribute to nil, which was happening because
21         the result of -[PDFSelection attributedString] had no attributes. That PDFSelection bug is now
22         filed separately, but this works around the exception.
23
24 2007-03-24  David Hyatt  <hyatt@apple.com>
25
26         Amend the statistics reporting for the WebCore cache to include XSL and to report live/decoded sizes.
27
28         * Misc/WebCache.mm:
29         (+[WebCache statistics]):
30
31 2007-03-24  Brady Eidson  <beidson@apple.com>
32
33         Reviewed by Adam
34
35         RetainPtr is no longer in the WebCore namespace
36
37         * History/WebBackForwardList.mm:
38         * WebCoreSupport/WebEditorClient.h:
39         * WebCoreSupport/WebFrameLoaderClient.h:
40         * WebView/WebDocumentLoaderMac.h:
41
42 2007-03-24  Brady Eidson  <beidson@apple.com>
43
44         Reviewed by Adam
45
46         <rdar://problem/5086210> - Move RetainPtr to WTF
47         
48         * ForwardingHeaders/wtf/RetainPtr.h: Added.
49         * History/WebBackForwardList.mm: Changed #import to <wtf/RetainPtr.h>
50         * WebCoreSupport/WebEditorClient.h: Ditto
51         * WebCoreSupport/WebFrameLoaderClient.h: Ditto
52         * WebView/WebDocumentLoaderMac.h: Ditto
53
54 2007-03-24  John Sullivan  <sullivan@apple.com>
55
56         Reviewed by Adele
57
58         - fixed <rdar://problem/5084872> Need to add flickr to spoof list in WebKit
59         - only do site-specific spoofing if a preference is set
60
61         * WebView/WebPreferenceKeysPrivate.h:
62         added WebKitUseSiteSpecificSpoofingPreferenceKey 
63         
64         * WebView/WebPreferences.m:
65         (+[WebPreferences initialize]):
66         initialize WebKitUseSiteSpecificSpoofingPreferenceKey to false
67         (-[WebPreferences _useSiteSpecificSpoofing]):
68         get value of WebKitUseSiteSpecificSpoofingPreferenceKey
69         (-[WebPreferences _setUseSiteSpecificSpoofing:]):
70         set value of WebKitUseSiteSpecificSpoofingPreferenceKey
71         
72         * WebView/WebPreferencesPrivate.h:
73         declare _useSiteSpecificSpoofing and _setUseSiteSpecificSpoofing
74         
75         * WebView/WebView.mm:
76         cache the value of WebKitUseSiteSpecificSpoofingPreferenceKey in a bool in _private
77         (-[WebView _preferencesChangedNotification:]):
78         update the cached value
79         (-[WebView setPreferences:]):
80         ditto
81         (-[WebView WebCore::_userAgentForURL:WebCore::]):
82         Only spoof here if the new site-specific spoofing preference is enabled. If it is, pass
83         Safari 2.0.4's user agent string for flickr.com. We can remove this case when 5081617 is addressed.
84
85 2007-03-24  Mark Rowe  <mrowe@apple.com>
86
87         Rubber-stamped by Darin.
88
89         * Configurations/WebKit.xcconfig: Remove unnecessary INFOPLIST_PREPROCESS.
90
91 2007-03-23  Mark Rowe  <mrowe@apple.com>
92
93         Build fix for when BUILDING_ON_TIGER is not defined.
94
95         * Misc/WebTypesInternal.h:
96         * WebView/WebHTMLView.mm:
97
98 2007-03-22  David Kilzer  <ddkilzer@apple.com>
99
100         Reviewed by Darin.
101
102         Use BUILDING_ON_TIGER from WebKitPrefix.h instead of local
103         MAC_OS_X_VERSION_MAX_ALLOWED <= MAC_OS_X_VERSION_10_4 tests.
104
105         * Misc/WebTypesInternal.h:
106         * WebView/WebHTMLView.mm:
107
108 2007-03-22  Darin Adler  <darin@apple.com>
109
110         Reviewed by Adele.
111
112         - fix <rdar://problem/5074630> detachChildren call should move from WebKit to WebCore
113
114         * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::prepareForDataSourceReplacement):
115         Remove call to detachChildren. This should be a WebCore responsibility.
116
117 2007-03-19  Anders Carlsson  <acarlsson@apple.com>
118
119         Reviewed by Dave Hyatt.
120
121         <rdar://problem/5067983>
122         iSale: Crash occurs at WebFrameLoaderClient::dispatchDecidePolicyForMIMEType() when attempting to load a HTML template
123         
124         Restore old behavior (broke in r14533) where the resource load and download delegates are retained for as long as the 
125         data source is loading.
126         
127         * WebCoreSupport/WebFrameLoaderClient.mm:
128         (WebFrameLoaderClient::createDocumentLoader):
129         * WebView/WebDocumentLoaderMac.h:
130         * WebView/WebDocumentLoaderMac.mm:
131         (WebDocumentLoaderMac::setDataSource):
132         (WebDocumentLoaderMac::decreaseLoadCount):
133
134 2007-03-19  Geoffrey Garen  <ggaren@apple.com>
135
136         Speculative fix for why ASSERT_MAIN_THREAD didn't work for me. (The
137         documentation says "non-zero," not "1."
138
139         * Misc/WebKitLogging.m:
140         (WebKitRunningOnMainThread):
141
142 2007-03-19  Andrew Wellington  <proton@wiretapped.net>
143
144         Reviewed by Maciej.
145
146         Really set Xcode editor to use 4 space indentation (http://webkit.org/coding/coding-style.html)
147
148         * WebKit.xcodeproj/project.pbxproj:
149
150 2007-03-19  Darin Adler  <darin@apple.com>
151
152         * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
153
154 2007-03-19  John Sullivan  <sullivan@apple.com>
155
156         Reviewed by Justin
157         
158         - fixed <rdar://problem/5071238> REGRESSION: opt-cmd-B to show Bookmarks view does 
159         nothing when form field has focus
160
161         * WebView/WebHTMLView.mm:
162         (-[WebHTMLView _handleStyleKeyEquivalent:]):
163         we were counting any set of modifiers plus 'b' as the standard key equivalent for
164         toggling Bold; now we only accept command+'b'
165
166 2007-03-19  Adam Roben  <aroben@apple.com>
167
168         Reviewed by Hyatt and Maciej.
169
170         Updated WebCoreStatistics for the conversion of WebCoreJavaScript to
171         C++.
172
173         * Misc/WebCoreStatistics.mm:
174         (+[WebCoreStatistics javaScriptObjectsCount]):
175         (+[WebCoreStatistics javaScriptInterpretersCount]):
176         (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
177         (+[WebCoreStatistics javaScriptRootObjectTypeCounts]): Moved
178         conversion to NSCountedSet here from WebCore.
179         (+[WebCoreStatistics garbageCollectJavaScriptObjects]):
180         (+[WebCoreStatistics garbageCollectJavaScriptObjectsOnAlternateThread:]):
181         (+[WebCoreStatistics shouldPrintExceptions]):
182         (+[WebCoreStatistics setShouldPrintExceptions:]):
183         (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
184         (+[WebCoreStatistics javaScriptRootObjectClasses]):
185
186 2007-03-18  Andrew Wellington  <proton@wiretapped.net>
187
188         Reviewed by Mark Rowe
189         
190         Set Xcode editor to use 4 space indentation (http://webkit.org/coding/coding-style.html)
191
192         * WebKit.xcodeproj/project.pbxproj:
193
194 2007-03-19  Mark Rowe  <mrowe@apple.com>
195
196         Rubber-stamped by Brady.
197
198         Update references to bugzilla.opendarwin.org with bugs.webkit.org.
199
200         * WebInspector/webInspector/inspector.css:
201         * WebView/WebHTMLView.mm:
202         (-[WebHTMLView firstRectForCharacterRange:]):
203         * WebView/WebView.mm:
204         (-[WebView initWithFrame:frameName:groupName:]):
205
206 2007-03-18  David Hyatt  <hyatt@apple.com>
207
208         Move frame borders out of WebKit and into WebCore.
209
210         Reviewed by aroben, olliej
211
212         * WebCoreSupport/WebFrameBridge.mm:
213         * WebKit.xcodeproj/project.pbxproj:
214         * WebView/WebFrameView.mm:
215         (-[WebFrameView drawRect:]):
216         (-[WebFrameView setFrameSize:]):
217         * WebView/WebFrameViewInternal.h:
218
219 2007-03-17  John Sullivan  <sullivan@apple.com>
220
221         Reviewed by Tim Hatcher
222         
223         Discovered while working on <rdar://problem/5070334> that many WebView calls will crash if called
224         after -[WebView close] has executed because _private->page is deferenced after it's been set to 0. 
225         It might be silly/wrong to call these methods after -close, but obviously it shouldn't crash. Made
226         each use of _private->page robust against nil-dereferencing.
227
228         * WebView/WebView.mm:
229         (-[WebView _loadBackForwardListFromOtherView:]):
230         (-[WebView _updateWebCoreSettingsFromPreferences:]):
231         (-[WebView _setDashboardBehavior:to:]):
232         (-[WebView _dashboardBehavior:]):
233         (-[WebView goBack]):
234         (-[WebView goForward]):
235         (-[WebView goToBackForwardItem:]):
236         (-[WebView canGoBack]):
237         (-[WebView canGoForward]):
238         (-[WebView setTabKeyCyclesThroughElements:]):
239         (-[WebView tabKeyCyclesThroughElements]):
240         (-[WebView setEditable:]):
241
242 2007-03-17  Timothy Hatcher  <timothy@apple.com>
243
244         Reviewed by Mark Rowe.
245
246         Made Version.xcconfig smarter when building for different configurations.
247         Now uses the 522+ OpenSource version for Debug and Release, while using the
248         full 522.4 version for Production builds. The system prefix is also computed
249         based on the current system, so 4522.4 on Tiger and 5522.4 on Leopard.
250
251         * Configurations/Version.xcconfig:
252         * Configurations/WebKit.xcconfig:
253
254 2007-03-16  Oliver Hunt  <oliver@apple.com>
255
256         Reviewed by Hyatt.
257
258         The old canSaveAsWebArchive call was necessary as stand alone
259         images used to be rendered by ImageDocument.
260
261         Fixes rdar://problem/5061252
262
263         * WebCoreSupport/WebDragClient.h:
264         * WebCoreSupport/WebDragClient.mm:
265         (WebDragClient::declareAndWriteDragImage):
266         * WebKit.xcodeproj/project.pbxproj:
267
268 2007-03-15  Brady Eidson  <beidson@apple.com>
269
270         Reviewed by Maciej
271
272         <rdar://problem/4429701>
273         Implements a port blocking black list that matches Firefox's
274
275         * English.lproj/Localizable.strings: Added localizable string for port blocked error code
276
277         * Misc/WebKitErrors.h:
278         * Misc/WebKitErrors.m:
279         (registerErrors): Add new port blocked error code to WebKitErrorDomain
280
281         * WebCoreSupport/WebFrameLoaderClient.h:
282         * WebCoreSupport/WebFrameLoaderClient.mm:
283         (WebFrameLoaderClient::cancelledError): Fixed coding style
284         (WebFrameLoaderClient::blockedError): Return a ResourceError with the new custom error code
285
286 2007-03-15  Timothy Hatcher  <timothy@apple.com>
287
288         Reviewed by John.
289
290         * Fixes: <rdar://problem/4927747> WebKit's Current Library Version number should match the Info.plist Version
291         * Factored out most of our common build settings into .xcconfig files. Anything that was common in
292           each build configuration was factored out into the shared .xcconfig file.
293         * Adds a Version.xcconfig file to define the current framework version, to be used in other places.
294         * Use the new $(BUNDLE_VERSION) (defined in Version.xcconfig) in the preprocessed Info.plist.
295         * Use the versions defined in Version.xcconfig to set $(DYLIB_CURRENT_VERSION).
296         * Make WebKit use the same warning flags as the other projects. This required two casts to be added to fix new warnings.
297
298         * Configurations/Base.xcconfig: Added.
299         * Configurations/DebugRelease.xcconfig: Added.
300         * Configurations/Version.xcconfig: Added.
301         * Configurations/WebKit.xcconfig: Added.
302         * Info.plist:
303         * Misc/WebKitVersionChecks.h:
304         * Plugins/WebBaseNetscapePluginStream.m:
305         (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]):
306         * WebKit.xcodeproj/project.pbxproj:
307
308 2007-03-15  Kevin Decker  <kdecker@apple.com>
309
310         Reviewed by Anders.
311
312         Fixed: <rdar://problem/5001428> stationery background images do not display
313        
314         Change 19244 fixed the method -[WebResource _shouldIgnoreWhenUnarchiving], but also broke Mail stationery.
315         
316         The problem was that with archivedResourceForURL now fixed, the engine will try to decode the images.  These images wouldn't decode because
317         Mail re-encodes and directly manipulates the image data in such a way that prevented WebKit from decoding the image.  Because Mail was giving
318         us bad data, the images wouldn't render.  This was never an issue before because archivedResourceForURL (broken) always returned nil, thus the
319         engine would never attempt to decode the resource, therefore the responsibility was delegated to Mail's protocol handler, which would do the 
320         right thing and load the image.
321         
322         Since Mail is relying on the fact it can store arbitrary data in WebArchives, I've introduced SPI that acts as a hint for us to ignore certain 
323         subresources while unarchiving. This SPI is -[WebResource _shouldIgnoreWhenUnarchiving].
324         
325         * WebView/WebResource.mm: Addd private ivar shouldIgnoreWhenUnarchiving.
326         (-[WebResource _ignoreWhenUnarchiving]): Added.
327         (-[WebResource _shouldIgnoreWhenUnarchiving]): Added.
328         * WebView/WebResourcePrivate.h: Added two methods to private header.
329         * WebView/WebUnarchivingState.m:
330         (-[WebUnarchivingState archivedResourceForURL:]): Check if we should ignore the resource.
331
332 2007-03-15  Mark Rowe  <mrowe@apple.com>
333
334         Reviewed by Antti.
335
336         Fix for <rdar://problem/5065060> ASSERTION FAILURE: newUsername && newPassword
337         when submitting an authentication form without password.
338
339         * WebCoreSupport/WebFrameLoaderClient.mm:
340         (WebFrameLoaderClient::dispatchWillSubmitForm): Don't omit form fields with empty values from the dictionary
341         passed to the delegate.
342
343 2007-03-14  Anders Carlsson  <acarlsson@apple.com>
344
345         Reviewed by Dave Hyatt.
346
347         Don't add the data twice, it's also done by didReceiveData.
348         
349         * WebCoreSupport/WebFrameLoaderClient.mm:
350         (WebFrameLoaderClient::deliverArchivedResources):
351
352 2007-03-14  Anders Carlsson  <acarlsson@apple.com>
353
354         Fix segmentation fault when running layout tests.
355
356         Remove bogus check that that I added on purpose to see how good Geoff is at spotting mistakes when reviewing code.
357         (Turns out he's not that good!)
358         
359         * WebView/WebDocumentLoaderMac.mm:
360         (WebDocumentLoaderMac::increaseLoadCount):
361
362 2007-03-14  Anders Carlsson  <acarlsson@apple.com>
363
364         Reviewed by Geoff.
365
366         http://bugs.webkit.org/show_bug.cgi?id=13076
367         REGRESSION: Multiple loading tabs cause assertion in WebDocumentLoaderMac::decreaseLoadCount(unsigned long)
368
369         Store the identifier set in the document loader since identifiers are per-webview and not global.
370         
371         * WebView/WebDocumentLoaderMac.h:
372         * WebView/WebDocumentLoaderMac.mm:
373         (WebDocumentLoaderMac::WebDocumentLoaderMac):
374         (WebDocumentLoaderMac::attachToFrame):
375         (WebDocumentLoaderMac::increaseLoadCount):
376         (WebDocumentLoaderMac::decreaseLoadCount):
377
378 2007-03-14  David Harrison  <harrison@apple.com>
379
380         Reviewed by Maciej.
381
382         <rdar://problem/5009625> REGRESSION: Aperture 1.5: Can't select entire line of text after correcting a misspelled word
383
384         * WebCoreSupport/WebEditorClient.mm:
385         (WebEditorClient::respondToChangedSelection):
386         * WebCoreSupport/WebFrameBridge.mm:
387         Provide compatibility by not sending WebViewDidChangeSelectionNotification if
388         the app is Aperture and is linked against WebKit 2.0.
389
390 === Safari-5522.4 ===
391
392 2007-03-14  Anders Carlsson  <acarlsson@apple.com>
393
394         Reviewed by Geoff.
395
396         <rdar://problem/5058714>
397         http://bugs.webkit.org/show_bug.cgi?id=13050
398         
399         World leaks seen on Leopard after opening then closing tab (13050)
400
401         Add a hash set to prevent the load count to be increased twice for the same resource.
402         
403         * WebCoreSupport/WebFrameLoaderClient.mm:
404         (WebFrameLoaderClient::dispatchWillSendRequest):
405         (WebFrameLoaderClient::dispatchDidFinishLoading):
406         (WebFrameLoaderClient::dispatchDidFailLoading):
407         * WebView/WebDocumentLoaderMac.h:
408         * WebView/WebDocumentLoaderMac.mm:
409         (loadingResources):
410         (WebDocumentLoaderMac::increaseLoadCount):
411         (WebDocumentLoaderMac::decreaseLoadCount):
412
413 2007-03-14 Adele Peterson  <adele@apple.com>
414
415         Reviewed by Darin.
416
417         Removed _insertTextWithEvent, _insertNewlineWithEvent, and _insertTextWithEvent.
418         Instead, use execCommand and insertText methods on the Editor.
419
420         * WebView/WebHTMLView.mm:
421         (-[WebHTMLView insertTab:]):
422         (-[WebHTMLView insertBacktab:]):
423         (-[WebHTMLView insertNewline:]):
424         (-[WebHTMLView insertLineBreak:]):
425         (-[WebHTMLView insertParagraphSeparator:]):
426         (-[WebHTMLView insertNewlineIgnoringFieldEditor:]):
427         (-[WebHTMLView insertTabIgnoringFieldEditor:]):
428         (-[WebHTMLView yank:]):
429         (-[WebHTMLView yankAndSelect:]):
430         (-[WebHTMLView doCommandBySelector:]):
431         (-[WebHTMLView insertText:]):
432
433 2007-03-14  David Hyatt  <hyatt@apple.com>
434
435         Fixes to ensure that the resource loader's shared buffer can always be used.
436
437         Reviewed by olliej, mjs
438
439         * Misc/WebIconDatabase.mm:
440         (-[WebIconDatabase _convertToWebCoreFormat]):
441         * WebCoreSupport/WebFrameLoaderClient.mm:
442         (WebFrameLoaderClient::deliverArchivedResources):
443
444 2007-03-13  Oliver Hunt  <oliver@apple.com>
445
446         Reviewed by Brady.
447
448         Modify subresourceForURL to take NSString argument 
449         so we can avoid [NSURL absoluteString]
450
451         * WebView/WebDataSource.mm:
452         (-[WebDataSource subresourceForURL:]):
453
454 2007-03-13  Brady Eidson  <beidson@apple.com>
455
456         Rubberstamped by Alice
457
458         Meant to be part of my previous checkin... pruning unused code from WebKit
459
460         * WebView/WebFrame.mm: Removed _canCachePage
461         * WebView/WebFrameInternal.h: Ditto
462
463 2007-03-13  Beth Dakin  <bdakin@apple.com>
464
465         Reviewed by Maciej.
466
467         Fix for <rdar://problem/4277074> 8F32: Help Viewer crashed on 
468         clicking link - KHTMLView::viewportMouseReleaseEvent (12647)
469
470         Re-set the DocumentLoader's frame when loading it from the page 
471         cache before setting the document view.
472
473         * WebCoreSupport/WebFrameLoaderClient.mm:
474         (WebFrameLoaderClient::setDocumentViewFromPageCache):
475
476 2007-03-13  Timothy Hatcher  <timothy@apple.com>
477
478         Reviewed by Geoff.
479
480         <rdar://problem/5057117> Spoof user agent on Yahoo.com with Safari and WebKit as version 4xx
481
482         * Plugins/WebBaseNetscapePluginView.mm:
483         (-[WebBaseNetscapePluginView userAgent]): Stop using the deprecated lossyCString method.
484         * WebCoreSupport/WebFrameBridge.mm: Removed dead code, userAgentForURL: wasn't used.
485         * WebCoreSupport/WebFrameLoaderClient.mm:
486         (WebFrameLoaderClient::userAgent): Call WebView's _userAgentForURL:.
487         * WebView/WebView.mm:
488         (-[WebView _cachedResponseForURL:]): Call userAgentForURL: instead of _userAgent.
489         (-[WebView userAgentForURL:]): Call _userAgentForURL:.
490         (-[WebView _userAgentWithApplicationName:andWebKitVersion:]): New method to construct a UA.
491         (-[WebView _computeUserAgent]): Ractored out into _userAgentWithApplicationName:andWebKitVersion:
492         (-[WebView _userAgentForURL:]): Tail compare for Yahoo.com, and return a UA with an older WebKit version.
493         * WebView/WebViewInternal.h: Declare _userAgentForURL:.
494
495 2007-03-12  David Harrison  <harrison@apple.com>
496
497         Reviewed by Darin.
498
499         <rdar://problem/4743256> ctrl-y key binding (yank) should do nothing when kill ring is empty
500
501         Test updated:
502         * editing/pasteboard/emacs-cntl-y-001.html:
503         
504         * WebView/WebHTMLView.mm:
505         (-[WebHTMLView yank:]):
506         (-[WebHTMLView yankAndSelect:]):
507         Do nothing if the killring is empty.
508
509 2007-03-12  Darin Adler  <darin@apple.com>
510
511         Reviewed by Tim Hatcher.
512
513         - update for the new naming scheme for the Objective-C wrapper-creation
514           functions: _wrapElement: instead of _elementWith:, etc.
515
516         * WebCoreSupport/WebEditorClient.mm:
517         (WebEditorClient::textFieldDidBeginEditing):
518         (WebEditorClient::textFieldDidEndEditing):
519         (WebEditorClient::textDidChangeInTextField):
520         (WebEditorClient::doTextFieldCommandFromEvent):
521         (WebEditorClient::textWillBeDeletedInTextField):
522         (WebEditorClient::textDidChangeInTextArea):
523         * WebCoreSupport/WebFrameLoaderClient.mm:
524         (WebFrameLoaderClient::createPlugin):
525         (WebFrameLoaderClient::createJavaAppletWidget):
526         * WebView/WebFrame.mm: (kit):
527         Use the _wrapElement-style functions.
528
529 2007-03-12  Anders Carlsson  <acarlsson@apple.com>
530
531         Reviewed by Maciej.
532
533         <rdar://problem/5057575> 
534         REGRESSION: Repro Crash in FrameLoader::frame loading about:blank in PLT
535         
536         Always get the web view from the current web frame, since the document loader's frame can have been zeroed out
537         (for example when detaching the document loader).
538         
539         * WebCoreSupport/WebFrameLoaderClient.mm:
540         (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
541         (WebFrameLoaderClient::assignIdentifierToInitialRequest):
542         (WebFrameLoaderClient::dispatchWillSendRequest):
543         (WebFrameLoaderClient::dispatchDidReceiveResponse):
544         (WebFrameLoaderClient::dispatchDidReceiveContentLength):
545         (WebFrameLoaderClient::dispatchDidFinishLoading):
546
547 2007-03-11  Oliver Hunt  <oliver@apple.com>
548
549         Reviewed by Adele.
550         
551         Moved respondToChangedSelection from FrameBridge to EditorClient
552         
553         * WebCoreSupport/WebEditorClient.h:
554         * WebCoreSupport/WebEditorClient.mm:
555         (WebEditorClient::respondToChangedSelection):
556         * WebCoreSupport/WebFrameBridge.mm:
557           Removed respondToChangedSelection from bridge
558
559 2007-03-11  Darin Adler  <darin@apple.com>
560
561         Reviewed by Adele.
562
563         - fix http://bugs.webkit.org/show_bug.cgi?id=12964
564           <rdar://problem/5045717> REGRESSION: crash in -[WebBaseNetscapePluginStream _deliverData]
565           at simpsonsmovie.com (12964)
566
567         * Plugins/WebBaseNetscapePluginStream.m:
568         (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]):
569         At every place we call the plug-in, since it could destroy the stream, get pluginView into a local
570         variable; it will be set to nil if the stream is destroyed.
571         (-[WebBaseNetscapePluginStream _destroyStream]): Added calls to retain/release to handle the case where
572         one of the calls to the plug-in destroys the stream. Added a call to cancelPreviousPerformRequestsWithTarget
573         in case _deliverData has been scheduled but not yet delivered. Also get pluginView into a local variable
574         as mentioned above, and check at strategic points and exit if the stream was already destroyed to avoid
575         multiple calls to NPP_DestroyStream or NPP_URLNotify.
576         (-[WebBaseNetscapePluginStream _deliverData]): Ditto.
577
578 2007-03-10  Geoffrey Garen  <ggaren@apple.com>
579
580         Reviewed by Darin Adler.
581
582         Fixed <rdar://problem/4587763> PAC file: lock inversion between QT and 
583         JSCore causes a hang @ www.panoramas.dk
584         
585         See JavaScriptCore ChangeLog for details.
586
587         Drop the JSLock before making calls through the plug-in API from functions
588         that may have been called by JavaScript.
589         
590         * Plugins/WebBaseNetscapePluginView.mm:
591         (-[WebBaseNetscapePluginView sendEvent:]):
592         (-[WebBaseNetscapePluginView setWindowIfNecessary]):
593         (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
594         (-[WebBaseNetscapePluginView createPluginScriptableObject]):
595         (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
596         (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]):
597         (-[WebBaseNetscapePluginView loadPluginRequest:]):
598         (-[WebBaseNetscapePluginView _printedPluginBitmap]):
599         * Plugins/WebPluginController.mm:
600         (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
601         (-[WebPluginController startAllPlugins]):
602         (-[WebPluginController stopAllPlugins]):
603         (-[WebPluginController addPlugin:]):
604         (-[WebPluginController destroyPlugin:]):
605         (-[WebPluginController destroyAllPlugins]):
606
607 2007-03-10  David Kilzer  <ddkilzer@webkit.org>
608
609         Reviewed by Darin.
610
611         - fix http://bugs.webkit.org/show_bug.cgi?id=9609
612           REGRESSION: Missing image icon needs to be moved back to WebKit
613
614         * WebView/WebHTMLView.mm:
615         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
616         Use WebCore::Image::loadPlatformResource(const char*) to load the missingImage image.
617
618 2007-03-10  Mark Rowe  <mrowe@apple.com>
619
620         Reviewed by John.
621
622         <rdar://problem/5051827> HIWebView handling of kEventControlGetData is broken in 64-bit
623
624         On Leopard the kEventParamControlDataBufferSize event parameter is of type typeByteCount.
625         The 32-bit implementation of GetEventParameter will coerce between integer types and
626         typeByteCount while the 64-bit version will return a failure. As typeByteCount is new
627         in Leopard we must continue using typeSInt32 when building for Tiger.
628
629         * Carbon/HIWebView.m:
630         (HIWebViewEventHandler):
631
632 2007-03-09  Timothy Hatcher  <timothy@apple.com>
633
634         Reviewed by Darin.
635
636         <rdar://problem/4976254> Please get off _NSSoftLinkingGetFrameworkFuncPtr
637
638         Use dlopen and dlsym to access the DCSShowDictionaryServiceWindow function.
639
640         * WebView/WebHTMLView.mm:
641         (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
642
643 2007-03-09  Darin Adler  <darin@apple.com>
644
645         Reviewed by Justin.
646
647         - fix http://bugs.webkit.org/show_bug.cgi?id=8928
648           <rdar://problem/5045708> REPRODUCIBLE ASSERT: Cannot paste HTML into a
649           contenteditable region in an XHTML document (8928)
650
651         * WebView/WebHTMLView.mm:
652         (-[WebHTMLView _hasHTMLDocument]): Added.
653         (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):
654         Don't call AppKit's conversion from the DOM to an attributed string if the document
655         is not an HTML document, to work around an AppKit limitation (Radar 5052390).
656
657 2007-03-09  Darin Adler  <darin@apple.com>
658
659         * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
660
661 2007-03-08  Mark Rowe  <mrowe@apple.com>
662
663         Reviewed by Tim Hatcher.
664
665         <rdar://problem/5051616> Mouse clicks and movement are ignored in HIWebView on 64-bit
666
667         Mouse events are not being handled correctly as GetControlKind is returning an error
668         on 64-bit.  The more modern HIObjectIsOfClass behaves correctly for this use.
669
670         * Carbon/HIWebView.m:
671         (HIWebViewDestructor):
672         (WindowHandler): Use HIObjectIsOfClass in place of GetControlKind.
673         (HIWebViewEventHandler): Don't leak the NSEvent.
674
675 2007-03-08  Bruce Q Hammond  <bruceq@apple.om>
676
677         Reviewed by Darin.
678
679         Fix for http://bugs.webkit.org/show_bug.cgi?id=13009
680         Console spews "CGContextGetType: invalid context" non-stop on web site
681
682         * Plugins/WebBaseNetscapePluginView.mm:
683         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
684         (-[WebBaseNetscapePluginView restorePortState:]):
685
686 2007-03-08  Mark Rowe  <mrowe@apple.com>
687
688         Reviewed by Tim Hatcher.
689
690         <rdar://problem/4561772> HIWebView does not exist for 64-bit
691
692         Update HIWebView and friends to work without QuickDraw.
693
694         Changes are gleaned from the 64-bit support inside HICocoaView.  The main
695         fact of interest are that all Carbon windows must have compositing enabled
696         so the code paths that aren't accessible are #ifdef'd out.  Conveniently
697         these are the exact code paths that make use of QuickDraw.
698
699         There are currently minor event-handling and invalidation issues running as
700         64-bit that are not present in 32-bit.
701
702         * Carbon/CarbonUtils.m:
703         * Carbon/CarbonWindowAdapter.m:
704         * Carbon/CarbonWindowFrame.m:
705         * Carbon/HIViewAdapter.m:
706         (SetViewNeedsDisplay):
707         * Carbon/HIWebView.m:
708         (Draw):
709         (Click):
710         (SyncFrame):
711         (StartUpdateObserver):
712         (StopUpdateObserver):
713         (UpdateObserver):
714         * WebKit.LP64.exp: Removed.
715         * WebKit.xcodeproj/project.pbxproj: Always use WebKit.exp.
716
717 2007-03-08  Timothy Hatcher  <timothy@apple.com>
718
719         Reviewed by John.
720
721         <rdar://problem/4664697> highlighter SPI needs a node parameter to give more context
722
723         Added new methods to the WebHTMLHighlighter protocol that include the DOMNode being painted.
724
725         * WebCoreSupport/WebFrameBridge.mm:
726         (-[WebFrameBridge customHighlightRect:forLine:representedNode:WebCore::]):
727         (-[WebFrameBridge paintCustomHighlight:forBox:onLine:behindText:entireLine:representedNode:WebCore::]):
728         * WebKit.xcodeproj/project.pbxproj:
729         * WebView/WebHTMLViewPrivate.h:
730
731 2007-03-08  Anders Carlsson  <acarlsson@apple.com>
732
733         Try fixing the buildbot build.
734         
735         * Plugins/WebBaseNetscapePluginView.mm:
736         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
737
738 2007-03-07  Anders Carlsson  <acarlsson@apple.com>
739
740         Leopard build fix.
741         
742         * Plugins/WebBaseNetscapePluginView.mm:
743
744 2007-03-07  Bruce Q Hammond  <bruceq@apple.com>
745
746         Reviewed by Darin.
747
748         - fix http://bugs.webkit.org/show_bug.cgi?id=12515
749           Plug-ins that draw through the Quickdraw interface fail in a CGBitmapContex.
750           <rdar://problem/4975122>
751
752         This fixes a problem with Netscape-style Plug-ins which draw through the Quickdraw APIs
753         being unable to render into offscreen bitmap contexts.
754
755         This patches both saveAndSetNewPortStateForUpdate: and restorePortState:
756         These methods now check the current context and see if appropriate setup/cleanup needs to be done
757         for offscreen rendering.
758
759         * Plugins/WebBaseNetscapePluginView.mm:
760         (QDPixelFormatFromCGBitmapInfo):
761         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
762         (-[WebBaseNetscapePluginView restorePortState:]):
763
764 2007-03-07  Anders Carlsson  <acarlsson@apple.com>
765
766         Reviewed by Darin.
767
768         Use HardRetain/HardRelease.
769         
770         * WebView/WebDocumentLoaderMac.mm:
771         (WebDocumentLoaderMac::setDataSource):
772         (WebDocumentLoaderMac::attachToFrame):
773         (WebDocumentLoaderMac::detachFromFrame):
774         (WebDocumentLoaderMac::increaseLoadCount):
775         (WebDocumentLoaderMac::decreaseLoadCount):
776
777 2007-03-07  Anders Carlsson  <acarlsson@apple.com>
778
779         Reviewed by Maciej.
780
781         <rdar://problem/4961259> 
782         REGRESSION: Bumper Car 2.1.1 - Crash at WebCore::FrameLoader::receivedMainResourceError when encountering a invalid URL address
783         
784         (The crash was already fixed, this actually makes Bumper Car load the error page correctly.)
785         
786         This adds a "load counter" to the document loader and keeps the data source retained for as long as something is loading. 
787         
788         * WebCoreSupport/WebFrameLoaderClient.mm:
789         (WebFrameLoaderClient::dispatchWillSendRequest):
790         Increase the load counter.
791         
792         (WebFrameLoaderClient::dispatchDidFinishLoading):
793         (WebFrameLoaderClient::dispatchDidFailLoading):
794         Decrease the load counter,
795         
796         * WebView/WebDocumentLoaderMac.h:
797         * WebView/WebDocumentLoaderMac.mm:
798         (WebDocumentLoaderMac::WebDocumentLoaderMac):
799         
800         (WebDocumentLoaderMac::attachToFrame):
801         If the document loader has been detached, make sure to retain its data source here.
802         
803         (WebDocumentLoaderMac::detachFromFrame):
804         Release the data source.
805         
806         (WebDocumentLoaderMac::increaseLoadCount):
807         Retain the data source if load count was 0.
808         
809         (WebDocumentLoaderMac::decreaseLoadCount):
810         Release the data source if load count becomes 0
811
812 2007-03-07  Adele Peterson  <adele@apple.com>
813
814         Reviewed by Darin.
815
816         WebKit part of fix for:
817         http://bugs.webkit.org/show_bug.cgi?id=10871
818         http://bugs.webkit.org/show_bug.cgi?id=12677
819         <rdar://problem/4823129> REGRESSION: IME key events different in nightly
820         <rdar://problem/4759563> REGRESSION: Return key is always sent when you confirm a clause in kotoeri
821
822         * WebView/WebHTMLView.mm:
823         (-[WebHTMLView _interceptEditingKeyEvent: shouldSaveCommand:]): Added shouldSaveCommand field to WebHTMLViewInterpretKeyEventsParameters.
824           When shouldSaveCommand is true, we call interpretKeyEvents and in doCommandBySelector and insertText, we just save the information without performing any action.
825           When shouldSaveCommand is false, we used the saved information and call doCommandBySelector and insertText directly.
826           If there's no saved command data in the KeyboardEvent, call interpretKeyEvents, and honor the shouldSaveCommand argument.  This allows repeating keypress events
827           to function normally.
828         (-[WebHTMLView doCommandBySelector:]): If the WebHTMLViewInterpretKeyEventsParameters shouldSaveCommand field is set, then
829           just save the selector information in the KeyboardEvent, and don't perform the action.
830         (-[WebHTMLView insertText:]): ditto. 
831           insertText can be called from an input method or from normal key event processing
832           If its from an input method, then we should go ahead and insert the text now.  
833           The only way we know if its from an input method is to check hasMarkedText.  There might be a better way to do this.
834
835         * WebView/WebHTMLViewInternal.h: Added shouldSaveCommand argument.
836         * WebView/WebViewInternal.h: ditto.
837
838         * WebCoreSupport/WebEditorClient.h:
839         * WebCoreSupport/WebEditorClient.mm:
840         (WebEditorClient::handleKeypress): Changed handleKeyPress to handleKeypress.  Call _interceptEditingKeyEvent with shouldSaveCommand:NO.
841         (WebEditorClient::handleInputMethodKeypress):  Call _interceptEditingKeyEvent with shouldSaveCommand:YES.
842
843 2007-03-07  Anders Carlsson  <acarlsson@apple.com>
844
845         Reviewed by Brady.
846
847         Update to match WebCore.
848         
849         * Plugins/WebNetscapePluginStream.mm:
850         (-[WebNetscapePluginStream start]):
851
852 2007-03-07  Jim Correia  <jim.correia@pobox.com>
853
854         Reviewed by Darin.
855
856         - WebCore part of fix for http://bugs.webkit.org/show_bug.cgi?id=12463
857           WebArchiver - attempt to insert nil exception when archive empty iframe
858
859         When dealing with an iframe element with no src attribute, the element contains
860         a src attribute in the DOM with a URL of "about:blank" and some HTML to implement
861         the blank page.  In the original page source, however, the iframe element does
862         not include a src attribute, which caused a nil archive to be returned for the
863         childFrameArchive and thus caused the bug.  The fix is a simple nil check.
864
865         Test: webarchive/archive-empty-frame-source.html
866
867         * WebView/WebArchiver.mm:
868         (+ (NSArray *)_subframeArchivesForFrame:(WebFrame *)frame): Don't add childFrameArchive 
869         to the subframeArchives array if it is nil.
870
871 2007-03-06  John Sullivan  <sullivan@apple.com>
872
873         Reviewed by Darin
874         
875         Made WebAuthenticationHandler.h SPI so Safari can call it directly.
876
877         * WebKit.exp:
878         added .objc_class_name_WebPanelAuthenticationHandler
879         * WebKit.xcodeproj/project.pbxproj:
880         changed status of WebAuthenticationHandler.h from "project" to "private"
881
882 2007-03-06  Kevin McCullough  <kmccullough@apple.com>
883
884         Reviewed by Darin.
885
886         - Rename a function to clarify its purpose.
887
888         * WebView/WebView.mm:
889         (+[WebView registerURLSchemeAsLocal:]):
890         * WebView/WebViewPrivate.h:
891
892 2007-03-06  Anders Carlsson  <acarlsson@apple.com>
893
894         Reviewed by Adam.
895
896         Update for WebCore changes.
897         
898         * WebCoreSupport/WebFrameLoaderClient.h:
899         * WebCoreSupport/WebFrameLoaderClient.mm:
900         (WebFrameLoaderClient::userAgent):
901
902 2007-03-05  Anders Carlsson  <acarlsson@apple.com>
903
904         Reviewed by Adam, Darin.
905  
906         <rdar://problem/5025212>
907         In Mail, a crash occurs at WebCore::Frame::tree() when clicking on embedded flash object
908
909         * Plugins/WebBaseNetscapePluginView.mm:
910         (-[WebBaseNetscapePluginView loadPluginRequest:]):
911         Handle the case where the web view returned from the delegate method is null. Also, send out an error notification
912         in that case so we can catch it.
913
914 2007-03-05  John Sullivan  <sullivan@apple.com>
915
916         Reviewed by Darin and Kevin D
917
918         - fixed <rdar://problem/5038087> Header and footer on printed page are too large after certain steps
919
920         * WebView/WebView.mm:
921         (-[WebView _adjustPrintingMarginsForHeaderAndFooter]):
922         This method was modifying the margins in the NSPrintInfo object without any sort of check whether
923         this had already been done. In some cases this can be called multiple times with the same 
924         NSPrintInfo, so now we stash information in the NSPrintInfo's dictionary such that we always
925         start with a fresh copy of the original margins.
926
927 2007-03-02  Kevin McCullough  <kmccullough@apple.com>
928
929         Reviewed by Geoff.
930
931         - rdar://problem/4922454
932         - This fixes a security issue by making remote referrers not able to access local
933         resources, unless they register their schemes to be treated as local. The result is
934         that those schemes can access local resources and cannot be accessed by remote
935         referrers.
936         Because this behavior is new a link-on-or-after check is made to determine if the
937         app should use the older, less safe, behavior.
938
939         * Misc/WebKitVersionChecks.h: added linked-on-or-after check
940         * Misc/WebNSAttributedStringExtras.mm: Moved functionalit into the base class.
941         (fileWrapperForElement):
942         * Plugins/WebNetscapePluginStream.mm: uses new canLoad functions
943         * Plugins/WebPluginContainerCheck.mm: uses new canLoad functions
944         (-[WebPluginContainerCheck _isForbiddenFileLoad]):
945         * WebView/WebView.mm: make linked-on-or-after check and cache value, exposes SPI
946         for registering a scheme as local. 
947         (-[WebView _commonInitializationWithFrameName:groupName:]):
948         (+[WebView registerSchemeAsLocal:]):
949         * WebView/WebViewPrivate.h: exposes SPI for registering a scheme as local.
950
951 2007-03-01  Justin Garcia  <justin.garcia@apple.com>
952
953         Reviewed by harrison
954         
955         <rdar://problem/4838199>
956         Integrate Mail and WebKit paste operations
957         
958         Provide subresources used to create the fragment as a
959         convenience.
960
961         * WebView/WebHTMLView.mm:
962         (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:chosePlainText:]):
963         Update the calls to the changed method.
964         (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):
965         Give the caller the subresources in the WebArchive and RTF cases.
966         * WebView/WebHTMLViewPrivate.h:
967
968 2007-02-28  Oliver Hunt  <oliver@apple.com>
969
970         Reviewed by Maciej.
971
972         Fixes <rdar://problem/5012009>
973         
974         When looking for a requested resource we should also check
975         the set of manually added subresources if WebCore can't find it. 
976
977         * WebView/WebDataSource.mm:
978         (-[WebDataSource subresourceForURL:]):
979
980 2007-02-28  Brady Eidson  <beidson@apple.com>
981
982         Reviewed by Beth
983
984         Start using the Thread Safety Check implemented in WebCore for the DOM bindings in the rest of
985         the WebKit API instead of the ASSERT_MAIN_THREAD() hack
986
987         * History/WebBackForwardList.mm:
988         (-[WebBackForwardList initWithWebCoreBackForwardList:]):
989         (-[WebBackForwardList init]):
990         (-[WebBackForwardList dealloc]):
991         (-[WebBackForwardList finalize]):
992         * History/WebHistoryItem.mm:
993         (-[WebHistoryItem initWithURLString:title:lastVisitedTimeInterval:]):
994         (-[WebHistoryItem dealloc]):
995         (-[WebHistoryItem finalize]):
996         (-[WebHistoryItem copyWithZone:]):
997         (-[WebHistoryItem initWithWebCoreHistoryItem:]):
998         * Misc/WebIconDatabase.mm:
999         (-[WebIconDatabase init]):
1000
1001 2007-02-28  Adele Peterson  <adele@apple.com>
1002
1003         Reviewed by Beth.
1004
1005         Fix for <rdar://problem/4887423> REGRESSION: search results popup menu strings are not localized
1006         and <rdar://problem/3517227> accessibility-related strings in WebCore are not localized
1007
1008         * WebCoreSupport/WebViewFactory.mm:
1009         (-[WebViewFactory searchMenuNoRecentSearchesText]):
1010         (-[WebViewFactory searchMenuRecentSearchesText]):
1011         (-[WebViewFactory searchMenuClearRecentSearchesText]):
1012         (-[WebViewFactory AXWebAreaText]):
1013         (-[WebViewFactory AXLinkText]):
1014         (-[WebViewFactory AXListMarkerText]):
1015         (-[WebViewFactory AXImageMapText]):
1016         (-[WebViewFactory AXHeadingText]):
1017
1018 2007-02-28  Mark Rowe  <mrowe@apple.com>
1019
1020         Reviewed by Maciej.
1021
1022         <rdar://problem/5028473> WebKit allocates a huge number of NSCalendarDates while loading history file
1023
1024         * History/WebHistory.mm:
1025         (-[WebHistoryPrivate insertItem:atDateIndex:]): Use lastVisitedTimeInterval rather than _lastVisitedDate to avoid allocating NSCalendarDates.
1026
1027 2007-02-28  Mark Rowe  <mrowe@apple.com>
1028
1029         Reviewed by Tim Hatcher.
1030
1031         <rdar://problem/4985524> Problem with Blot and ToT WebKit (decoding WebCoreScrollView)
1032
1033         References to WebCoreScrollView as a subview of a WebHTMLView may be present in some NIB
1034         files, so NSUnarchiver must be still able to look up the WebCoreScrollView class.
1035
1036         * WebKit.exp: Export WebCoreScrollView symbol.
1037         * WebView/WebHTMLView.mm: Add empty WebCoreScrollView class.
1038
1039 2007-02-27  Adam Roben  <aroben@apple.com>
1040
1041         Reviewed by Beth.
1042
1043         Fix <rdar://problem/5011905> REGRESSION: "Open Link" contextual menu
1044         item appears twice
1045
1046         * WebCoreSupport/WebContextMenuClient.mm:
1047         (fixMenusToSendToOldClients): Remove the "Open Link" item from the
1048         default menu items array before sending it off to Tiger Mail.
1049         (WebContextMenuClient::getCustomMenuFromDefaultItems): Set the
1050         representedObject on every NSMenuItem to match our old (correct) API
1051         behavior.
1052
1053 2007-02-27  Mitz Pettel  <mitz@webkit.org>
1054
1055         Reviewed by Darin.
1056
1057         - http://bugs.webkit.org/show_bug.cgi?id=12906
1058           REGRESSION: Canvas is pixelated when the page is opened in a background tab
1059
1060         * WebCoreSupport/WebChromeClient.mm:
1061         (WebChromeClient::scaleFactor): If the view is not in a window, use the main
1062         screen's scale factor as a best guess.
1063
1064 2007-02-26  John Sullivan  <sullivan@apple.com>
1065
1066         Reviewed by Darin and Geoff
1067
1068         * WebView/WebHTMLView.mm:
1069         (coreGraphicsScreenPointForAppKitScreenPoint):
1070         This method was copied from WebBrowser, and it was wrong. Fixed it. This only
1071         affects the Dictionary pop-up panel.
1072
1073 2007-02-26  David Hyatt  <hyatt@apple.com>
1074
1075         Update web inspector to account for border-fit.
1076
1077         Reviewed by darin
1078
1079         * WebInspector/webInspector/inspector.js:
1080
1081 2007-02-26  Geoffrey Garen  <ggaren@apple.com>
1082
1083         Reviewed by Darin Adler.
1084         
1085         Re-arranged things to put deprecated methods at the bottom.
1086
1087         * Misc/WebCoreStatistics.h:
1088         * Misc/WebCoreStatistics.mm:
1089         (+[WebCoreStatistics javaScriptNoGCAllowedObjectsCount]):
1090         (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
1091         (+[WebCoreStatistics javaScriptRootObjectClasses]):
1092         * WebKit.xcodeproj/project.pbxproj:
1093
1094 2007-02-26  Maciej Stachowiak  <mjs@apple.com>
1095
1096         Rubber stamped by Mitz.
1097         
1098         - fix layout tests by fixing discrepancy in feature macros.
1099
1100         * WebInspector/WebInspector.m:
1101         (-[WebInspector _highlightNode:]):
1102         * WebKit.xcodeproj/project.pbxproj:
1103
1104 2007-02-23  Mitz Pettel  <mitz@webkit.org>
1105
1106         Reviewed by Maciej.
1107
1108         - fix http://bugs.webkit.org/show_bug.cgi?id=11573
1109           REGRESSION: pressing option-left arrow while in suggestion popup moves the insertion point to the left
1110
1111         * WebView/WebHTMLView.mm:
1112         (-[WebTextCompleteController endRevertingChange:moveLeft:]):
1113
1114 2007-02-23  Timothy Hatcher  <timothy@apple.com>
1115
1116         Reviewed by Brady.
1117
1118         <rdar://problem/5016395> _recursive_pauseNullEventsForAllNetscapePlugins still gone
1119
1120         * WebView/WebFrameInternal.h: Remove _recursive_pauseNullEventsForAllNetscapePlugins
1121         * WebView/WebFramePrivate.h: Add _recursive_pauseNullEventsForAllNetscapePlugins
1122         * WebView/WebFrame.mm: More _recursive_pauseNullEventsForAllNetscapePlugins
1123
1124 2007-02-22  Adele Peterson  <adele@apple.com>
1125
1126         Reviewed by John.
1127
1128         Updating this image to match the one in WebCore.
1129
1130         * WebKit.vcproj/textAreaResizeCorner.png:
1131
1132 2007-02-22  Beth Dakin  <bdakin@apple.com>
1133
1134         Reviewed by Adam.
1135
1136         Fix for http://bugs.webkit.org/show_bug.cgi?id=12399 REGRESSION: 
1137         Unable to prevent default context menu from appearing. <rdar://
1138         problem/5017416>
1139
1140         * WebView/WebHTMLView.mm:
1141         (-[WebHTMLView menuForEvent:]): Clear the controller's context menu 
1142         before propagating a new context menu event through the DOM.
1143
1144 2007-02-22  John Sullivan  <sullivan@apple.com>
1145
1146         Reviewed by Darin
1147         
1148         Removed some unused keyView-related code that I happened to run across.
1149         Replacement code is now in WebChromeClient.
1150
1151         * WebCoreSupport/WebFrameBridge.h:
1152         * WebCoreSupport/WebFrameBridge.mm:
1153         removed unused stuff
1154
1155 2007-02-22  Mitz Pettel  <mitz@webkit.org>
1156
1157         Reviewed by Maciej.
1158
1159         - fix http://bugs.webkit.org/show_bug.cgi?id=12804
1160           REGRESSION (r19043-r19063): suggestion popup doesn't work after pressing Option+Esc
1161
1162         This patch also fixes a bug where using the arrow keys while
1163         the suggestion popup is open moves the caret instead of changing the
1164         selection in the popup (for up/down) or accepting the selection and
1165         closing the popup (for left/right).
1166
1167         * WebView/WebHTMLView.mm:
1168         (-[WebHTMLView keyDown:]): Changed to close the popup only if it was open
1169         before the current event, so that the Option-Esc that opens the popup will
1170         not close it immediately.
1171         (-[WebHTMLView _interceptEditingKeyEvent:]): Give the completion popup a
1172         chance to intercept keydown events.
1173         (-[WebTextCompleteController popupWindowIsOpen]): Added. Returns whether the
1174         suggestion popup is open.
1175
1176 2007-02-22  Mitz Pettel  <mitz@webkit.org>
1177
1178         Reviewed by Mark (age 21).
1179
1180         - fix http://bugs.webkit.org/show_bug.cgi?id=12805
1181           REGRESSION: suggestion popup has a disabled scroll bar
1182
1183         * WebView/WebHTMLView.mm:
1184         (-[WebTextCompleteController _buildUI]): Uncommented the call to the NSWindow
1185         SPI that forces the scroll bar to look active. Also replaced a call to
1186         the deprecated NSTableView method setAutoresizesAllColumnsToFit: with
1187         the new method setColumnAutoresizingStyle: to eliminate console spew.
1188
1189 2007-02-20  Beth Dakin  <bdakin@apple.com>
1190
1191         Reviewed by Maciej.
1192
1193         WebKit changes needed to implement writeImage() in WebCore's 
1194         Pasteboard class.
1195
1196         * Misc/WebKitNSStringExtras.m: Call into WebCore for these 
1197         implementations.
1198         (-[NSString _webkit_hasCaseInsensitiveSuffix:]):
1199         (-[NSString _webkit_hasCaseInsensitiveSubstring:]):
1200         (-[NSString _webkit_filenameByFixingIllegalCharacters]):
1201         * Misc/WebNSURLExtras.m: Same.
1202         (-[NSURL _webkit_suggestedFilenameWithMIMEType:]):
1203         * WebCoreSupport/WebContextMenuClient.h: Remove 
1204         copyImageToClipboard()
1205         * WebCoreSupport/WebContextMenuClient.mm:
1206         * WebCoreSupport/WebSystemInterface.m: Expose 
1207         GetExtensionsForMIMEType and GetPreferredExtensionForMIMEType to 
1208         WebCore.
1209         (InitWebCoreSystemInterface):
1210         * WebCoreSupport/WebViewFactory.mm: New localized string for 
1211         WebCore. 
1212         (-[WebViewFactory copyImageUnknownFileLabel]):
1213
1214 2007-02-20  Adam Roben  <aroben@apple.com>
1215
1216         Reviewed by Darin and Anders.
1217
1218         Update WebKit for WebCore fix for <rdar://problem/4736215> Make
1219         WebCoreStringTruncator use WebCore types.
1220
1221         * Misc/WebStringTruncator.m:
1222         (defaultMenuFont): Moved from WebCoreStringTruncator.mm.
1223         (core): Added.
1224         (+[WebStringTruncator centerTruncateString:toWidth:]):
1225         (+[WebStringTruncator centerTruncateString:toWidth:withFont:]):
1226         (+[WebStringTruncator rightTruncateString:toWidth:withFont:]):
1227         (+[WebStringTruncator widthOfString:font:]):
1228         * WebKit.xcodeproj/project.pbxproj: Changed WebStringTruncator to ObjC++.
1229
1230 2007-02-20  Timothy Hatcher  <timothy@apple.com>
1231
1232         Reviewed by John.
1233
1234         Fixes the version number returned when using a CFBundleVersion of "420+".
1235
1236         * WebView/WebView.mm:
1237         (-[WebView _userVisibleBundleVersionFromFullVersion:]): Check the length up to the first
1238         non-decimal digit, so this works with versions that have "." and "+".
1239
1240 2007-02-20  John Sullivan  <sullivan@apple.com>
1241
1242         Reviewed by Kevin Decker
1243         
1244         - fixed <rdar://problem/4989344> REGRESSION: After clicking on page, Find
1245         won't find anything if all hits are before the clicked point
1246         
1247         This was caused by a mismatch between WebCore's search code's notion of "selection" and
1248         WebView's search code's notion of "selection". WebCore's search code was starting 
1249         just before or just after the "selection", which included collapsed, zero-length
1250         selections. WebKit's search code was only considering non-zero-length selections,
1251         and would not search all of the content when there was a zero-length selection.
1252         The fix was to make WebKit ignore the selection. This has a side effect of increasing 
1253         the amount of redundantly-searched content in the case where no matches are found. To
1254         compensate for that, I special-cased the most common case of WebViews with a single frame, 
1255         to avoid ever searching redundantly in those.
1256
1257         * WebView/WebView.mm:
1258         (-[WebView searchFor:direction:caseSensitive:wrap:startInSelection:]):
1259         remove startHasSelection ivar; special-case WebViews with only one frame; clarify the
1260         code that leads to redundant searching with comments.
1261
1262 2007-02-20  Timothy Hatcher  <timothy@apple.com>
1263
1264         Reviewed by Darin.
1265
1266         <rdar://problem/4900579> WebKit -finalize methods are not thread-safe; design change needed
1267
1268         Call WebCoreObjCFinalizeOnMainThread from the initialize method of all the classes
1269         that have a finalizer that needs called on the main thread. Assert in finalize that we
1270         are on the main thread.
1271
1272         * Carbon/CarbonWindowAdapter.m:
1273         (+[CarbonWindowAdapter initialize]):
1274         (-[CarbonWindowAdapter finalize]):
1275         * History/WebBackForwardList.mm:
1276         (+[WebBackForwardList initialize]):
1277         (-[WebBackForwardList finalize]):
1278         * History/WebHistoryItem.mm:
1279         (+[WebHistoryItem initialize]):
1280         * Misc/WebElementDictionary.mm:
1281         (+[WebElementDictionary initialize]):
1282         (-[WebElementDictionary finalize]):
1283         * Plugins/WebBaseNetscapePluginStream.m:
1284         (+[WebBaseNetscapePluginStream initialize]):
1285         (-[WebBaseNetscapePluginStream finalize]):
1286         * Plugins/WebBaseNetscapePluginView.mm:
1287         (+[WebBaseNetscapePluginView initialize]):
1288         (-[WebBaseNetscapePluginView finalize]):
1289         * Plugins/WebBasePluginPackage.m:
1290         (+[WebBasePluginPackage initialize]):
1291         (-[WebBasePluginPackage finalize]):
1292         * Plugins/WebNetscapePluginStream.mm:
1293         (-[WebNetscapePluginStream finalize]):
1294         * WebCoreSupport/WebEditorClient.mm:
1295         (+[WebEditCommand initialize]):
1296         (-[WebEditCommand finalize]):
1297         * WebCoreSupport/WebFrameBridge.mm:
1298         (+[WebFrameBridge initialize]):
1299         (-[WebFrameBridge finalize]):
1300         * WebCoreSupport/WebFrameLoaderClient.mm:
1301         (+[WebFramePolicyListener initialize]):
1302         (-[WebFramePolicyListener finalize]):
1303         * WebView/WebHTMLView.mm:
1304         (+[WebHTMLView initialize]):
1305         (-[WebHTMLView finalize]):
1306         * WebView/WebView.mm:
1307         (+[WebViewPrivate initialize]):
1308         (-[WebViewPrivate finalize]):
1309
1310 2007-02-20  Justin Garcia  <justin.garcia@apple.com>
1311
1312         Reviewed by darin
1313         
1314         <rdar://problem/4838199>
1315         Integrate Mail and WebKit paste operations
1316         
1317         Mail overrides paste: because it has different
1318         preferred pasteboard types, but it should use our
1319         fragment creation code.
1320
1321         * WebView/WebHTMLView.mm:
1322         (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:chosePlainText:]):
1323         Moved fragment creation code into a new method.
1324         (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:]):
1325         Moved fragment creation code here.
1326         * WebView/WebHTMLViewPrivate.h: Exposed 
1327         _documentFragmentFromPasteboard:forType:inContext: as SPI.
1328
1329 2007-02-20  John Sullivan  <sullivan@apple.com>
1330
1331         Reviewed by Tim Hatcher
1332
1333         * Misc/WebKitNSStringExtras.h:
1334         * Misc/WebKitNSStringExtras.m:
1335         removed _webkit_userVisibleBundleVersionFromFullVersion; we decided to do this without
1336         adding SPI for it.
1337
1338         * WebView/WebView.mm:
1339         (-[WebView _userVisibleBundleVersionFromFullVersion:]):
1340         new method, moved here from WebKitNSStringExtras, and is now a WebView method rather than
1341         an NSString method
1342         (-[WebView _computeUserAgent]):
1343         updated for method signature change
1344
1345 2007-02-20  Timothy Hatcher  <timothy@apple.com>
1346
1347         Reviewed by John.
1348
1349         * Misc/WebKitNSStringExtras.h: Added _webkit_userVisibleBundleVersionFromFullVersion.
1350         * Misc/WebKitNSStringExtras.m:
1351         (-[NSString _webkit_userVisibleBundleVersionFromFullVersion]): If the version is 4 digits long or longer,
1352         then the first digit represents the version of the OS. Our user agent string should not
1353         include this first digit, so strip it off and report the rest as the version.
1354         * WebView/WebView.mm:
1355         (-[WebView _computeUserAgent]): Call _webkit_userVisibleBundleVersionFromFullVersion on the CFBundleVersion.
1356
1357 2007-02-20  Darin Adler  <darin@apple.com>
1358
1359         Reviewed by Anders.
1360
1361         * Plugins/WebPluginController.mm: (-[WebPluginController pluginView:receivedResponse:]):
1362         Call cancelMainResourceLoad on the document loader instead of the frame loader.
1363
1364 2007-02-20  Anders Carlsson  <acarlsson@apple.com>
1365
1366         Reviewed by Mitz.
1367
1368         <rdar://problem/5009627> REGRESSION: Repro overrelease of WebView in failed load, seen in DumpRenderTree
1369         
1370         * WebView/WebView.mm:
1371         (-[WebView _removeObjectForIdentifier:]):
1372         Return early if the identifier can't be found in the map.
1373
1374 2007-02-19  Timothy Hatcher  <timothy@apple.com>
1375
1376         Reviewed by Darin Adler.
1377
1378         <rdar://problem/4841078> Remove the Mail.app editable link clicking behavior workaround when it is no longer needed
1379
1380         * WebKit.xcodeproj/project.pbxproj:
1381         * WebView/WebView.mm:
1382         (-[WebView setPreferences:]):
1383
1384 2007-02-19  Anders Carlsson  <acarlsson@apple.com>
1385
1386         Reviewed by Adam.
1387
1388         <rdar://problem/4868242>
1389         http://bugs.webkit.org/show_bug.cgi?id=12670
1390         REGRESSION: Many 3rd Party Apps crash in WebCore::DocumentLoader::frameLoader() (12670)
1391         
1392         Bring back the semantic we had that a web view should be retained for as long as something is loading. Use the identifier
1393         to object hash map for this.
1394
1395         * WebView/WebView.mm:
1396         (-[WebView _addObject:forIdentifier:]):
1397         (-[WebView _removeObjectForIdentifier:]):
1398
1399 2007-02-18  Brady Eidson  <beidson@apple.com>
1400
1401         Reviewed by Oliver
1402
1403         <rdar://problem/4985321> - Can't edit templates for Web Gallery/Web Page Export in Aperture
1404
1405         * Misc/WebKitVersionChecks.h: Add a #define for this APERTURE quirk
1406         * WebView/WebView.mm:
1407         (-[WebView _shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:]):
1408          If the current app is Aperture and it was linked against Tiger WebKit, always allow selection change
1409
1410 2007-02-17  Lars Knoll <lars@trolltech.com>
1411
1412         Reviewed by Maciej.
1413
1414         Additional coding by Maciej, additional review by Oliver.
1415
1416         Added implementations for the new callbacks in EditorClient
1417         and ChromeClient (basically moved from WebFrameBridge).
1418         Cleaned up some code paths that are not called anymore
1419         and done fully inside WebCore now.
1420
1421         * DefaultDelegates/WebDefaultContextMenuDelegate.mm:
1422         * Misc/WebElementDictionary.mm:
1423         * Misc/WebNSAttributedStringExtras.mm:
1424         * Plugins/WebBaseNetscapePluginView.mm:
1425         (-[WebBaseNetscapePluginView getVariable:value:]):
1426         * Plugins/WebNetscapePluginEmbeddedView.mm:
1427         * Plugins/WebNetscapePluginStream.mm:
1428         * Plugins/WebPluginContainerCheck.mm:
1429         * WebCoreSupport/WebChromeClient.h:
1430         * WebCoreSupport/WebChromeClient.mm:
1431         (WebChromeClient::shouldInterruptJavaScript):
1432         * WebCoreSupport/WebEditorClient.h:
1433         * WebCoreSupport/WebEditorClient.mm:
1434         (WebEditorClient::shouldChangeSelectedRange):
1435         * WebCoreSupport/WebFrameBridge.mm:
1436         (-[WebFrameBridge finishInitializingWithPage:frameName:frameView:ownerElement:]):
1437         (-[WebFrameBridge fini]):
1438         * WebCoreSupport/WebFrameLoaderClient.mm:
1439         * WebView/WebArchiver.mm:
1440         * WebView/WebFrame.mm:
1441         (core):
1442         (kit):
1443         (-[WebFrame _updateBackground]):
1444         * WebView/WebFrameInternal.h:
1445         * WebView/WebFrameView.mm:
1446         * WebView/WebHTMLRepresentation.mm:
1447         * WebView/WebHTMLView.mm:
1448         (-[WebHTMLView _updateMouseoverWithEvent:]):
1449         (-[WebHTMLView _isEditable]):
1450         (-[WebHTMLView validateUserInterfaceItem:]):
1451         (-[WebHTMLView maintainsInactiveSelection]):
1452         (-[WebHTMLView scrollWheel:]):
1453         (-[WebHTMLView acceptsFirstMouse:]):
1454         (-[WebHTMLView shouldDelayWindowOrderingForEvent:]):
1455         (-[WebHTMLView cut:]):
1456         (-[WebHTMLView paste:]):
1457         (-[WebHTMLView selectedAttributedString]):
1458         * WebView/WebScriptDebugDelegate.mm:
1459         * WebView/WebView.mm:
1460         (-[WebView _dashboardRegions]):
1461         (-[WebView setProhibitsMainFrameScrolling:]):
1462         (-[WebView _setInViewSourceMode:]):
1463         (-[WebView _inViewSourceMode]):
1464         (-[WebView shouldClose]):
1465         (-[WebView setEditable:]):
1466
1467 2007-02-18  Oliver Hunt  <oliver@apple.com>
1468
1469         Reviewed by Adam.
1470
1471         Moving the drag initiation logic to WebCore.
1472         The redundant code in webkit will be moved out in a later patch.
1473
1474         * WebCoreSupport/WebDragClient.h:
1475         * WebCoreSupport/WebDragClient.mm:
1476         (getTopHTMLView):
1477           Helper function
1478         (WebDragClient::willPerformDragSourceAction):
1479         (WebDragClient::startDrag):
1480         (WebDragClient::createDragImageForLink):
1481           Implemented new DragClient methods
1482         (WebDragClient::declareAndWriteDragImage):
1483           Helper function for the Mac to allow new drag and drop
1484           code to match behaviour
1485           
1486         * WebView/WebHTMLView.mm:
1487         (-[WebHTMLView _dragImageForURL:withLabel:]):
1488         (-[WebHTMLView _dragImageForLinkElement:]):
1489           Refactoring old _dragImageForLinkElement function so that 
1490           the link drag image can be created with just a URL and label, 
1491           rather than requiring the original element
1492         (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]):
1493           Removed logic that is no longer necessary                 
1494         (-[WebHTMLView _mouseDownEvent]):
1495           The WebDragClient may need the original mouseDownEvent of a drag when initiating
1496           a drag
1497         * WebView/WebHTMLViewInternal.h:
1498           Declaring _mouseDownEvent
1499
1500         * WebView/WebHTMLViewPrivate.h:
1501           Declaring _dragImageForURL
1502
1503 2007-02-16  John Sullivan  <sullivan@apple.com>
1504
1505         Reviewed by Tim Hatcher
1506
1507         - fixed <rdar://problem/4811446> "Check Grammar" checkbox in Spelling+Grammar window doesn't 
1508         live update with menu change in WebKit
1509
1510         * WebView/WebView.mm:
1511         (-[WebView setGrammarCheckingEnabled:]):
1512         Use sekrit AppKit knowledge to tell NSSpellChecker about the change, since there's no API
1513         for this yet. Also restructured a little to avoid extra work when the value hasn't changed.
1514
1515 2007-02-15  Brady Eidson  <beidson@apple.com>
1516
1517         Reviewed by Adam
1518
1519         Save scroll state for back/forward navigation in FrameLoader, not the client
1520
1521         * WebCoreSupport/WebFrameLoaderClient.h: Renamed the save/restore methods
1522         * WebCoreSupport/WebFrameLoaderClient.mm:
1523         (WebFrameLoaderClient::saveViewStateToItem): Save viewstate only
1524         (WebFrameLoaderClient::restoreViewState): Restore viewstate only
1525
1526 2007-02-14  Alexey Proskuryakov  <ap@webkit.org>
1527
1528         Reviewed by Darin.
1529
1530         http://bugs.webkit.org/show_bug.cgi?id=12643
1531         NPN_Status is using latin-1 encoding for the message instead of UTF-8
1532
1533         * Plugins/WebBaseNetscapePluginView.mm:
1534         (-[WebBaseNetscapePluginView status:]): Check for possible conversion failure.
1535
1536 2007-02-13  Oliver Hunt  <oliver@apple.com>
1537
1538         Reviewed by John.
1539
1540         Modify entry point ASSERTs for dragging functions to allow for the case
1541         where a load has occurred mid-drag.  The load may detach the HTMLView 
1542         from the WebView so it is no longer possible to check _isTopHTMLView.
1543
1544         The assertion changes match that of revision 14897 which fixed the 
1545         more common case ([WebHTMLView draggedImage:endedAt:operation:])
1546
1547         It's also necessary to check for a null Page now prior to accessing 
1548         the DragController, which is necessary in all of these methods.
1549
1550         See rdar://problem/4994870
1551                                              
1552         * WebView/WebHTMLView.mm:
1553         (-[WebHTMLView draggingSourceOperationMaskForLocal:]):
1554         (-[WebHTMLView draggedImage:movedTo:]):
1555         (-[WebHTMLView draggedImage:endedAt:operation:]):
1556         (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
1557
1558 2007-02-13  Alexey Proskuryakov  <ap@webkit.org>
1559
1560         Reviewed by Maciej.
1561
1562         http://bugs.webkit.org/show_bug.cgi?id=12643
1563         NPN_Status is using latin-1 encoding for the message instead of UTF-8
1564
1565         * Plugins/WebBaseNetscapePluginView.mm:
1566         (-[WebBaseNetscapePluginView status:]): Use kCFStringEncodingUTF8.
1567
1568 2007-02-13  Mark Rowe  <mrowe@apple.com>
1569
1570         Reviewed by Timothy Hatcher.
1571
1572         Fix http://bugs.webkit.org/show_bug.cgi?id=12745
1573         Bug 12745: REGRESSION: Webkit will not load a plugin that Safari can load (symbol missing _objc_msgSend_fpret)
1574
1575         Treat libobjc as a sub-library of WebKit in Debug/Release so that plugins and applications linked against an
1576         umbrella framework version of WebKit that expect to find libobjc symbols in WebKit can do so.
1577
1578         * WebKit.xcodeproj/project.pbxproj:
1579
1580 2007-02-12  Kevin McCullough  <kmccullough@apple.com>
1581
1582         Reviewed by .
1583
1584         - reverting change to not cause regressions and performance problems.
1585
1586         * Misc/WebNSAttributedStringExtras.mm:
1587         (fileWrapperForElement):
1588
1589 2007-02-12  Darin Adler  <darin@apple.com>
1590
1591         Reviewed by Oliver.
1592
1593         - fix http://bugs.webkit.org/show_bug.cgi?id=12677
1594           <rdar://problem/4759563> REGRESSION: Return key is always sent when you confirm
1595           a clause in kotoeri (12677)
1596
1597         - fix http://bugs.webkit.org/show_bug.cgi?id=12596
1598           <rdar://problem/4794346> REGRESSION: Tab key shifts form field focus instead of
1599           navigating prediction window (12596)
1600
1601         - fix http://bugs.webkit.org/show_bug.cgi?id=10010
1602           <rdar://problem/4822935> REGRESSION: Pressing Return with unconfirmed text in
1603           Hangul inserts carriage return (10010)
1604
1605         - fix http://bugs.webkit.org/show_bug.cgi?id=12531
1606           <rdar://problem/4975126> REGRESSION: Inline text input types repeated keys in
1607           latest nightly (r19336) (12531)
1608
1609         - fix http://bugs.webkit.org/show_bug.cgi?id=12539
1610           <rdar://problem/4975130> REGRESSION: Pressing Backspace while in inline input
1611           area moves to the previous page in history (12539)
1612
1613         * WebCoreSupport/WebEditorClient.h:
1614         * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::markedTextAbandoned):
1615         Added.
1616
1617         * WebView/WebHTMLView.mm:
1618         (-[WebHTMLView menuForEvent:]): Added explicit constructor needed now that the
1619         function takes a const&.
1620         (-[WebHTMLView becomeFirstResponder]): Removed fake event code, no longer needed
1621         since advanceFocus now works fine with 0 for a DOM event.
1622         (-[WebHTMLView _expandSelectionToGranularity:]): Changed to use the normal
1623         selection controller function instead of selectRange.
1624         (-[WebHTMLView insertTab:]): Changed to call bottleneck that receives the DOM
1625         event.
1626         (-[WebHTMLView insertBacktab:]): Ditto.
1627         (-[WebHTMLView insertNewline:]): Ditto.
1628         (-[WebHTMLView insertLineBreak:]): Ditto.
1629         (-[WebHTMLView insertParagraphSeparator:]): Ditto.
1630         (-[WebHTMLView insertNewlineIgnoringFieldEditor:]): Ditto.
1631         (-[WebHTMLView insertTabIgnoringFieldEditor:]): Ditto.
1632         (-[WebHTMLView yank:]): Updated to call Editor directly since the insertText
1633         code now works via a text input event which is not what we want for paste-like
1634         things such as yank.
1635         (-[WebHTMLView yankAndSelect:]): Ditto.
1636         (-[WebHTMLView selectToMark:]): Changed to use the normal selection controller
1637         function instead of selectRange, which also allows us to remove the ObjC exception
1638         handling code.
1639         (-[WebHTMLView swapWithMark:]): Ditto.
1640         (-[WebHTMLView transpose:]): Ditto.
1641         (-[WebHTMLView unmarkText]): Since this is one of the calls back from the input
1642         manager, added code to set the "event was handled" flag. Moved the actual work
1643         into the Editor class in WebCore and just call that from here.
1644         (-[WebHTMLView _selectRangeInMarkedText:]): Changed to use the normal selection
1645         controller function instead of selectRange.
1646         (-[WebHTMLView setMarkedText:selectedRange:]): Since this is one of the calls
1647         back from the input manager, added code to set the "event was handled" flag.
1648         Also changed the ignoreMarkedTextSelectionChange to use the flag over on the
1649         WebCore side, since we moved it there and to call selectMarkedText over on
1650         the WebCore side too.
1651         (-[WebHTMLView doCommandBySelector:]): Added special cases for newline and tab
1652         selectors so that the event is passed along. These selectors are special because
1653         they are ones that turn into text input events.
1654         (-[WebHTMLView _discardMarkedText]): Moved the body of this function into the
1655         Editor class in WebCore and just call that from here.
1656         (-[WebHTMLView insertText:]): Added code to send a text input event instead of
1657         calling the editor to do text insertion. The insertion is then done in the
1658         default handler for the text input event.
1659         (-[WebHTMLView _insertNewlineWithEvent:isLineBreak:]): Added. Sends a text
1660         input event.
1661         (-[WebHTMLView _insertTabWithEvent:isBackTab:]): Ditto.
1662         (-[WebHTMLView _updateSelectionForInputManager]): Changed to use the
1663         ignoreMarkedTextSelectionChange flag in Editor now that the one here is gone.
1664
1665         * WebView/WebHTMLViewInternal.h: Remove ignoreMarkedTextSelectionChange field.
1666
1667         * WebView/WebView.mm: (-[WebView setSelectedDOMRange:affinity:]): Changed to
1668         use the normal selection controller function instead of selectRange.
1669
1670 2007-02-11  Sam Weinig  <sam@webkit.org>
1671
1672         Reviewed by Mark.
1673
1674         Switch the initial value of box-sizing property from "border-box" to "content-box".
1675
1676         * WebInspector/webInspector/inspector.js:
1677
1678 2007-02-10  Mitz Pettel  <mitz@webkit.org>
1679
1680         Reviewed by Maciej.
1681
1682         - fix http://bugs.webkit.org/show_bug.cgi?id=11847
1683           REGRESSION (SearchField): Dragging to select in the Web Inspector's search fields drags the inspector window
1684
1685         * WebInspector/webInspector/inspector.css: Added the search field to the
1686         undraggable dashboard-region.
1687
1688 2007-02-09  Kevin Decker <kdecker@apple.com>
1689
1690         Reviewed by Darin & Maciej.
1691
1692         Fixed: <rdar://problem/4930688> REGRESSION: missing images when reloading webarchives (11962)
1693         
1694         * WebCoreSupport/WebFrameLoaderClient.mm:
1695         (WebFrameLoaderClient::canUseArchivedResource): The bug here is that because a reload sets a cache
1696         policy of NSURLRequestReloadIgnoringCacheData (rightfully so), this method was refusing to load
1697         subresources in WebArchives. It's OK to use archive subresources for the NSURLRequestReloadIgnoringCacheData
1698         cache policy because we're not worried about the actual contents of a WebArchive changing on disk. 
1699
1700 2007-02-09  Justin Garcia  <justin.garcia@apple.com>
1701
1702         Reviewed by darin
1703         
1704         <rdar://problem/4975120>
1705         REGRESSION: double-cursor after switching window away/back (11770)
1706         <http://bugs.webkit.org/show_bug.cgi?id=11328>
1707         Gmail Editor: Caret can simultaneously appear in both the TO: and message body fields
1708
1709         * WebCoreSupport/WebFrameBridge.mm: Removed unused methods.
1710         * WebView/WebHTMLView.mm: Ditto.
1711         (-[WebHTMLView _web_firstResponderCausesFocusDisplay]): Don't 
1712         appear focused if a descendant view is firstResponder.
1713         (-[WebHTMLView _updateActiveState]): Removed the check for a BOOL
1714         that was always false.
1715         * WebView/WebHTMLViewInternal.h: Removed a BOOL that's always false.
1716
1717 2007-02-09  Beth Dakin  <bdakin@apple.com>
1718
1719         Reviewed by Darin.
1720
1721         Fix for <rdar://problem/4674537> REGRESSION: Adobe Acrobat 8 - Text 
1722         blinks when mouse is moved, and is invisible otherwise
1723
1724         Allow quirk if the Application was linked before 3.0 and if the 
1725         application is Adobe Acrobat.
1726
1727         * Misc/WebKitVersionChecks.h:
1728         * WebView/WebView.mm:
1729         (-[WebView _updateWebCoreSettingsFromPreferences:]):
1730
1731 2007-02-09  Timothy Hatcher  <timothy@apple.com>
1732
1733         Reviewed by Brady.
1734
1735         * WebKit.exp: Add WebBaseNetscapePluginView to the export list.
1736
1737 2007-02-09  John Sullivan  <sullivan@apple.com>
1738
1739         Reviewed by Beth
1740
1741         - WebKit part of fix for radar 4939636, problems with context menu items and binaries linked
1742           against WebKit 2.0.
1743
1744         * WebKit.xcodeproj/project.pbxproj:
1745         Changed DYLIB_CURRENT_VERSION to 2 (was 1)
1746
1747         * Misc/WebKitVersionChecks.h:
1748         Added constant WEBKIT_FIRST_VERSION_WITH_3_0_CONTEXT_MENU_TAGS, which is 2 but in the weird
1749         format that these version checks use.
1750
1751         * WebView/WebUIDelegatePrivate.h:
1752         Tweaked comments; included the old values for three tags for context menu items that changed
1753         from SPI to API in 3.0; renamed WEBMENUITEMTAG_SPI_START to WEBMENUITEMTAG_WEBKIT_3_0_SPI_START 
1754         for clarity, and bumped its value to avoid conflict with the three old values
1755
1756         * WebCoreSupport/WebContextMenuClient.mm:
1757         (isAppleMail):
1758         new helper function that checks the bundle identifier
1759         (fixMenusToSendToOldClients):
1760         Removed return value for clarity; now checks linked-on version and also makes special case
1761         for Mail; now replaces three API tags with their old SPI values for clients that linked
1762         against old WebKit version, in addition to replacing new API with WebMenuItemTagOther for
1763         items that had no specific tag before.
1764         (fixMenusReceivedFromOldClients):
1765         Removed return value for clarity; removed defaultMenuItems parameter because it's no longer 
1766         necessary; removed code that tried to recognize menus that got confused by the SPI -> API 
1767         change (we now pass the old SPI values to these clients to avoid confusing them); now 
1768         restores the tags for the items whose tags were replaced in fixMenusToSendToOldClients 
1769         (this used to restore the tags of the default items rather than the new items, which was 
1770         incorrect but happened to work since the clients we tested were using the objects from the
1771         default items array in their new items array)
1772         (WebContextMenuClient::getCustomMenuFromDefaultItems):
1773         Updated to account for the removed return values for the two fix-up methods; moved the
1774         autorelease of newItems here, which is clearer and was the source of a leak before.
1775
1776 2007-02-08  Kevin McCullough  <KMcCullough@apple.com>
1777
1778         Reviewed by
1779
1780         - fixing a build breakage. 
1781
1782         * Misc/WebNSAttributedStringExtras.mm:
1783         (fileWrapperForElement):
1784
1785 2007-02-07  Charles Ying  <charles_ying@yahoo.com>
1786
1787         Reviewed by Adam.
1788
1789         Code suggestion by aroben
1790         
1791         Fix http://bugs.webkit.org/show_bug.cgi?id=12688
1792
1793         REGRESSION (r19469): ASSERT when right clicking on hyperlinks! in TOT webkit
1794         
1795         * WebCoreSupport/WebContextMenuClient.mm:
1796         (fixMenusReceivedFromOldClients):
1797
1798         - fixMenusReceivedFromOldClients was hitting an ASSERT incorrectly
1799         because it could not match [item title] to any of the contentMenuItemTags
1800         using pointer comparison ==. Instead, it needs to do a string comparison
1801         between [item title] and the various contentMenuItemTags using
1802         isEqualToString instead of ==. You would encounter this whenever the
1803         context menu was activated, e.g., from a hyperlink right click (or
1804         control click).
1805
1806
1807 2007-02-07  Anders Carlsson  <acarlsson@apple.com>
1808
1809         Reviewed by Maciej.
1810
1811         Move shouldInterruptJavaScript to the Chrome.
1812         
1813         * WebCoreSupport/WebChromeClient.h:
1814         * WebCoreSupport/WebChromeClient.mm:
1815         (WebChromeClient::shouldInterruptJavaScript):
1816         * WebCoreSupport/WebFrameBridge.mm:
1817
1818 2007-02-07  John Sullivan  <sullivan@apple.com>
1819
1820         Reviewed by Kevin Decker
1821
1822         - fixed all places in WebKit where _web_userVisibleString was used where
1823         _web_originalDataAsString should have been used instead.
1824
1825         * History/WebURLsWithTitles.m:
1826         (+[WebURLsWithTitles writeURLs:andTitles:toPasteboard:]):
1827         use _web_originalDataAsString when writing since these aren't displayed to the user
1828         (+[WebURLsWithTitles URLsFromPasteboard:]):
1829         use _web_URLWithDataAsString when reading, to match what we used when writing
1830
1831         * Misc/WebNSPasteboardExtras.mm:
1832         (-[NSPasteboard _web_writeURL:andTitle:types:]):
1833         use _web_originalDataAsString when writing the NSURL type; continue using
1834         _web_userVisibleString when writing the plain text type
1835
1836         * WebView/WebHTMLView.mm:
1837         (-[WebHTMLView _documentFragmentWithPaths:]):
1838         added comment about why _web_userVisibleString is appropriate here
1839         (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:chosePlainText:]):
1840         use _web_originalDataAsString when setting the href attribute of an anchor tag
1841
1842 2007-02-07  David Harrison  <harrison@apple.com>
1843
1844         Reviewed by Adam.
1845
1846         <rdar://problem/4943650> REGRESSION: insertion point blink redraws entire web page, making everything slow
1847
1848         Problem is that AppKit recently changed NSControl to trigger a full redraw if the control has a focus ring.
1849         WebHTMLView is a subclass of NSControl, but the focus ring type was the default value, though we actually
1850         draw no focus ring. Fix is to formally set our focus ring type.
1851
1852         * WebView/WebHTMLView.mm:
1853         (-[WebHTMLView initWithFrame:]):
1854         Send [self setFocusRingType:NSFocusRingTypeNone].
1855
1856 2007-02-07  John Sullivan  <sullivan@apple.com>
1857
1858         Undid changes that I hadn't intended to check in
1859
1860         * WebView/WebHTMLView.mm:
1861         (-[WebHTMLView _documentFragmentWithPaths:]):
1862         (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:chosePlainText:]):
1863
1864 2007-02-07  John Sullivan  <sullivan@apple.com>
1865
1866         Reviewed by Ollie and Geoff
1867
1868         - fixed <rdar://problem/4982345> KURL::createCFURL leak inside -[WebFrameBridge startDraggingImage...] 
1869         reported by buildbot
1870
1871         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
1872         don't retain the imageURL we pass to the drag controller -- it's just automagically
1873         converted to a KURL anyway
1874
1875 2007-02-07  John Sullivan  <sullivan@apple.com>
1876
1877         Reviewed by Darin
1878
1879         - fixed <rdar://problem/4974420> REGRESSION: Dragging a saved image into the browser window 
1880         displays a error (No File exists at the address "null") (12662)
1881
1882         * WebCoreSupport/WebPasteboardHelper.mm:
1883         (WebPasteboardHelper::urlFromPasteboard):
1884         use _web_originalDataAsString instead of _web_userVisibleString, since _web_userVisibleString
1885         can return a string with non-ASCII characters -- suitable for display but not for code
1886
1887 2007-02-07  John Sullivan  <sullivan@apple.com>
1888
1889         Reviewed by Darin
1890
1891         - added some clarity to some menu-handling shenanigans
1892
1893         * WebCoreSupport/WebContextMenuClient.mm:
1894         (fixMenusToSendToOldClients):
1895         renamed from fixMenusForOldClients; added comments, FIXME, and assertion
1896         (fixMenusReceivedFromOldClients):
1897         renamed from fixMenusFromOldClients; added comments, FIXME, and assertion
1898         (WebContextMenuClient::getCustomMenuFromDefaultItems):
1899         updated for name changes
1900
1901 2007-02-06  Kevin Decker <kdecker@apple.com>
1902
1903         Fixed: <rdar://problem/4976681> ASSERTION failure on quit @ talkcrunch.com in _NPN_ReleaseObject
1904         
1905         Reviewed by Anders.
1906
1907         * Plugins/WebPluginDatabase.m:
1908         (+[WebPluginDatabase sharedDatabase]): Removed NSApplicationWillTerminateNotification observer and thus
1909         also removed code that would unload the entire plug-in database when receiving that notification. 
1910         
1911         The bug here was that this notification callback would happen first before anything else thus unloading
1912         plug-ins and releasing plug-in memory. That was crash prone because the JavaScriptCore collector would at
1913         a later time attempt to release its CInstance references (references that point to plug-in memory)
1914         without knowing WebKit already unloaded the plug-in out from underneath it. The WebPluginDatabase simply
1915         does not have enough context to make this decision.
1916         
1917         * WebView/WebView.mm: Added two statics: applicationIsTerminating, pluginDatabaseClientCount.
1918         (+[WebView initialize]): Added NSApplicationWillTerminateNotification observer.
1919         (+[WebView _applicationWillTerminate]): Added. 
1920         (-[WebView _close]): WebKit has both a global plug-in database and a separate, per WebView plug-in database. 
1921          We need to release both sets of plug-ins because Netscape plug-ins have "destructor functions" that should be
1922          called when the browser unloads the plug-in.  These functions can do important things, such as closing/deleting
1923          files so it is important to ensure that they are properly called when the application terminates.
1924          
1925          The new change is that on app shutdown, we unload WebKit's global plug-in database if and only if the last WebView
1926          was closed. To do so otherwise would unload plug-ins out from underneath other WebViews.
1927          
1928 2007-02-06  Darin Adler  <darin@apple.com>
1929
1930         Reviewed by John Sullivan.
1931
1932         - fix http://bugs.webkit.org/show_bug.cgi?id=11080
1933           <rdar://problem/4826648> REGRESSION: Incorrect vertical positioning of Safari
1934           status bar text containing @ character (11080)
1935
1936         * Misc/WebKitNSStringExtras.m:
1937         (canUseFastRenderer): Fix code that mistakenly used the slow renderer for strings
1938         that have a direction of "other neutral", which includes the "@" character.
1939         (-[NSString _web_drawAtPoint:font:textColor:]): Add code to make the baseline of
1940         the text in the status bar right. AppKit's rule for rounding is complicated enough
1941         that this is obviously not perfectly correct, but it does make both code paths
1942         use the same baseline in all the places this is currently used in AppKit.
1943
1944 2007-02-06  Darin Adler  <darin@apple.com>
1945
1946         Spotted by Steve F.
1947
1948         * Misc/WebNSURLExtras.m:
1949         (-[NSString _web_mapHostNameWithRange:encode:makeString:]):
1950         Fix obvious logic mistake I introduced back in revision 8255.
1951         I can't see how to exercise this code path, but I also can't
1952         bear to leave this obviously-broken code as-is.
1953
1954 2007-02-05  David Kilzer  <ddkilzer@webkit.org>
1955
1956         Reviewed by Darin.
1957
1958         http://bugs.webkit.org/show_bug.cgi?id=7266
1959         Webarchive format saves duplicate WebSubresources to .webarchive file
1960
1961         Tests: webarchive/test-duplicate-resources.html
1962                webarchive/test-frameset.html
1963
1964         * WebView/WebArchiver.mm:
1965         (+[WebArchiver _archiveWithMarkupString:fromFrame:nodes:]): Use an NSMutableSet to prevent
1966         duplicate subresources from being added to the webarchive.
1967
1968 2007-02-06  Mark Rowe  <mrowe@apple.com>
1969
1970         Roll out incomplete support for font-stretch (r19350) at Dave Hyatt's request.
1971         See http://bugs.webkit.org/show_bug.cgi?id=12530#c9 for more info.
1972
1973         * WebInspector/webInspector/inspector.js:
1974         * WebView/WebHTMLView.mm:
1975         (-[WebHTMLView _addToStyle:fontA:fontB:]):
1976
1977 2007-02-05  Beth Dakin  <bdakin@apple.com>
1978
1979         Reviewed by Adam.
1980
1981         Fix for <rdar://problem/4975161> REGRESSION: With BumperCar 2.1.1, 
1982         the contextual menu fails to appear when I ctrl-click on page
1983
1984         * WebCoreSupport/WebContextMenuClient.mm:
1985         (WebContextMenuClient::getCustomMenuFromDefaultItems): If the 
1986         delegate does not respond to contextMenuItemsForElement, return the 
1987         default menu instead of nil.
1988
1989 2007-02-01  Geoffrey Garen  <ggaren@apple.com>
1990
1991         Reviewed by Maciej Stachowiak.
1992         
1993         Added support for selectively ignoring WebCore::Node leaks during layout
1994         tests, so that we can ignore known leaks in other components.
1995
1996         * Misc/WebCoreStatistics.h:
1997         * Misc/WebCoreStatistics.mm:
1998         (+[WebCoreStatistics startIgnoringWebCoreNodeLeaks]):
1999         (+[WebCoreStatistics stopIgnoringWebCoreNodeLeaks]):
2000
2001 2007-02-01  Nicholas Shanks  <webkit@nickshanks.com>
2002
2003         Reviewed by Mark.
2004
2005         Add support for CSS2 font-stretch property.
2006
2007         * WebInspector/webInspector/inspector.js:
2008         * WebView/WebHTMLView.mm:
2009         (-[WebHTMLView _addToStyle:fontA:fontB:]):
2010
2011 2007-02-01  Maciej Stachowiak  <mjs@apple.com>
2012
2013         Reviewed by Adam.
2014         
2015         <rdar://problem/4730469> REGRESSION: Assertion failure in -[WebDataSource(WebInternal) _bridge] when forwarding message
2016
2017         * WebView/WebDataSource.mm:
2018         (-[WebDataSource subresources]): Check for being uncommitted and return emtpy result.
2019         (-[WebDataSource subresourceForURL:]): ditto
2020
2021 2007-01-31  Oliver Hunt  <oliver@apple.com>
2022
2023         Reviewed by Adam.     
2024
2025         Migrating methods to WebCore
2026
2027         * WebCoreSupport/WebFrameBridge.mm:
2028         * WebView/WebHTMLView.mm:
2029         * WebView/WebHTMLViewPrivate.h:
2030
2031 2007-01-31  Anders Carlsson  <acarlsson@apple.com>
2032
2033         Reviewed by Maciej.
2034
2035         <rdar://problem/4886776>
2036         REGRESSION: After opening a web archive, location shows the actual URL, not the webarchive file
2037         
2038         "Revert" the change done in 13734.
2039         
2040         * WebView/WebHTMLRepresentation.mm:
2041         (-[WebHTMLRepresentation loadArchive]):
2042         Don't do a new load here, as this would cancel the current load and call the resource load
2043         delegate's didFailLoadingWithError: method. Instead, call continueLoadWithData.
2044
2045 2007-02-01  Nikolas Zimmermann  <zimmermann@kde.org>
2046
2047         Reviewed by Maciej.
2048
2049         Fix run-pageloadtest to actually work again.
2050
2051         * Misc/WebNSWindowExtras.m:
2052         (+[NSWindow _webkit_displayThrottledWindows]):
2053
2054 2007-01-31  Adele Peterson  <adele@apple.com>
2055
2056         Reviewed by Darin.
2057
2058         WebKit part of fix for <rdar://problem/4521461> REGRESSION: when keyPress event changes form focus, inserted key goes to wrong control
2059
2060         * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::handleKeyPress): Instead of using the selected frame, use the
2061           frame for the target of the keyboard event.  Also, don't do the canEdit check here, since the target's frame might not
2062           have a selection at this point.  Do the canEdit check within Editor::insertText, where we determine which selection to use
2063           for inserting text.
2064         * WebView/WebEditingDelegatePrivate.h: Added forward declaration of DOMHTMLElement. This is needed after reordering includes in WebEditorClient.mm.
2065
2066 2007-01-31  Alice Liu  <alice.liu@apple.com>
2067
2068         Reviewed by Tim Hatcher.
2069
2070         Turning an accidental API change to an SPI change
2071
2072         * WebView/WebEditingDelegate.h:
2073         * WebView/WebEditingDelegatePrivate.h:
2074         move some declarations into private header.  
2075
2076 2007-01-31  Darin Adler  <darin@apple.com>
2077
2078         - fix build
2079
2080         * ForwardingHeaders/wtf/ListHashSet.h: Added.
2081
2082 2007-01-31  Maciej Stachowiak  <mjs@apple.com>
2083
2084         Reviewed by Anders.
2085
2086         - related fix for <rdar://problem/4964407> REGRESSION: Mail hangs when replying, forwarding , or creating a new message
2087         
2088         * WebView/WebFrame.mm:
2089         (-[WebFrame loadArchive:]): This method also needs to add the lame WebDataRequest property or other things, like
2090         Mail Contents of Page, break.
2091
2092 2007-01-31  Maciej Stachowiak  <mjs@apple.com>
2093
2094         Reviewed by Eric.
2095         
2096         - add back no-op version of silly method so that shipping Safari can still run the PLT
2097
2098         * Misc/WebNSWindowExtras.m:
2099         (-[NSWindow _webkit_displayThrottledWindows]):
2100
2101 2007-01-31  Mark Rowe  <mrowe@apple.com>
2102
2103         More build fixing.
2104
2105         * Misc/WebKitLogging.h: Use !defined() rather than !.
2106         * Plugins/WebNetscapePluginStream.h: Remove #if __cplusplus as this file is only included from Obj-C++ files.
2107         * WebView/WebHTMLView.mm:
2108         (-[WebHTMLView _lookUpInDictionaryFromMenu:]): Use #ifdef rather than #if.
2109         * WebView/WebView.mm:
2110         (-[WebView isGrammarCheckingEnabled]): Ditto.
2111
2112 2007-01-31  Mark Rowe  <mrowe@apple.com>
2113
2114         Build fix.
2115
2116         * WebView/WebView.mm:
2117         (-[WebView initWithFrame:frameName:groupName:]):
2118
2119 2007-01-31  Mark Rowe  <mrowe@apple.com>
2120
2121         Reviewed by Oliver.
2122
2123         Enable -Wundef in WebKit, and change misuses of #if to #ifdef or #ifndef as appropriate.
2124
2125         * Misc/WebKitLogging.h:
2126         * WebKit.xcodeproj/project.pbxproj:
2127         * WebView/WebFrame.mm:
2128         * WebView/WebFrameInternal.h:
2129         * WebView/WebHTMLView.mm:
2130         (-[WebHTMLView validateUserInterfaceItem:]):
2131         (-[WebHTMLView delete:]):
2132         (-[WebHTMLView showGuessPanel:]):
2133         (-[WebHTMLView copy:]):
2134         (-[WebHTMLView cut:]):
2135         (-[WebHTMLView paste:]):
2136         * WebView/WebHTMLViewInternal.h:
2137         * WebView/WebView.mm:
2138         (-[WebViewPrivate init]):
2139         (-[WebView validateUserInterfaceItem:]):
2140         * WebView/WebViewPrivate.h:
2141
2142 2007-01-30  Brady Eidson  <beidson@apple.com>
2143
2144         Reviewed by Oliver
2145
2146         This is a corollary to <rdar://problem/4944887> where certain things happened on an alternate thread.
2147         To help catch such behavior in the future, add ASSERT_MAIN_THREAD() to key WebKit API points
2148
2149         * History/WebHistoryItem.mm: Added ASSERT_MAIN_THREAD() to suspected API entry points
2150         (-[WebHistoryItem dealloc]):
2151         (-[WebHistoryItem finalize]):
2152         (-[WebHistoryItem copyWithZone:]):
2153         (-[WebHistoryItem URLString]):
2154         (-[WebHistoryItem originalURLString]):
2155         (-[WebHistoryItem title]):
2156         (-[WebHistoryItem lastVisitedTimeInterval]):
2157         (-[WebHistoryItem isEqual:]):
2158         (-[WebHistoryItem description]):
2159         (-[WebHistoryItem initWithWebCoreHistoryItem:]):
2160         (-[WebHistoryItem initFromDictionaryRepresentation:]):
2161         (-[WebHistoryItem scrollPoint]):
2162         (-[WebHistoryItem dictionaryRepresentation]):
2163         (-[WebHistoryItem target]):
2164         (-[WebHistoryItem visitCount]):
2165         (-[WebHistoryItem children]):
2166         (-[WebHistoryItem URL]):
2167         (-[WebHistoryItem _lastVisitedDate]):
2168         (-[WebHistoryItem targetItem]):
2169
2170         * Misc/WebIconDatabase.mm: Added ASSERT_MAIN_THREAD() to suspected API entry points
2171         (-[WebIconDatabase iconForURL:withSize:cache:]):
2172         (-[WebIconDatabase iconURLForURL:]):
2173         (-[WebIconDatabase defaultIconWithSize:]):
2174         (-[WebIconDatabase retainIconForURL:]):
2175         (-[WebIconDatabase releaseIconForURL:]):
2176         (-[WebIconDatabase removeAllIcons]):
2177         (-[WebIconDatabase _iconForFileURL:withSize:]):
2178         (webGetNSImage):
2179
2180         * Misc/WebKitLogging.h: Added ASSERT_MAIN_THREAD()
2181         * Misc/WebKitLogging.m:
2182         (WebKitRunningOnMainThread): Added
2183
2184         * WebKit.xcodeproj/project.pbxproj: Define DISABLE_THREAD_CHECK until it is
2185           safe to run with ASSERT_MAIN_THREAD() active
2186
2187 2007-01-30  Timothy Hatcher  <timothy@apple.com>
2188
2189         Reviewed by Darin.
2190
2191         <rdar://problem/4961953> Stop using NSString deprecated methods like initWithCString:
2192
2193         * Misc/WebNSImageExtras.m:
2194         (-[NSImage _web_saveAndOpen]):
2195         * WebKit.xcodeproj/project.pbxproj:
2196
2197 2007-01-30  Mitz Pettel  <mitz@webkit.org>
2198
2199         Reviewed by Geoff.
2200
2201         - fix http://bugs.webkit.org/show_bug.cgi?id=12050
2202           REGRESSION: Assertion failure in -[WebBaseNetscapePluginView willCallPlugInFunction] (plugin)
2203
2204         Test: plugins/createScriptableObject-before-start.html
2205
2206         * Plugins/WebBaseNetscapePluginView.mm:
2207         (-[WebBaseNetscapePluginView createPluginScriptableObject]): Return NULL if
2208         the plugin is not started.
2209
2210 2007-01-30  Maciej Stachowiak  <mjs@apple.com>
2211
2212         Reviewed by Anders.
2213         
2214         <rdar://problem/4964407> REGRESSION: Mail hangs when replying, forwarding , or creating a new message
2215         
2216         * WebView/WebFrame.mm:
2217         (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]): Set WebDataRequest property on data
2218         load requests since Mail specifically checks for this.
2219
2220 2007-01-30  Graham Dennis  <graham.dennis@gmail.com>
2221
2222         Reviewed by Maciej.
2223
2224         Part of fix for http://bugs.webkit.org/show_bug.cgi?id=10725
2225         Image data in from RTFD clipboard data thrown away
2226         
2227         The URLs for images in RTFD data must not be loaded until the resources
2228         have been added to the WebUnarchivingState. This can't happen until
2229         after the RTFD data has been parsed, so we must delay loading while this
2230         RTFD data is being parsed to a document fragment.
2231
2232         * WebView/WebHTMLView.mm:
2233         (uniqueURLWithRelativePart):
2234         (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:chosePlainText:]): defer loading the resources while RTFD data is being parsed.
2235         (+[NSURL _web_uniqueWebDataURL]): Added this back because AppKit uses it.
2236         * WebView/WebUnarchivingState.m:
2237         (-[WebUnarchivingState archivedResourceForURL:]): orkaround for workaround for rdar://problem/4699166 so that other people can use archivedResourceForURL: too.
2238
2239 2007-01-29  Jim Correia  <jim.correia@pobox.com>
2240
2241         Reviewed by Mark.
2242
2243         Added support for -allowsUndo/-setAllowsUndo: to allow editable WebView
2244         clients to completely disable undo registration. This is functionally
2245         equivalent to the methods with the same names on NSTextView.
2246
2247         * WebView/WebView.mm:
2248         (-[WebViewPrivate init]):
2249         (-[WebView initWithCoder:]):
2250         (-[WebView encodeWithCoder:]):
2251         (-[WebView allowsUndo]):
2252         (-[WebView setAllowsUndo:]):
2253         (-[WebView undoManager]):
2254         * WebView/WebViewPrivate.h:
2255
2256 2007-01-29  Ada Chan  <adachan@apple.com>
2257
2258         Reviewed by Brady.
2259
2260         Moved the update of the title of the current entry in the backforward list to WebCore.
2261
2262         * WebCoreSupport/WebFrameLoaderClient.mm:
2263         (WebFrameLoaderClient::setTitle):
2264
2265 2007-01-29  Adele Peterson  <adele@apple.com>
2266
2267         Reviewed by Darin.
2268
2269         More preparation for event handling fixes.
2270
2271         * WebCoreSupport/WebEditorClient.h: Removed EventTargetNode parameter, since you can
2272           just get this from the KeyboardEvent.
2273         * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::handleKeyPress): ditto.
2274
2275         * WebView/WebHTMLViewInternal.h: Added interpretKeyEventsParameters struct.
2276         * WebView/WebViewInternal.h: Changed parameter from NSEvent to WebCoreKeyboardEvent in _interceptEditingKeyEvent.
2277         * WebView/WebHTMLView.mm:
2278         (-[WebHTMLView yankAndSelect:]): Updated for new triggeringEvent parameter.
2279         (-[WebHTMLView _interceptEditingKeyEvent:]): Set the WebHTMLViewInterpretKeyEventsParameters.
2280         (-[WebHTMLView doCommandBySelector:]): Access WebHTMLViewInterpretKeyEventsParameters.
2281         (-[WebHTMLView insertText:]): ditto.
2282         (-[WebHTMLView _insertText:selectInsertedText:triggeringEvent:]): Added parameter for triggeringEvent.
2283
2284 2007-01-29  Oliver Hunt  <oliver@apple.com>
2285
2286         build fix  
2287
2288         * WebView/WebHTMLView.mm:
2289         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
2290
2291 2007-01-25  Oliver Hunt  <oliver@apple.com>
2292
2293         Reviewed by Adam.
2294
2295         Migrated drag state and logic to WebCore, removed superfluous methods
2296
2297         * ChangeLog:
2298         * WebCoreSupport/WebDragClient.h:
2299         * WebCoreSupport/WebDragClient.mm:
2300         (WebDragClient::dragSourceActionMaskForPoint):
2301         * WebCoreSupport/WebFrameBridge.mm:
2302            allowDHTMLDrag move to WebCore::EventHandler
2303         * WebView/WebHTMLView.mm:
2304         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
2305         (-[WebHTMLView draggedImage:movedTo:]):
2306         (-[WebHTMLView draggedImage:endedAt:operation:]):
2307           dragOffset and dragSourecAction is now stored in WebCore::DragController
2308           migrated _delegateDragSourceActionMask to WebCore::DragController
2309         * WebView/WebHTMLViewInternal.h:
2310           Removed dragOffset declaration, migrated to WebCore::DragController
2311         * WebView/WebView.mm:
2312           removed unnecessary method, _loadingDragOperationForDraggingInfo
2313
2314 2007-01-29  Maciej Stachowiak  <mjs@apple.com>
2315
2316         Reviewed by Mark.
2317
2318         - updated for cross-platform data loading support
2319         
2320         * WebCoreSupport/WebFrameLoaderClient.h:
2321         * WebCoreSupport/WebFrameLoaderClient.mm:
2322         (WebFrameLoaderClient::createDocumentLoader):
2323         * WebView/WebDataSource.mm:
2324         (-[WebDataSource initWithRequest:]):
2325         * WebView/WebDocumentLoaderMac.h:
2326         * WebView/WebDocumentLoaderMac.mm:
2327         (WebDocumentLoaderMac::WebDocumentLoaderMac):
2328         * WebView/WebFrame.mm:
2329         (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
2330         (-[WebFrame loadData:MIMEType:textEncodingName:baseURL:]):
2331         (-[WebFrame _loadHTMLString:baseURL:unreachableURL:]):
2332         (-[WebFrame loadArchive:]):
2333         * WebView/WebFrameInternal.h:
2334         * WebView/WebHTMLView.mm:
2335         (uniqueURLWithRelativePart):
2336         (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:chosePlainText:]):
2337
2338 2007-01-27  David Kilzer  <ddkilzer@webkit.org>
2339
2340         Reviewed by Adam.
2341
2342         - fix http://bugs.webkit.org/show_bug.cgi?id=12260
2343           Windows platform build is not maintained
2344
2345         * COM/ChromeClientWin.cpp:
2346         (ChromeClientWin::canTakeFocus):
2347         (ChromeClientWin::takeFocus):
2348         * COM/ChromeClientWin.h:
2349         * COM/ContextMenuClientWin.cpp:
2350         (ContextMenuClientWin::getCustomMenuFromDefaultItems):
2351         (ContextMenuClientWin::searchWithGoogle):
2352         * COM/ContextMenuClientWin.h:
2353         * COM/WebFrameLoaderClient.cpp:
2354         (WebFrameLoaderClient::assignIdentifierToInitialRequest):
2355         (WebFrameLoaderClient::dispatchWillSendRequest):
2356         (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
2357         (WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
2358         (WebFrameLoaderClient::dispatchDidReceiveResponse):
2359         (WebFrameLoaderClient::dispatchDidReceiveContentLength):
2360         (WebFrameLoaderClient::dispatchDidFinishLoading):
2361         (WebFrameLoaderClient::dispatchDidFailLoading):
2362         (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
2363         (WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
2364         (WebFrameLoaderClient::dispatchDidFailLoad):
2365         (WebFrameLoaderClient::dispatchCreatePage):
2366         (WebFrameLoaderClient::dispatchDecidePolicyForMIMEType):
2367         (WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
2368         (WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
2369         (WebFrameLoaderClient::dispatchUnableToImplementPolicy):
2370         (WebFrameLoaderClient::setMainDocumentError):
2371         (WebFrameLoaderClient::incrementProgress):
2372         (WebFrameLoaderClient::completeProgress):
2373         (WebFrameLoaderClient::startDownload):
2374         (WebFrameLoaderClient::committedLoad):
2375         (WebFrameLoaderClient::cancelledError):
2376         (WebFrameLoaderClient::cannotShowURLError):
2377         (WebFrameLoaderClient::interruptForPolicyChangeError):
2378         (WebFrameLoaderClient::cannotShowMIMETypeError):
2379         (WebFrameLoaderClient::fileDoesNotExistError):
2380         (WebFrameLoaderClient::shouldFallBack):
2381         (WebFrameLoaderClient::willUseArchive):
2382         (WebFrameLoaderClient::createDocumentLoader):
2383         (WebFrameLoaderClient::download):
2384         * COM/WebFrameLoaderClient.h:
2385
2386 2007-01-27  David Harrison  <harrison@apple.com>
2387
2388         Reviewed by Kevin.
2389
2390         <rdar://problem/4958902> REGRESSION: Dashboard widgets fail to load
2391         
2392         This was caused by the WebView preferences rework in r18417. Specifically, in
2393         _updateWebCoreSettingsFromPreferences when calling setUserStyleSheetLocation,
2394         [NSURL URLWithString:] is now messaged directly with the result of
2395         [[preferences userStyleSheetLocation] _web_originalDataAsString]], which will
2396         be nil if the userStyleSheetLocation has not been set yet. [NSURL URLWithString:]
2397         throws an exception when the string is nil. DashboardClient.app calls
2398         setUserStyleSheetEnabled *before* calling setUserStyleSheetLocation.
2399
2400         * WebView/WebView.mm:
2401         (-[WebView _updateWebCoreSettingsFromPreferences:]):
2402         Pass empty string instead of nil string to [NSURL URLWithString:].
2403
2404 2007-01-26  Darin Adler  <darin@apple.com>
2405
2406         Reviewed by Timothy.
2407
2408         Fixes crash drawing avatar on mail.yahoo.com.
2409
2410         * Plugins/WebBaseNetscapePluginStream.m: Retain the object since destroyStreamWithError: might
2411         release the last reference to it.
2412
2413 2007-01-26  Darin Adler  <darin@apple.com>
2414
2415         Reviewed by Beth.
2416
2417         * WebInspector/webInspector/inspector.js: Updated for new computed style properties.
2418
2419 2007-01-26  Kevin Decker <kdecker@apple.com>
2420
2421         Reviewed by andersca.
2422
2423         Fixed: <rdar://problem/4946922> WebBaseNetscapePluginView leaks memory
2424         http://bugs.webkit.org/show_bug.cgi?id=11523
2425
2426         * Plugins/WebBaseNetscapePluginStream.m:
2427        (-[WebBaseNetscapePluginStream setPlugin:]): Calls -[WebBaseNetscapePluginView disconnectStream:]
2428         * Plugins/WebBaseNetscapePluginView.h: Added disconnectStream: to header.
2429         * Plugins/WebBaseNetscapePluginView.mm:
2430         (-[WebBaseNetscapePluginView stop]): Make a copy of the streams collection prior to calling stop all streams.
2431         This is necessary because calling stop has the side effect of removing the stream from this same collection.
2432         (-[WebBaseNetscapePluginView disconnectStream:]): Added. Removes the stream from the streams collection.
2433
2434 2007-01-25  Kevin Decker <kdecker@apple.com>
2435
2436         Backed out my last patch because it crashes espn.com. Stay tuned for a newer version..
2437
2438         * Plugins/WebBaseNetscapePluginStream.m:
2439         (-[WebBaseNetscapePluginStream setPlugin:]): Removed call to streamIsDead.
2440         * Plugins/WebBaseNetscapePluginView.h: Removed streamIsDead.
2441         * Plugins/WebBaseNetscapePluginView.mm: Ditto.
2442
2443 2007-01-25  Darin Adler  <darin@apple.com>
2444
2445         Reviewed by Beth.
2446
2447         - fix <rdar://problem/4952766> Safari has a top secret color picker that can be used to... uhh... I don't know
2448
2449         * Panels/English.lproj/WebAuthenticationPanel.nib/info.nib: Let Interface Builder have its way.
2450         * Panels/English.lproj/WebAuthenticationPanel.nib/objects.nib: Remove the NSColorWell that was
2451         in here (for no good reason).
2452
2453 2007-01-25  Kevin Decker  <kdecker@apple.com>
2454
2455         Reviewed by andersca.
2456
2457         A few tweaks with of a fix done by Steve Gehrman.
2458
2459         Fixed: <rdar://problem/4946922> WebBaseNetscapePluginView leaks memory
2460                http://bugs.webkit.org/show_bug.cgi?id=11523
2461
2462         * Plugins/WebBaseNetscapePluginStream.m:
2463         (-[WebBaseNetscapePluginStream setPlugin:]): Calls -[WebBaseNetscapePluginView streamIsDead:]
2464         * Plugins/WebBaseNetscapePluginView.h: Added streamIsDead to header.
2465         * Plugins/WebBaseNetscapePluginView.mm:
2466         (-[WebBaseNetscapePluginView streamIsDead:]): Added. Removes the stream from the streams collection.
2467
2468 2007-01-25  John Sullivan  <sullivan@apple.com>
2469
2470         Reviewed by Kevin, Geoff, Brady, and Darin
2471         
2472         - fixed <rdar://problem/4918446> Safari's temp files (PDF's) should be in a sub-folder when calling Preview
2473         
2474         * WebView/WebPDFView.mm:
2475         (-[WebPDFView _path]):
2476         use _temporaryPDFDirectoryPath method instead of #defines for hardwiring strings; stop bad practice
2477         of modifying the const char* returned by fileSystemRepresentation
2478         (-[WebPDFView _temporaryPDFDirectoryPath]):
2479         new method, lazily creates and returns a secure temporary directory created with NSTemporaryDirectory()
2480         and mkdtemp
2481
2482         * English.lproj/StringsNotToBeLocalized.txt:
2483         Updated for these and other recent changes
2484
2485 2007-01-24  Oliver Hunt  <oliver@apple.com>
2486
2487         Build fix 
2488
2489         * WebView/WebHTMLView.mm:
2490         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
2491         (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
2492
2493 2007-01-24  Oliver Hunt  <ioliver@apple.com>
2494
2495         Reviewed by Maciej.
2496
2497         Migrating more drag state information to WebCore
2498
2499         * WebKit.xcodeproj/project.pbxproj:
2500         * WebView/WebHTMLView.mm:
2501         (-[WebHTMLViewPrivate dealloc]):
2502         (-[WebHTMLViewPrivate clear]):
2503         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
2504         (-[WebHTMLView _mayStartDragAtEventLocation:]):
2505         (-[WebHTMLView close]):
2506         (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
2507         (-[WebHTMLView _delegateDragSourceActionMask]):
2508         * WebView/WebHTMLViewInternal.h:
2509
2510 2007-01-24  Adele Peterson  <adele@apple.com>
2511
2512         Reviewed by Darin.
2513
2514         Small improvement to my last checkin to prevent the keyEventWasInterpreted bool from
2515         being overwritten by reentrancy.
2516
2517         * WebView/WebHTMLView.mm:
2518         (-[WebHTMLView _interceptEditingKeyEvent:]): Point keyEventWasInterpreted pointer to local variable.
2519         (-[WebHTMLView doCommandBySelector:]):
2520         (-[WebHTMLView insertText:]):
2521         * WebView/WebHTMLViewInternal.h: Added BOOL pointer that will point to the local variable on the stack in _interceptEditingKeyEvent
2522
2523 2007-01-24  Adele Peterson  <adele@apple.com>
2524
2525         Reviewed by Darin.
2526
2527         - Fix for <rdar://problem/4950527> REGRESSION: Can't use arrow keys (left/right) to navigate caret in input (type=text) or textarea fields
2528
2529         Keep track of whether interpretKeyEvents handles the key event based on whether or not we get
2530         called in insertText or doCommandBySelector.
2531
2532         Test: fast/events/arrow-navigation.html
2533
2534         * WebView/WebHTMLView.mm:
2535         (-[WebHTMLView performKeyEquivalent:]):
2536         (-[WebHTMLView _interceptEditingKeyEvent:]):
2537         (-[WebHTMLView doCommandBySelector:]):
2538         (-[WebHTMLView insertText:]):
2539         * WebView/WebHTMLViewInternal.h:
2540
2541 2007-01-25  Mark Rowe  <mrowe@apple.com>
2542
2543         Reviewed by Maciej.
2544
2545         * Info.plist: Update copyright string.
2546
2547 2007-01-24  Darin Adler  <darin@apple.com>
2548
2549         Reviewed by Mark Rowe.
2550
2551         * WebKit.xcodeproj/project.pbxproj: Changed to /usr/sbin/sysctl
2552         so we don't rely on people's paths.
2553
2554 2007-01-24  Darin Adler  <darin@apple.com>
2555
2556         Reviewed by Adele.
2557
2558         - fix small regression and GC problems noticed by code inspection
2559
2560         * WebView/WebHTMLView.mm: Move global declarations to the start of the file.
2561         (+[WebHTMLView _excludedElementsForAttributedStringConversion]):
2562         Add a CFRetain here for GC compatibility.
2563         (+[WebHTMLView _insertablePasteboardTypes]): Ditto.
2564         (-[WebHTMLView performKeyEquivalent:]): Fix small logic mistake that prevents
2565         super from being called if EventHandler::keyEvent returns false. Reformatted
2566         the code a bit and added a local variable for the frame.
2567         (-[WebHTMLView _interceptEditingKeyEvent:]): Added some comments.
2568         (-[WebHTMLView validAttributesForMarkedText]): Add a CFRetain here for
2569         GC compatibility.
2570
2571 2007-01-23  Adele Peterson  <adele@apple.com>
2572
2573         Reviewed by Adam.
2574
2575         Fixed 2 layout tests that I broke with my last checkin.
2576
2577         * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::handleKeyPress): Use the selected frame to get the WebHTMLView.
2578         * WebView/WebHTMLView.mm:
2579         (-[WebHTMLView performKeyEquivalent:]): Added global to keep track of NSEvent used here.
2580         (-[WebHTMLView _interceptEditingKeyEvent:]): Check NSEvent against the event used in performKeyEquivalent.
2581           We don't want to intercept these events.
2582
2583 2007-01-23  Adele Peterson  <adele@apple.com>
2584
2585         Reviewed by Darin.
2586
2587         WebKit part of fix for <rdar://problem/4946753>REGRESSION: Inserting tabs is broken in Mail
2588         
2589         In addition to this fix, I also reorganized some event handling code for keyPress events to
2590         prepare for another fix.
2591
2592         * WebCoreSupport/WebEditorClient.h: Added handleKeyPress method.
2593         * WebCoreSupport/WebEditorClient.mm:
2594         (WebEditorClient::handleKeyPress): Added.  Code moved from WebHTMLView keyDown method.
2595          This is called from the defaultEventHandler so that in the future, we can make the right 
2596          decision about which selection the keyPress should apply to.
2597         * WebView/WebHTMLView.mm:
2598         (-[WebHTMLView keyDown:]): Moved _interceptEditingKeyEvent call to handleKeyPress.
2599         (-[WebHTMLView _interceptEditingKeyEvent:]): Prevents intercepting keys for cmd-modified events. Removed tabCycling checks
2600          since this is now handled in WebCore.
2601         * WebView/WebHTMLViewInternal.h: Made _interceptEditingKeyEvent SPI.
2602         * WebView/WebView.mm: Use new tabKeyCyclesThroughElements methods on the page.
2603         (-[WebViewPrivate init]): ditto.
2604         (-[WebView setTabKeyCyclesThroughElements:]): ditto.
2605         (-[WebView tabKeyCyclesThroughElements]): ditto.
2606         (-[WebView setEditable:]): ditto
2607
2608 2007-01-23  Lars Knoll <lars@trolltech.com>
2609
2610         Reviewed by Maciej
2611
2612         Make the last remaining pieces of the FrameLoader platform 
2613         independent. Move most of the code over to WebFrameLoaderClient.
2614         Some smaller cleanups in the WebFrameBridge, and moved some
2615         platform independent functionality over to the shared code
2616         in WebCore.
2617
2618         * Webcoresupport/WebFrameBridge.mm:
2619         (-[WebFrameBridge finishInitializingWithPage:frameName:frameView:ownerElement:]):
2620         (-[WebFrameBridge createChildFrameNamed:withURL:referrer:ownerElement:allowsScrolling:marginWidth:marginHeight:]):
2621         (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
2622         * WebCoreSupport/WebFrameLoaderClient.h:
2623         * WebCoreSupport/WebFrameLoaderClient.mm:
2624         (WebFrameLoaderClient::setTitle):
2625         (WebFrameLoaderClient::createFrame):
2626         (WebFrameLoaderClient::objectContentType):
2627         (nsArray):
2628         (WebFrameLoaderClient::createPlugin):
2629         (WebFrameLoaderClient::redirectDataToPlugin):
2630         (nsMutableArray):
2631         (WebFrameLoaderClient::createJavaAppletWidget):
2632         (WebFrameLoaderClient::overrideMediaType):
2633         (WebFrameLoaderClient::windowObjectCleared):
2634
2635 2007-01-23  Oliver Hunt  <oliver@apple.com>
2636
2637         Reviewed by Adam.
2638
2639         Drop logic bindings for WebKit
2640
2641         * WebCoreSupport/WebDragClient.h: Added.
2642         * WebCoreSupport/WebDragClient.mm: Added.
2643         (WebDragClient::WebDragClient):
2644         (WebDragClient::actionMaskForDrag):
2645         (WebDragClient::willPerformDragDestinationAction):
2646           Standard client impl
2647         * WebCoreSupport/WebFrameBridge.mm:
2648         (-[WebFrameBridge startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
2649           Updated to use DragController to track drag state
2650     
2651         * WebCoreSupport/WebPasteboardHelper.h: Added.
2652         (WebPasteboardHelper::WebPasteboardHelper):
2653           A *temporary* Helper class to access NSPasteboard access and 
2654           manipulation functions present in WebKit
2655         * WebCoreSupport/WebPasteboardHelper.mm: Added.
2656         (WebPasteboardHelper::urlFromPasteboard):
2657         (WebPasteboardHelper::plainTextFromPasteboard):
2658         (WebPasteboardHelper::fragmentFromPasteboard):
2659         (WebPasteboardHelper::insertablePasteboardTypes):
2660           See header comment
2661         * WebKit.xcodeproj/project.pbxproj:
2662         * WebView/WebDocumentInternal.h:
2663           Remove unnecessary protocol
2664         * WebView/WebFrameView.mm:
2665         (-[WebFrameView _setDocumentView:]):
2666           Updating to use DragController to track drag state
2667         * WebView/WebHTMLView.mm:
2668         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
2669           ditto
2670         (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]):
2671           ditto
2672         (-[WebHTMLView draggingSourceOperationMaskForLocal:]):
2673           ditto
2674         (-[WebHTMLView draggedImage:endedAt:operation:]):
2675           ditto          
2676         (-[WebHTMLView _documentFragmentForPasteboard:]):
2677           Helper method to generate DocumentFragment from NSPasteboard without regressing 
2678         (-[WebHTMLView _canProcessDragWithDraggingInfo:]):
2679           Updating to use DragController to track drag state
2680         (-[WebHTMLView _isMoveDrag:]):
2681         (-[WebHTMLView _isNSColorDrag:]):
2682         * WebView/WebHTMLViewInternal.h:
2683           Removing unnecessary fields and methods
2684         * WebView/WebView.mm:
2685         (-[WebViewPrivate dealloc]):
2686           Remove obsolete ASSERT
2687         (-[WebView _setInitiatedDrag:]):
2688           Now passes directly through to DragController
2689         (-[WebView _commonInitializationWithFrameName:groupName:]):
2690         (-[WebView _loadingDragOperationForDraggingInfo:]):
2691           Removed
2692         (-[WebView draggingEntered:]):
2693           Updated to use DragController
2694         (-[WebView draggingUpdated:]):
2695           ditto
2696         (-[WebView draggingExited:]):
2697           ditto
2698         (-[WebView performDragOperation:]):
2699           ditto
2700         (-[WebView _hitTest:dragTypes:]):
2701         * WebView/WebViewInternal.h:
2702           remove unnecessary method def
2703
2704 2007-01-22  John Sullivan  <sullivan@apple.com>
2705
2706         * WebView/WebHTMLView.mm:
2707         (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
2708         Tiger build fix: remove unused variable for return value of dictionaryServiceWindowShow
2709
2710 2007-01-22  John Sullivan  <sullivan@apple.com>
2711
2712         Reviewed by Adam and Darin
2713
2714         - fixed <rdar://problem/4794320> "Look Up in Dictionary" does nothing in WebKit 
2715         (need to adopt new API)
2716
2717         * Misc/WebNSURLExtras.m:
2718         (-[NSString _web_isUserVisibleURL]):
2719         random typo correction in comment
2720
2721         * English.lproj/StringsNotToBeLocalized.txt:
2722         updated for these changes
2723
2724         * WebView/WebHTMLView.mm:
2725         (coreGraphicsScreenPointForAppKitScreenPoint):
2726         new function to convert an AppKit screen point to a CG screen point
2727         (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
2728         on Leopard now uses new API. There's something of an impedance mismatch between
2729         this API and WebKit, but that was true for the SPI we were using in Tiger also.
2730         Bug 4945808 covers the ways in which this is not perfect.
2731
2732 2007-01-21  Darin Adler  <darin@apple.com>
2733
2734         Reviewed by Tim H.
2735
2736         * WebInspector/webInspector/inspector.css: Use row-resize for the splitter cursor
2737         instead of move. It's a horizontal splitter resizer.
2738
2739 2007-01-19  Adam Roben  <aroben@apple.com>
2740
2741         Reviewed by Beth.
2742
2743         Fix <rdar://problem/4942294> REGRESSION: "Spelling and Grammar",
2744         "Font", "Speech", and "Writing Direction" are missing from contextual
2745         menu
2746
2747         * WebCoreSupport/WebContextMenuClient.mm:
2748         (fixMenusForOldClients): Change our new SPI tags to
2749         WebMenuItemTagOther because old clients aren't expecting the new tags.
2750         (fixMenusFromOldClients): Use each menu item's title to figure out its
2751         correct tag again.
2752         (WebContextMenuClient::getCustomMenuFromDefaultItems): Call
2753         fixMenusForOldClients before calling up to the delegate.
2754         * WebView/WebUIDelegatePrivate.h: Define WEBMENUITEMTAG_SPI_START so
2755         that we can use it in WebContextMenuClient.
2756
2757 2007-01-19  John Sullivan  <sullivan@apple.com>
2758
2759         Reviewed by Darin
2760
2761         - WebKit part of fix for: <rdar://problem/4451715> REGRESSION: On some sites, have to 
2762           type a character before username/password autofill kicks in
2763           
2764         Added new webView:didFinishDocumentLoadForFrame: SPI and wired it up
2765
2766         * WebView/WebViewPrivate.h:
2767         declare new delegate method
2768
2769         * WebCoreSupport/WebFrameLoaderClient.h:
2770         declare dispatchDidFinishDocumentLoad()
2771
2772         * WebCoreSupport/WebFrameLoaderClient.mm:
2773         (WebFrameLoaderClient::dispatchDidFinishDocumentLoad):
2774         new method, calls new delegate method
2775
2776         * DefaultDelegates/WebDefaultFrameLoadDelegate.m:
2777         (-[WebDefaultFrameLoadDelegate webView:didFinishDocumentLoadForFrame:]):
2778         empty default implementation of new delegate method
2779
2780 2007-01-19  Anders Carlsson  <acarlsson@apple.com>
2781
2782         Reviewed by John Sullivan.
2783
2784         http://bugs.webkit.org/show_bug.cgi?id=12308
2785         REGRESSION(r18910): Crash in WebBaseNetscapePluginStream cancelLoadAndDestroyStreamWithError
2786         
2787         * Plugins/WebBaseNetscapePluginView.mm:
2788         (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
2789         Move code from initWithFrame in here.
2790
2791 2007-01-19  Anders Carlsson  <acarlsson@apple.com>
2792
2793         Yet another build fix.
2794         
2795         * WebCoreSupport/WebChromeClient.h:
2796         * WebCoreSupport/WebChromeClient.mm:
2797         (WebChromeClient::setStatusbarText):
2798
2799 2007-01-18  Anders Carlsson  <acarlsson@apple.com>
2800
2801         Reviewed by Adam.
2802
2803         Move functions from the bridge to the chrome client.
2804         
2805         * WebCoreSupport/WebChromeClient.h:
2806         * WebCoreSupport/WebChromeClient.mm:
2807         (WebChromeClient::runJavaScriptAlert):
2808         (WebChromeClient::runJavaScriptConfirm):
2809         (WebChromeClient::runJavaScriptPrompt):
2810         (WebChromeClient::setStatusBarText):
2811         * WebCoreSupport/WebFrameBridge.mm:
2812
2813 2007-01-18  Adam Roben  <aroben@apple.com>
2814
2815         Reviewed by Beth.
2816
2817         Fix <rdar://problem/4939672> REGRESSION: With text selected that is
2818         not a link, the "Remove Link" contextual menu item remains active
2819
2820         * WebView/WebHTMLView.mm:
2821         (-[WebHTMLView menuForEvent:]): Leave autoenabling of menu items on so
2822         that clients can implement validateMenuItem:.
2823
2824 2007-01-18  Brady Eidson  <beidson@apple.com>
2825
2826         Reviewed by Adele
2827
2828         <rdar://problem/4917290> - 
2829         Null deref in WebFrameLoaderClient::restoreScrollPositionAndViewState() 
2830         after regaining network connection
2831
2832         * WebCoreSupport/WebFrameLoaderClient.mm:
2833         (WebFrameLoaderClient::restoreScrollPositionAndViewState): Bail early with a null currentItem, preventing 
2834         a crash in release builds.  Leave the ASSERT to help find other cases where this might happen in debug builds.
2835
2836 2007-01-18  Kevin Decker  <kdecker@apple.com>
2837
2838         Reviewed by John.
2839
2840         <rdar://problem/4939511> WebKit should set the CG clip path for plug-ins that draw using CoreGraphics
2841
2842         * Plugins/WebBaseNetscapePluginView.mm:
2843         (-[WebBaseNetscapePluginView drawRect:]):  Set the CG clip path to the plug-in dirty rect. This allows plug-ins to obtain their
2844         dirty rect using functions like CGContextGetClipBoundingBox().
2845
2846 2007-01-17  Alice Liu  <alice.liu@apple.com>
2847
2848         Reviewed by Harrison.
2849
2850         Fix for <rdar://problem/4894155> REGRESSION: Extra line break is pasted with content into message body after choosing File - Paste
2851
2852         Migration of some editing code from WebHTMView to WebCore::Editor
2853         resulted in not calling pasteboardTypesForSelection, which Mail was
2854         overriding for the special purpose of adding a type to the
2855         pasteboard after WebKit did.  This patch adds 2 separate code paths
2856         for Tiger and Leopard.  On Tiger we give in and call the WebView's
2857         pasteboardTypesForSelection.  On Leopard we call a delegate after
2858         the pasteboard types are set. 
2859
2860         * DefaultDelegates/WebDefaultEditingDelegate.m:
2861         (-[WebDefaultEditingDelegate webView:didSetSelectionTypesForPasteboard:]):
2862         * WebCoreSupport/WebEditorClient.h:
2863         * WebCoreSupport/WebEditorClient.mm:
2864         (WebEditorClient::didSetSelectionTypesForPasteboard):
2865         (WebEditorClient::pasteboardTypesForSelection):
2866         * WebView/WebEditingDelegate.h:
2867
2868 2007-01-17  John Sullivan  <sullivan@apple.com>
2869
2870         Reviewed by Darin
2871
2872         - WebKit part of fix for <rdar://problem/4462420> REGRESSION: Mail hangs during 
2873           Replace All if the replacement string contains the search string
2874
2875         * Misc/WebKitVersionChecks.h:
2876         Added extern "C" so this can be used from .mm files. I don't need this change anymore for
2877         this fix, but it's still worth fixing now so it doesn't bite anyone later.
2878
2879         * WebView/WebDocumentPrivate.h:
2880         Invented new private protocol WebDocumentIncrementalSearching, that has one method. The one
2881         method is just like the one WebDocumentSearching method, but with an additional parameter.
2882         We hope to eliminate this dependence on protocols someday, but adding another one as SPI
2883         seems like it won't make anything worse.
2884         
2885         * WebView/WebHTMLView.mm:
2886         (-[WebHTMLView searchFor:direction:caseSensitive:wrap:]):
2887         now calls through to new method that has one additional parameter, passing NO to match old behavior
2888         (-[WebHTMLView searchFor:direction:caseSensitive:wrap:startInSelection:]):
2889         pass new parameter to bridge
2890         
2891         * WebView/WebPDFView.h:
2892         Declare conformance to WebDocumentIncrementalSearching protocol
2893         
2894         * WebView/WebPDFView.mm:
2895         (-[WebPDFView searchFor:direction:caseSensitive:wrap:]):
2896         now calls through to new method that has one additional parameter, passing NO to match old behavior
2897         (-[WebPDFView searchFor:direction:caseSensitive:wrap:startInSelection:]):
2898         new method, former guts of searchFor:direction:caseSensitive:wrap: but now handles startInSelection
2899         parameter
2900         
2901         * WebView/WebViewPrivate.h:
2902         Declare new searchFor:direction:caseSensitive:wrap:startInSelection: method, just like existing
2903         method but with one additional parameter
2904
2905         * WebView/WebView.mm:
2906         (-[WebView searchFor:direction:caseSensitive:wrap:]):
2907         now calls through to new method that has one additional parameter, passing NO to match old behavior
2908         (-[WebView searchFor:direction:caseSensitive:wrap:startInSelection:]):
2909         new method, former guts of searchFor:direction:caseSensitive:wrap: but now handles startInSelection
2910         parameter
2911         
2912 2007-01-17  Brady Eidson  <beidson@apple.com>
2913
2914         Reviewed by Deth Bakin and Brian Dash
2915
2916         Drop Panther Support (?!?) and change the comment explaining some SPI forward decls
2917
2918         * Misc/WebDownload.m:
2919
2920 2007-01-17  Darin Adler  <darin@apple.com>
2921
2922         Reviewed by Maciej.
2923
2924         - fix http://bugs.webkit.org/show_bug.cgi?id=12278
2925           <rdar://problem/4928705> REGRESSION(r13070): Dragged image size includes padding (12278)
2926
2927         * Misc/WebElementDictionary.mm: (-[WebElementDictionary _imageRect]):
2928         Call HitTestResult::imageRect, not HitTestResult::boundingBox.
2929
2930 2007-01-17  Anders Carlsson  <acarlsson@apple.com>
2931
2932         Reviewed by John Sullivan.
2933         
2934         Move all code in WebNetscapePluginEmbeddedView down to WebBaseNetscapePluginView.
2935         
2936         * Plugins/WebBaseNetscapePluginView.h:
2937         * Plugins/WebBaseNetscapePluginView.mm:
2938         (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
2939         (-[WebBaseNetscapePluginView didStart]):
2940         (-[WebBaseNetscapePluginView dataSource]):
2941         (-[WebBaseNetscapePluginView dealloc]):
2942         (-[WebBaseNetscapePluginView pluginView:receivedResponse:]):
2943         (-[WebBaseNetscapePluginView pluginView:receivedData:]):
2944         (-[WebBaseNetscapePluginView pluginView:receivedError:]):
2945         (-[WebBaseNetscapePluginView pluginViewFinishedLoading:]):
2946         (-[WebBaseNetscapePluginView _redeliverStream]):
2947         * Plugins/WebNetscapePluginEmbeddedView.h:
2948         * Plugins/WebNetscapePluginEmbeddedView.mm:
2949
2950 2007-01-17  Maciej Stachowiak  <mjs@apple.com>
2951
2952         Reviewed by Eric.
2953         
2954         <rdar://problem/4887781> Seed: Repro Safari crash in -[WebHTMLRepresentation receivedData:withDataSource:] (music.aol.com)
2955
2956         * WebView/WebDataSource.mm:
2957         (-[WebDataSource _receivedData:]): Protect self against destruction partway through this method.
2958
2959 2007-01-16  Alice Liu  <alice.liu@apple.com>
2960
2961         Reviewed by harrison.
2962
2963         Fixed <rdar://problem/4921134> WebKit needs extensible cut/copy to allow additional types to be written to pasteboard
2964
2965         * DefaultDelegates/WebDefaultEditingDelegate.m:
2966         (-[WebDefaultEditingDelegate webView:didWriteSelectionToPasteboard:]):
2967         * WebCoreSupport/WebEditorClient.h:
2968         * WebCoreSupport/WebEditorClient.mm:
2969         (WebEditorClient::didWriteSelectionToPasteboard):
2970         * WebKit.xcodeproj/project.pbxproj:
2971         * WebView/WebEditingDelegate.h:
2972
2973 2007-01-15  Justin Garcia  <justin.garcia@apple.com>
2974
2975         Reviewed by mjs
2976
2977         <rdar://problem/4810960>
2978         Gmail Editor: window.focus() called on keyDown (9640)
2979
2980         The window's keydown event handler was being called
2981         instead of the editable subframe's if there was a key binding
2982         for the key event.
2983
2984         * WebView/WebHTMLView.mm:
2985         (-[WebHTMLView performKeyEquivalent:]): Don't send the event
2986         to WebCore unless this WebHTMLView is the firstResponder.
2987
2988 2007-01-15  Anders Carlsson  <acarlsson@apple.com>
2989
2990         Reviewed by Darin.
2991
2992         Update to match WebCore.
2993         
2994         * WebCoreSupport/WebFrameLoaderClient.h:
2995         * WebCoreSupport/WebFrameLoaderClient.mm:
2996         (WebFrameLoaderClient::willChangeEstimatedProgress):
2997         (WebFrameLoaderClient::didChangeEstimatedProgress):
2998         (WebFrameLoaderClient::postProgressStartedNotification):
2999         (WebFrameLoaderClient::postProgressEstimateChangedNotification):
3000         (WebFrameLoaderClient::postProgressFinishedNotification):
3001         Post the correct notifications.
3002         
3003         * WebView/WebView.mm:
3004         (-[WebViewPrivate init]):
3005         (-[WebViewPrivate dealloc]):
3006         Get rid of all progress tracking code.
3007         
3008         (-[WebView estimatedProgress]):
3009         Call ProgressTracker::estimatedProgress()
3010
3011 2007-01-15  Adam Roben  <aroben@apple.com>
3012
3013         Reviewed by Darin.
3014
3015         Fix: http://bugs.webkit.org/show_bug.cgi?id=12134
3016         REGRESSION: Assertion failure and crash when right clicking selection
3017         in forms
3018
3019         * WebCoreSupport/WebContextMenuClient.mm:
3020         (fixMenusFromOldApps): Static helper to fix up menus from applications
3021         compiled against Tiger WebKit.
3022         (WebContextMenuClient::getCustomMenuFromDefaultItems): Call helper to
3023         fix menus.
3024         * WebView/WebUIDelegatePrivate.h: Fixed typo.
3025
3026 2007-01-14  David Kilzer  <ddkilzer@kilzer.net>
3027
3028         Reviewed by Darin.
3029
3030         - fix http://bugs.webkit.org/show_bug.cgi?id=12251
3031           REGRESSION (r18822-r18823): Assertion failure opening document with non-existent resources
3032           (dom/xhtml/level2/html/HTMLIFrameElement11.xhtml)
3033
3034         * WebView/WebView.mm:
3035         (-[WebView _objectForIdentifier:]): Removed assertion.
3036         (-[WebView _removeObjectForIdentifier:]): Removed assertion.
3037
3038 2007-01-12  Anders Carlsson  <acarlsson@apple.com>
3039
3040         Reviewed by Darin.
3041
3042         Add a HashMap between unsigned longs and Objective-C objects and use it for
3043         the resource load delegate.
3044         
3045         * WebCoreSupport/WebFrameLoaderClient.h:
3046         * WebCoreSupport/WebFrameLoaderClient.mm:
3047         (WebFrameLoaderClient::assignIdentifierToInitialRequest):
3048         (WebFrameLoaderClient::dispatchIdentifierForInitialRequest):
3049         (WebFrameLoaderClient::dispatchWillSendRequest):
3050         (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
3051         (WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
3052         (WebFrameLoaderClient::dispatchDidReceiveResponse):
3053         (WebFrameLoaderClient::dispatchDidReceiveContentLength):
3054         (WebFrameLoaderClient::dispatchDidFinishLoading):
3055         (WebFrameLoaderClient::dispatchDidFailLoading):
3056         (WebFrameLoaderClient::incrementProgress):
3057         (WebFrameLoaderClient::completeProgress):
3058         * WebView/WebView.mm:
3059         (-[WebViewPrivate init]):
3060         (-[WebViewPrivate dealloc]):
3061         (-[WebView _addObject:forIdentifier:]):
3062         (-[WebView _objectForIdentifier:]):
3063         (-[WebView _removeObjectForIdentifier:]):
3064         * WebView/WebViewInternal.h:
3065
3066 2007-01-11  Brady Eidson  <beidson@apple.com>
3067
3068         Reviewed by Anders
3069
3070         Rewrites HTTP Authentication setting up a more platform-independent structure
3071
3072         * WebCoreSupport/WebFrameLoaderClient.h:
3073         * WebCoreSupport/WebFrameLoaderClient.mm:
3074         (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
3075         (WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
3076         * WebKit.xcodeproj/project.pbxproj:
3077
3078 2007-01-11  Darin Adler  <darin@apple.com>
3079
3080         Reviewed by Mitz.
3081
3082         - fix http://bugs.webkit.org/show_bug.cgi?id=12180
3083           REGRESSION: Double-clicking on JS exception in JS log crashes in -[SharedBufferData initWithSharedBuffer:]
3084
3085         * WebView/WebDataSource.mm: (-[WebDataSource data]): Added null check.
3086
3087 2007-01-11  Darin Adler  <darin@apple.com>
3088
3089         Reviewed by Hyatt.
3090
3091         - moved code from a couple WebCore bridging classes here instead
3092
3093         * Misc/WebNSPasteboardExtras.mm:
3094         (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:]):
3095         Use MimeTypeRegistry instead of WebMimeTypeRegistryBridge.
3096
3097         * WebView/WebHTMLRepresentation.mm:
3098         (stringArray): Added. Helper to convert a HashSet to an NSArray.
3099         (concatenateArrays): Added. Helper to concatenate two NSArray objects.
3100         (+[WebHTMLRepresentation supportedMIMETypes]): Use MimeTypeRegistry instead of
3101         WebMimeTypeRegistryBridge. Also fix a potential GC problem by using a RetainPtr
3102         instead of a [retain] on a global variable.
3103         (+[WebHTMLRepresentation supportedNonImageMIMETypes]): Ditto.
3104         (+[WebHTMLRepresentation supportedImageMIMETypes]): Ditto.
3105
3106         * WebView/WebHTMLView.mm:
3107         (-[WebHTMLView _imageExistsAtPaths:]): Use MimeTypeRegistry instead of
3108         WebMimeTypeRegistryBridge.
3109         (-[WebHTMLView _documentFragmentWithPaths:]): Ditto.
3110
3111         * WebView/WebView.mm: (+[WebView _decodeData:]): Moved code here from
3112         the old WebCoreEncodings class.
3113
3114         * WebKit.xcodeproj/project.pbxproj: Let Xcode have its way with this file.
3115         Moved WebRenderNode into the appropriate group.
3116
3117 2007-01-10  Mitz Pettel  <mitz@webkit.org>
3118
3119         Reviewed by Darin.
3120
3121         - fix http://bugs.webkit.org/show_bug.cgi?id=11775
3122           'Show URLs in Tool Tips' preference is ignored
3123
3124         * WebView/WebHTMLView.mm:
3125         (-[WebHTMLView _resetCachedWebPreferences:]):
3126         (-[WebHTMLView setDataSource:]): Added a call to _resetCachedWebPreferences:.
3127         Added an assertion that the view is not closed, instead of reopening it.
3128         Reopening should not occur, now that <http://bugs.webkit.org/show_bug.cgi?id=12087>
3129         is fixed.
3130
3131 2007-01-10  Beth Dakin  <bdakin@apple.com>
3132
3133         Reviewed by John.
3134
3135         Fix for <rdar://problem/4914258> REGRESSION: Search in Google now 
3136         operates on the current WebView instead of invoking Safari's 
3137         service
3138
3139         * WebCoreSupport/WebContextMenuClient.h:
3140         * WebCoreSupport/WebContextMenuClient.mm:
3141         (WebContextMenuClient::searchWithGoogle): Call into WebView to 
3142         search in Google.
3143         * WebView/WebViewInternal.h: Make _searchWithGoogleFromMenu 
3144         available.
3145
3146 2007-01-09  Timothy Hatcher  <timothy@apple.com>
3147
3148         Reviewed by Darin.
3149
3150         Rename the now ObjC++ files to be .mm and remove the explicit file types.
3151
3152         * DOM/WebDOMOperations.m: Removed.
3153         * DefaultDelegates/WebDefaultContextMenuDelegate.m: Removed.
3154         * English.lproj/StringsNotToBeLocalized.txt:
3155         * Misc/WebCoreStatistics.m: Removed.
3156         * Misc/WebElementDictionary.m: Removed.
3157         * Misc/WebIconDatabase.m: Removed.
3158         * Misc/WebNSAttributedStringExtras.m: Removed.
3159         * Misc/WebNSPasteboardExtras.m: Removed.
3160         * Plugins/WebNetscapePluginEmbeddedView.m: Removed.
3161         * Plugins/WebNullPluginView.m: Removed.
3162         * Plugins/WebPluginContainerCheck.m: Removed.
3163         * WebCoreSupport/WebViewFactory.m: Removed.
3164         * WebKit.xcodeproj/project.pbxproj:
3165         * WebView/WebArchiver.m: Removed.
3166         * WebView/WebHTMLRepresentation.m: Removed.
3167         * WebView/WebHTMLView.m: Removed.
3168         * WebView/WebRenderNode.m: Removed.
3169         * WebView/WebResource.m: Removed.
3170         * WebView/WebScriptDebugDelegate.m: Removed.
3171
3172 2007-01-09  Maciej Stachowiak  <mjs@apple.com>
3173
3174         Reviewed by Darin.
3175         
3176         - remove window display throttling code; no longer used
3177
3178         * Misc/WebNSWindowExtras.h:
3179         * Misc/WebNSWindowExtras.m:
3180         * WebView/WebFrameView.mm:
3181         (-[WebFrameView initWithFrame:]):
3182         * WebView/WebPreferenceKeysPrivate.h:
3183
3184 2007-01-08  Anders Carlsson  <acarlsson@apple.com>
3185
3186         Reviewed by Brady.
3187
3188         Remove bridge functions that are implemented directly in FrameLoader now.
3189         
3190         * WebCoreSupport/WebFrameBridge.mm:
3191
3192 2007-01-08  Sam Weinig  <sam@webkit.org>
3193
3194         Reviewed by Mark.
3195
3196         Adds default value for outline-color and fixes default
3197         values of the recently fixed *-color properties.
3198
3199         * WebInspector/webInspector/inspector.js:
3200
3201 2007-01-08  Beth Dakin  <bdakin@apple.com>
3202
3203         Reviewed by Adam.
3204
3205         Fix for http://bugs.webkit.org/show_bug.cgi?id=12161 REGRESSION: 
3206         Crash when control-clicking on an image for contextual menu
3207
3208         * WebView/WebHTMLView.m:
3209         (-[WebHTMLView menuForEvent:]): We need to nil-check coreMenu since 
3210         it will be nil if the DOM popped up a menu instead. I cleaned up 
3211         the function to make all the nil checks early returns instead of 
3212         nesting all of the content. Also moved the autorelease to be with 
3213         the creation of the menu instead of at the return.
3214
3215 2007-01-08  Sam Weinig  <sam@webkit.org>
3216
3217         Reviewed by Tim H.
3218
3219         Adds default value for -webkit-box-shadow and fixes default
3220         value of -webkit-column-count to be "auto".  Also sorts the
3221         list of defaults.
3222
3223         * WebInspector/webInspector/inspector.js:
3224
3225 2007-01-08  Andrew Wellington  <proton@wiretapped.net>
3226
3227         Reviewed by Mark.
3228
3229         * WebInspector/webInspector/inspector.js: Hide default values of
3230         -webkit-column styles in WebInspector.
3231
3232 2007-01-05  Darin Adler  <darin@apple.com>
3233
3234         Reviewed by Hyatt.
3235
3236         * Misc/WebNSAttributedStringExtras.m:
3237         (+[NSAttributedString _web_attributedStringFromRange:]):
3238         Updated to use new list marker text API that is String rather than
3239         DeprecatedString. Also removed code to do text form of non-text list
3240         markers since the list marker class now deals with that.
3241
3242 2007-01-05  Anders Carlsson  <acarlsson@apple.com>
3243
3244         Reviewed by Darin.
3245
3246         Fix build.
3247         
3248         * WebCoreSupport/WebFrameLoaderClient.h:
3249         * WebCoreSupport/WebFrameLoaderClient.mm:
3250         (WebFrameLoaderClient::dispatchCreatePage):
3251
3252 2007-01-05  Anders Carlsson  <acarlsson@apple.com>
3253
3254         Reviewed by Maciej.
3255
3256         The data returned is now a SharedBuffer so wrap it in an NSData object.
3257         
3258         * WebView/WebDataSource.mm:
3259         (-[WebDataSource data]):
3260
3261 2007-01-04  Adam Roben  <aroben@apple.com>
3262
3263         Reviewed by Geoff, cheered by others.
3264
3265         Dead code elimination.
3266
3267         * WebView/WebHTMLView.m:
3268
3269 2007-01-04  Adam Roben  <aroben@apple.com>
3270
3271         Boo on me for undoing Beth's hard work.
3272
3273         * WebView/WebHTMLView.m:
3274         (-[WebHTMLView menuForEvent:]): Undo a mistaken roll out of r18597.
3275
3276 2007-01-04  David Kilzer  <ddkilzer@webkit.org>
3277
3278         Reviewed by Brady.
3279
3280         - fix http://bugs.webkit.org/show_bug.cgi?id=12111
3281           Uninitialized variable in -[WebDefaultPolicyDelegate webView:decidePolicyForMIMEType:request:frame:decisionListener:]
3282
3283         * DefaultDelegates/WebDefaultPolicyDelegate.m: Initialize isDirectory.
3284
3285 2007-01-04  Adam Roben  <aroben@apple.com>
3286
3287         Reviewed by Geoff.
3288
3289         Remove WebKit/AppKit from handling tabbing between subframes.
3290
3291         * WebCoreSupport/WebChromeClient.h: Added new ChromeClient methods for
3292         moving focus out of the WebView.
3293         * WebCoreSupport/WebChromeClient.mm: Ditto.
3294         (WebChromeClient::canTakeFocus):
3295         (WebChromeClient::takeFocus):
3296         * WebCoreSupport/WebFrameBridge.mm:
3297         (-[WebFrameBridge webView]): Added null-check of m_frame.
3298         * WebView/WebHTMLView.m: Removed -[WebHTMLView nextValidKeyView].
3299         (-[WebHTMLView _updateActiveState]): Changed to focus the frame if
3300         WebCore believes it to be the focused frame.
3301         (-[WebHTMLView becomeFirstResponder]): Rewrote to call into
3302         FocusController to place focus correctly within the WebView.
3303
3304 2007-01-04  Anders Carlsson  <acarlsson@apple.com>
3305
3306         Reviewed by Brady.
3307
3308         FrameLoaderClient changed yet again.
3309         
3310         * WebCoreSupport/WebFrameLoaderClient.h:
3311         * WebCoreSupport/WebFrameLoaderClient.mm:
3312         (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
3313         (WebFrameLoaderClient::dispatchWillSendRequest):
3314
3315 2007-01-04  Anders Carlsson  <acarlsson@apple.com>
3316
3317         Reviewed by Adam.
3318
3319         FrameLoaderClient changed again.
3320         
3321         * WebCoreSupport/WebFrameLoaderClient.h:
3322         * WebCoreSupport/WebFrameLoaderClient.mm:
3323         (WebFrameLoaderClient::download):
3324         (WebFrameLoaderClient::willUseArchive):
3325
3326 2007-01-04  Beth Dakin  <bdakin@apple.com>
3327
3328         Reviewed by Adam.
3329
3330         No need to hit test twice.
3331
3332         * WebView/WebHTMLView.m:
3333         (-[WebHTMLView menuForEvent:]):
3334
3335 2007-01-04  Beth Dakin  <bdakin@apple.com>
3336
3337         Reviewed by Adam.
3338
3339         Turn on WebCore context menus. Delete a bunch of WebKit context 
3340         menu code that is no longer needed.
3341
3342         * DefaultDelegates/WebDefaultContextMenuDelegate.m: Removed a lot 
3343         of code from this class. This class only still needs to exist for 
3344         PDF context menus, so we only need to deal with the menu items that 
3345         might possibly be added to a PDF context menu.
3346         (-[WebDefaultUIDelegate 
3347         menuItemWithTag:target:representedObject:]): Same.
3348         (-[WebDefaultUIDelegate 
3349         webView:contextMenuItemsForElement:defaultMenuItems:]): Same.
3350         * WebCoreSupport/WebContextMenuClient.h: Name change and have the 
3351         former getCustomMenuFromDefaultItems function return the 
3352         PlatformMenuDescription since it feels funny to have the client set 
3353         the new platform description.
3354         * WebCoreSupport/WebContextMenuClient.mm: Same.
3355         (WebContextMenuClient::getCustomMenuFromDefaultItems): Same. Also 
3356         move in some code that used to be in _menuForElement.
3357         * WebView/WebHTMLView.m: Deleted a bunch of un-used functions
3358         (-[WebHTMLView menuForEvent:]): Turn on menus, and append the 
3359         Inspect Element item. 
3360         * WebView/WebHTMLViewPrivate.h: Deleted a bunch of un-used 
3361         functions.
3362         * WebView/WebView.mm:
3363         (-[WebView _menuForElement:defaultItems:]): Removed a lot of code 
3364         from _menuForElement that now makes more sense elsewhere. Only PDF 
3365         context menus use this function now. Hopefully we can just get rid 
3366         of it soon, too.
3367
3368 2007-01-04  Anders Carlsson  <acarlsson@apple.com>
3369
3370         Reviewed by Brady.
3371
3372         Update for WebCore changes.
3373         
3374         * WebCoreSupport/WebFrameLoaderClient.h:
3375         * WebCoreSupport/WebFrameLoaderClient.mm:
3376         (WebFrameLoaderClient::download):
3377         (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
3378         (WebFrameLoaderClient::dispatchWillSendRequest):
3379         (WebFrameLoaderClient::dispatchDidReceiveResponse):
3380         (WebFrameLoaderClient::incrementProgress):
3381
3382 2007-01-04  Don Gibson  <dgibson77@gmail.com>
3383
3384         Reviewed by Alexey.
3385
3386         http://bugs.webkit.org/show_bug.cgi?id=11900:
3387         Windows build bustage
3388
3389         * COM/ChromeClientWin.cpp:
3390         (ChromeClientWin::addMessageToConsole):
3391         (ChromeClientWin::runBeforeUnloadConfirmPanel):
3392         * COM/ChromeClientWin.h:
3393         * COM/ContextMenuClientWin.cpp:
3394         (ContextMenuClientWin::contextMenuItemSelected):
3395         * COM/ContextMenuClientWin.h:
3396         * COM/WebFrameLoaderClient.cpp:
3397         (WebFrameLoaderClient::setDocumentViewFromPageCache):
3398         (WebFrameLoaderClient::forceLayout):
3399         (WebFrameLoaderClient::forceLayoutForNonHTML):
3400         (WebFrameLoaderClient::updateGlobalHistoryForStandardLoad):
3401         (WebFrameLoaderClient::updateGlobalHistoryForReload):
3402         (WebFrameLoaderClient::shouldGoToHistoryItem):
3403         (WebFrameLoaderClient::saveScrollPositionAndViewStateToItem):
3404         (WebFrameLoaderClient::restoreScrollPositionAndViewState):
3405         (WebFrameLoaderClient::provisionalLoadStarted):
3406         (WebFrameLoaderClient::saveDocumentViewToPageCache):
3407         (WebFrameLoaderClient::canCachePage):
3408         * COM/WebFrameLoaderClient.h:
3409         * WebKit.vcproj/WebKit.vcproj:
3410
3411 2007-01-03  John Sullivan  <sullivan@apple.com>
3412
3413         * WebView/WebPDFView.mm:
3414         (-[WebPDFView _openWithFinder:]):
3415         Tiger build fix: use [NSNumber initWithInt:] rather than the new [NSNumber initWithInteger:]
3416
3417 2007-01-03  John Sullivan  <sullivan@apple.com>
3418
3419         Reviewed by Kevin Decker
3420
3421         - fixed <rdar://problem/4145714> WebKit's PDFView's "Open in Preview" puts the 
3422           PDF in /tmp, both group and world-readable
3423
3424         * WebView/WebPDFView.mm:
3425         (-[WebPDFView _openWithFinder:]):
3426         Make the file only readable by the current user
3427
3428 2007-01-03  Beth Dakin  <bdakin@apple.com>
3429
3430         Reviewed by John.
3431
3432         Make localized strings for all of the context menu item titles that 
3433         are accessible to WebCore.
3434
3435         * English.lproj/Localizable.strings:
3436         * WebCoreSupport/WebViewFactory.m:
3437         (-[WebViewFactory contextMenuItemTagOpenLinkInNewWindow]):
3438         (-[WebViewFactory contextMenuItemTagDownloadLinkToDisk]):
3439         (-[WebViewFactory contextMenuItemTagCopyLinkToClipboard]):
3440         (-[WebViewFactory contextMenuItemTagOpenImageInNewWindow]):
3441         (-[WebViewFactory contextMenuItemTagDownloadImageToDisk]):
3442         (-[WebViewFactory contextMenuItemTagCopyImageToClipboard]):
3443         (-[WebViewFactory contextMenuItemTagOpenFrameInNewWindow]):
3444         (-[WebViewFactory contextMenuItemTagCopy]):
3445         (-[WebViewFactory contextMenuItemTagGoBack]):
3446         (-[WebViewFactory contextMenuItemTagGoForward]):
3447         (-[WebViewFactory contextMenuItemTagStop]):
3448         (-[WebViewFactory contextMenuItemTagReload]):
3449         (-[WebViewFactory contextMenuItemTagCut]):
3450         (-[WebViewFactory contextMenuItemTagPaste]):
3451         (-[WebViewFactory contextMenuItemTagNoGuessesFound]):
3452         (-[WebViewFactory contextMenuItemTagIgnoreSpelling]):
3453         (-[WebViewFactory contextMenuItemTagLearnSpelling]):
3454         (-[WebViewFactory contextMenuItemTagSearchInSpotlight]):
3455         (-[WebViewFactory contextMenuItemTagSearchWeb]):
3456         (-[WebViewFactory contextMenuItemTagLookUpInDictionary]):
3457         (-[WebViewFactory contextMenuItemTagOpenLink]):
3458         (-[WebViewFactory contextMenuItemTagIgnoreGrammar]):
3459         (-[WebViewFactory contextMenuItemTagSpellingMenu]):
3460         (-[WebViewFactory contextMenuItemTagShowSpellingPanel:]):
3461         (-[WebViewFactory contextMenuItemTagCheckSpelling]):
3462         (-[WebViewFactory contextMenuItemTagCheckSpellingWhileTyping]):
3463         (-[WebViewFactory contextMenuItemTagCheckGrammarWithSpelling]):
3464         (-[WebViewFactory contextMenuItemTagFontMenu]):
3465         (-[WebViewFactory contextMenuItemTagShowFonts]):
3466         (-[WebViewFactory contextMenuItemTagBold]):
3467         (-[WebViewFactory contextMenuItemTagItalic]):
3468         (-[WebViewFactory contextMenuItemTagUnderline]):
3469         (-[WebViewFactory contextMenuItemTagOutline]):
3470         (-[WebViewFactory contextMenuItemTagStyles]):
3471         (-[WebViewFactory contextMenuItemTagShowColors]):
3472         (-[WebViewFactory contextMenuItemTagSpeechMenu]):
3473         (-[WebViewFactory contextMenuItemTagStartSpeaking]):
3474         (-[WebViewFactory contextMenuItemTagStopSpeaking]):
3475         (-[WebViewFactory contextMenuItemTagWritingDirectionMenu]):
3476         (-[WebViewFactory contextMenuItemTagDefaultDirection]):
3477         (-[WebViewFactory contextMenuItemTagLeftToRight]):
3478         (-[WebViewFactory contextMenuItemTagRightToLeft]):
3479
3480 2007-01-03  Brady Eidson  <beidson@apple.com>
3481
3482         Reviewed by John Sullivan
3483
3484         In the Bookmarks View/History View, favicon may be the incorrect size
3485
3486         * History/WebHistoryItem.mm:
3487         (-[WebHistoryItem icon]): Call to the WebIconDatabase until a WebCore issue is resolved
3488
3489 2007-01-03  Adele Peterson  <adele@apple.com>
3490
3491         Reviewed by Darin.
3492
3493         - Fix for <rdar://problem/4455147> Safari allows division slash character in URLs, which looks like slash character (not fixed by IDNScriptWhiteList.txt)
3494
3495         * Misc/WebNSURLExtras.m: (allCharactersInIDNScriptWhiteList): Always disallow the division slash character.
3496
3497 2007-01-02  Brady Eidson <beidson@apple.com>
3498
3499         Controversially reviewed by Tim H. and Maciej
3500
3501         Fixes http://bugs.webkit.org/show_bug.cgi?id=12086, http://bugs.webkit.org/show_bug.cgi?id=12088, 
3502         possibly http://bugs.webkit.org/show_bug.cgi?id=12087, and probably a slew of others
3503
3504         WebHistoryItems returned from the WebBackForwardList accessors were being release/retained out-of-order
3505         by the Safari app.  This bug never surfaced before because the WebBackForwardList had a retain on the 
3506         item, preventing deallocation. Since the items are now just temporary wrappers, the list 
3507         is no longer actually retaining them.
3508
3509         This solution is to simulate the ownership with a [[id retain] autorelease] - gross, but maybe the 
3510         only solution for now...  =/
3511
3512         We can possibly consider reverting this fix at a later date - that task is marked by
3513         <rdar://problem/4905705>
3514
3515         * History/WebBackForwardList.mm:
3516         (-[WebBackForwardList backItem]):
3517         (-[WebBackForwardList currentItem]):
3518         (-[WebBackForwardList forwardItem]):
3519         (-[WebBackForwardList itemAtIndex:]):
3520
3521 2007-01-02  Beth Dakin  <bdakin@apple.com>
3522
3523         Reviewed by Geoff.
3524
3525         Remove un-used function.
3526
3527         * WebCoreSupport/WebContextMenuClient.h:
3528         * WebCoreSupport/WebContextMenuClient.mm:
3529
3530 2007-01-02  Brady Eidson  <beidson@apple.com>
3531
3532         Reviewed extensively and repeatedly by Darin
3533
3534         <rdar://problem/4887137> - WebCore Back/Forward Cache 
3535         Most things not specifically commented on in the ChangeLog can be summed up as 
3536         "Do things exactly the same way as we used to, but just stick in WebCore-land as much as possible"
3537
3538         * History/WebBackForwardList.mm:
3539         (kitPrivate): Convenience functions to help with subbing "WebBackForwardListPrivate" for WebCore::BackForwardList
3540         (core):
3541         (backForwardListWrappers): A HashMap pattern used to map WebCore objects to their WebKit counterpart
3542         (kit):
3543         (+[WebBackForwardList setDefaultPageCacheSizeIfNecessary]):
3544         (-[WebBackForwardList initWithWebCoreBackForwardList:]):
3545         (-[WebBackForwardList init]):
3546         (-[WebBackForwardList dealloc]):
3547         (-[WebBackForwardList finalize]):
3548         (-[WebBackForwardList _close]):
3549         (-[WebBackForwardList addItem:]):
3550         (-[WebBackForwardList removeItem:]):
3551         (-[WebBackForwardList containsItem:]):
3552         (-[WebBackForwardList goBack]):
3553         (-[WebBackForwardList goForward]):
3554         (-[WebBackForwardList goToItem:]):
3555         (-[WebBackForwardList backItem]):
3556         (-[WebBackForwardList currentItem]):
3557         (-[WebBackForwardList forwardItem]):
3558         (vectorToNSArray):
3559         (-[WebBackForwardList backListWithLimit:]):
3560         (-[WebBackForwardList forwardListWithLimit:]):
3561         (-[WebBackForwardList capacity]):
3562         (-[WebBackForwardList setCapacity:]):
3563         (-[WebBackForwardList description]):
3564         (-[WebBackForwardList _clearPageCache]):
3565         (-[WebBackForwardList setPageCacheSize:]):
3566         (-[WebBackForwardList pageCacheSize]):
3567         (-[WebBackForwardList _usesPageCache]):
3568         (-[WebBackForwardList backListCount]):
3569         (-[WebBackForwardList forwardListCount]):
3570         (-[WebBackForwardList itemAtIndex:]):
3571         * History/WebBackForwardListInternal.h: Added.
3572
3573         * History/WebHistory.m: Removed.
3574         * History/WebHistory.mm: Added - Needed to be .mm to accept C++ header style
3575         (-[_WebCoreHistoryProvider containsItemForURLLatin1:length:]):
3576         (-[_WebCoreHistoryProvider containsItemForURLUnicode:length:]):