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