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