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