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