5a82fce3202ea7c8bb5e072a9711816a2b897693
[WebKit-https.git] / WebKit / ChangeLog
1 2005-06-21  John Sullivan  <sullivan@apple.com>
2
3         Reviewed by Vicki Murley
4         
5         - fixed assertion failure Vicki ran into
6
7         * Misc.subproj/WebIconDatabase.m:
8         (-[WebIconDatabase _forgetIconForIconURLString:]):
9         Handle the case where there are no associated page URLs for the icon URL
10
11 2005-06-20  John Sullivan  <sullivan@apple.com>
12
13         Reviewed by Chris Blumenberg.
14         
15         - fixed <rdar://problem/4155182> icon database retain counts can be incorrect after removing all icons
16         
17         Replaced the concept of "future retain count per page URL" with a simpler concept of "retain count per
18         page URL", which is maintained even after the icon is actually loaded (unlike the future retain count).
19         The total retain count for an icon is now the sum of the retain counts per page URL along with any retain
20         count not associated with a page URL -- this is still needed for some internal housekeeping purposes.
21
22         * Misc.subproj/WebIconDatabasePrivate.h:
23         renamed iconURLToURLs -> iconURLToPageURLs for clarity
24         renamed URLToIconURL -> pageURLToIconURL for clarity
25         renamed futureURLToRetainCount -> pageURLToRetainCount (there's no more "future" aspect)
26         renamed iconURLToRetainCount -> iconURLToExtraRetainCount (it now maintains only some of the retain count)
27         
28         * Misc.subproj/WebIconDatabase.m:
29         (+[WebIconDatabase sharedIconDatabase]):
30         updated for name changes only
31         (-[WebIconDatabase init]):
32         ditto
33         (-[WebIconDatabase iconForURL:withSize:cache:]):
34         ditto
35         (-[WebIconDatabase iconURLForURL:]):
36         ditto
37         (-[WebIconDatabase retainIconForURL:]):
38         just bump the retain count in pageURLToRetainCount, instead of behaving differently based on whether 
39         an icon had been loaded for this URL; this let me delete the internal method _retainFutureIconForURL:
40         (-[WebIconDatabase releaseIconForURL:]):
41         decrement the retain count in pageURLToRetainCount, then handle the case where the retain count for 
42         this page has gone to zero. I deleted the internal method _releaseFutureIconForURL: formerly called here.
43         (-[WebIconDatabase removeAllIcons]):
44         remove all the code that dealt with retain counts; this operation no longer affects retain counts
45         (-[WebIconDatabase _setIconURL:forURL:]):
46         remove the code that consolidated multiple retain counts for different page URLs into a single retain 
47         count; the multiple retain counts are now maintained even after the icon is loaded
48         (-[WebIconDatabase _clearDictionaries]):
49         updated for name changes only
50         (-[WebIconDatabase _loadIconDictionaries]):
51         ditto
52         (-[WebIconDatabase _updateFileDatabase]):
53         ditto
54         (-[WebIconDatabase _totalRetainCountForIconURLString:]):
55         new method, sums the retain counts associated with specific page URLs and the extra retain count
56         not associated with specific page URLs
57         (-[WebIconDatabase _retainIconForIconURLString:]):
58         updated for name changes
59         (-[WebIconDatabase _forgetIconForIconURLString:]):
60         no longer affects retain counts at all; this is up to callers
61         (-[WebIconDatabase _releaseIconForIconURLString:]):
62         this now distinguishes the case where the retain count not associated with any page URLs hits 
63         zero from the case where the total retain count hits zero, and handles both
64
65 2005-06-20  John Sullivan  <sullivan@apple.com>
66
67         Reviewed by Chris Blumenberg.
68         
69         - added support for emptying the icon database
70
71         * Misc.subproj/WebIconDatabase.h: just fixed a typo
72         * Misc.subproj/WebIconDatabasePrivate.h:
73         added WebPendingPublic category with method removeAllIcons, and
74         declared WebIconDatabaseDidRemoveAllIconsNotification string.
75         
76         * Misc.subproj/WebIconDatabase.m:
77         (-[WebIconDatabase removeAllIcons]):
78         new method, removes all known icons from memory and disk. There's one loose end,
79         covered by radar bug 4155182, where it's possible for the icon database's retain
80         counts to get off after this operation. I plan to fix this next.
81         (-[WebIconDatabase _setIconURL:forURL:]):
82         just fixed some extra whitespace
83         (-[WebIconDatabase _forgetIconForIconURLString:]):
84         new method, extracted from _releaseIconForIconURLString
85         (-[WebIconDatabase _releaseIconForIconURLString:]):
86         now calls extracted method
87
88         * WebKit.exp:
89         added _WebIconDatabaseDidRemoveAllIconsNotification
90
91 2005-06-19  Darin Adler  <darin@apple.com>
92
93         Changes by Mitz Pettel
94         Reviewed by me.
95         
96         - fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=3466>
97           ATSUI text doesn't render at coordinates greater than 32K
98
99         * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer _ATSU_drawRun:style:geometry:]):
100         Translate the matrix of the CGContext instead of passing the appropriate coordinates to ATSU.
101
102 2005-06-17  Richard Williamson   <rjw@apple.com>
103
104         Changes by Mitz Pettel
105         Reviewed by Richard Williamson.
106
107         Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=3545
108
109         * WebCoreSupport.subproj/WebTextRenderer.m:
110         (reverseCharactersInRun):
111         (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]):
112
113 2005-06-17  John Sullivan  <sullivan@apple.com>
114
115         Reviewed by Chris.
116
117         - fixed <rdar://problem/4151001> Reloading javascript-spawned window with no URL erases its contents
118
119         * WebView.subproj/WebFrame.m:
120         (-[WebFrame reload]):
121         do nothing if URL is zero-length
122
123 2005-06-14  John Sullivan  <sullivan@apple.com>
124
125         Changes by Devin Lane.
126         Reviewed by me.
127
128         - fixed <rdar://problem/3766909> PDF viewing could use a zoom control other than the one in the context menu
129
130         * WebView.subproj/WebPDFView.h:
131         now implements protocol _web_WebDocumentTextSizing
132         * WebView.subproj/WebPDFView.m:
133         (-[WebPDFView _updateScalingToReflectTextSize]):
134         new method, sets the PDF scaling from the text size multiplier
135         (-[WebPDFView setDataSource:]):
136         call _updateScalingToReflectTextSize
137         (-[WebPDFView _web_textSizeMultiplierChanged]):
138         implementation of protocol _web_WebDocumentTextSizing, calls _updateScalingToReflectTextSize
139
140 2005-06-14  John Sullivan  <sullivan@apple.com>
141
142         Reviewed by Dave Harrison.
143
144         * WebView.subproj/WebHTMLView.m:
145         (-[WebHTMLView _delayedEndPrintMode:]):
146         After discussing this with Dave, I made this method both more debugger-friendly with asserts for
147         the cases we don't think could ever happen, and more paranoid by handling these cases in deployment
148         builds.
149
150 2005-06-14  Darin Adler  <darin@apple.com>
151
152         - fixed build for Xcode 2.1
153
154         * WebKit.pbproj/project.pbxproj: Use BUILT_PRODUCTS_DIR instead of SYMROOT to search for the
155         WebKitSystemInterface.h file. We could re-jigger this again later, but for now this is consistent
156         with both the .a file's location and where build-webkit puts the file.
157
158 2005-06-13  John Sullivan  <sullivan@apple.com>
159
160         Reviewed by Dave Harrison and Maciej.
161
162         * WebView.subproj/WebHTMLView.m:
163         (-[WebHTMLView _endPrintMode]):
164         new method, extracted from identical code in beginDocument and endDocument. This method must be called
165         once to counterbalance the code called from knowsPageRange that turns on "printing mode".
166         (-[WebHTMLView _delayedEndPrintMode:]):
167         new method, called from "perform after delay". Checks whether the same print operation is still underway
168         and, if so, delays further. Otherwise calls _endPrintMode directly.
169         (-[WebHTMLView knowsPageRange:]):
170         after turning on "printing mode", queue up a delayed call to _delayedEndPrintMode:. If there's an early
171         error in the print mechanism such that beginDocument is never called, this will cleanly end "printing
172         mode" and make the webview usable again.
173         (-[WebHTMLView beginDocument]):
174         cancel any delayed call to _delayedEndPrintMode:. If we get this far along in printing, then we don't need
175         the failsafe call to _delayedEndPrintMode: that was set up in knowsPageRange:. Also, call extracted method.
176         (-[WebHTMLView endDocument]):
177         call extracted method
178
179 2005-06-13  Maciej Stachowiak  <mjs@apple.com>
180
181         Reviewed by Chris Blumenberg and Adele.
182
183         - better fix for <rdar://problem/4142247> REGRESSION: List to browse widgets at Apple website failed. Closing tab afterwards caused Safari crash
184         http://bugzilla.opendarwin.org/show_bug.cgi?id=3445
185
186         With this change and the matching WebKit change we'll still stop loading the moment you click
187         a download link, but the unload event and detaching of event handlers will not happen early any more.
188         
189         * WebView.subproj/WebDataSource.m:
190         (-[WebDataSource _stopLoadingInternal]): call stopLoading on bridge instead of closeURL.
191         * WebView.subproj/WebFrame.m:
192         (-[WebFrame _transitionToCommitted:]): Revert previous attempt at fix.
193         (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): ditto
194         (-[WebFrame stopLoading]): ditto
195
196 2005-06-13  Chris Petersen  <cpetersen@apple.com>
197
198         Changes by Darin.
199         Reviewed by me.
200
201         - fixed problems building deployment due to recent init change
202
203         * WebView.subproj/WebArchive.m: (-[WebArchive initWithCoder:]):
204         Put the [super init] call and check for nil outside the exception handler.
205         * WebView.subproj/WebResource.m: (-[WebResource initWithCoder:]): Ditto.
206
207 2005-06-12  Darin Adler  <darin@apple.com>
208
209         Reviewed by Maciej.
210
211         - fixed <rdar://problem/4141569> REGRESSION (412+): printing fails on any page with images, and for standalone images
212           also <http://bugzilla.opendarwin.org/show_bug.cgi?id=3318>
213
214         * WebCoreSupport.subproj/WebImageData.m: Got rid of use of tabs instead of spaces throughout the file.
215         (-[WebImageData _checkSolidColor:]): Wrap use of NSGraphicsContext with an autorelease pool.
216         (-[WebImageData _fillSolidColorInRect:compositeOperation:context:]): Ditto.
217         (-[WebImageData tileInRect:fromPoint:context:]): Ditto.
218         (-[WebImageData _PDFDrawFromRect:toRect:operation:alpha:flipped:context:]): Ditto.
219
220 2005-06-12  Darin Adler  <darin@apple.com>
221
222         Changes by Nick Zitzmann.
223         Reviewed by me.
224
225         - fixed init methods that don't handle return values from the init methods they call
226
227         * WebView.subproj/WebArchive.m:
228         (-[WebArchive init]): Use value returned by init, check it for nil too.
229         (-[WebArchive initWithMainResource:subresources:subframeArchives:]): Ditto.
230         (-[WebArchive _initWithPropertyList:]): Ditto.
231         (-[WebArchive initWithCoder:]): Ditto.
232         * WebView.subproj/WebClipView.m:
233         (-[WebClipView initWithFrame:]): Ditto.
234         * WebView.subproj/WebDebugDOMNode.m:
235         (-[WebDebugDOMNode initWithName:value:source:children:]): Ditto.
236         * WebView.subproj/WebFrame.m:
237         (-[WebFormState initWithForm:values:sourceFrame:]): Ditto.
238         (-[WebFrame initWithName:webFrameView:webView:]): Ditto.
239         * WebView.subproj/WebFrameView.m:
240         (-[WebFrameView initWithFrame:]): Ditto.
241         * WebView.subproj/WebHTMLRepresentation.m:
242         (-[WebHTMLRepresentation init]): Ditto.
243         * WebView.subproj/WebHTMLView.m:
244         (-[WebHTMLView initWithFrame:]): Ditto.
245         (-[WebTextCompleteController initWithHTMLView:]): Ditto.
246         * WebView.subproj/WebImageView.m:
247         (-[WebImageView initWithFrame:]): Ditto.
248         * WebView.subproj/WebPreferences.m:
249         (-[WebPreferences initWithIdentifier:]): Ditto.
250         * WebView.subproj/WebRenderNode.m:
251         (-[WebRenderNode initWithName:position:rect:view:children:]): Ditto.
252         * WebView.subproj/WebResource.m:
253         (-[WebResource init]): Ditto.
254         (-[WebResource initWithCoder:]): Ditto.
255         * WebView.subproj/WebView.m:
256         (-[WebViewPrivate init]): Call super init.
257         (-[_WebSafeForwarder initWithTarget:defaultTarget:templateClass:]): Use value returned by init, check it for nil too.
258         (-[WebView initWithFrame:]): Ditto.
259
260 2005-06-12  Maciej Stachowiak  <mjs@apple.com>
261
262         Reviewed by Chris Blumenberg.
263
264         - fixed <rdar://problem/4142247> REGRESSION: List to browse widgets at Apple website failed. Closing tab afterwards caused Safari crash
265         http://bugzilla.opendarwin.org/show_bug.cgi?id=3445
266         
267         * WebView.subproj/WebFrame.m:
268         (-[WebFrame _transitionToCommitted:]): Stop loading the non-provisional data
269         source before swapping in the provisional.
270         (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): Stop only
271         the provisional load here, we would not want to stop loading if this navigation
272         later turns into a download or is cancelled before being committed.
273         (-[WebFrame stopLoading]): Factored a bit.
274         (-[WebFrame _cancelProvisionalLoad]): New method to stop only provisional load,
275         and cancel any pending policy deicions.
276         (-[WebFrame _stopNonProvisionalLoadOnly]): New mthod that stops only the main
277         load.
278
279 2005-06-10  John Sullivan  <sullivan@apple.com>
280
281         reviewed by Dave Harrison (first & second drafts) and Darin Adler (third draft)
282
283         - WebKit part of fix for 
284         <rdar://problem/4145214> REGRESSION (412+): Can't drag URLs from the location bar
285
286         * Misc.subproj/WebNSPasteboardExtras.m:
287         (+[NSPasteboard initialize]):
288         Reinstate variation of old code that uses CreatePasteboardFlavorTypeName to set up our new pasteboard types.
289         The newfangled way didn't work.
290
291 2005-06-07  Darin Adler  <darin@apple.com>
292
293         Change by Mark Rowe <opendarwin.org@bdash.net.nz>.
294         Reviewed by me.
295
296         - fixed the WebKit half of build failure with spaces in the path
297           http://bugzilla.opendarwin.org/show_bug.cgi?id=3291
298
299         * WebKit.pbproj/project.pbxproj: Quote DERIVED_FILE_DIR when it is substituted
300         into FRAMEWORK_SEARCH_PATHS, and SYMROOT when into HEADER_SEARCH_PATHS.
301
302 2005-06-06  Darin Adler  <darin@apple.com>
303
304         * Info.plist: Bumped version to 412+. For some reason it was set to 312.1!
305
306 2005-06-05  Darin Adler  <darin@apple.com>
307
308         Reviewed by Hyatt.
309
310         - fixed build that I broke with the license change (some includes of WebException were still around)
311
312         * WebKit.pbproj/project.pbxproj: Removed references to WebException.h/m.
313         * WebView.subproj/WebDataSource.m: Removed include of WebException.h.
314         * WebView.subproj/WebHTMLView.m: Ditto.
315         * WebView.subproj/WebView.m: Ditto.
316
317         - fixed build under gcc 4.0 (some code moved here from Foundation had warnings)
318
319         * Misc.subproj/WebNSDataExtras.m:
320         (-[NSString _web_capitalizeRFC822HeaderFieldName]): Use char instead of UInt8.
321         (-[NSData _webkit_guessedMIMEType]):  Use char instead of UInt8, and take out now-
322         unneeded type casts.
323
324 2005-06-05  Darin Adler  <darin@apple.com>
325
326         - added appropriate license headers to most files and updated copyright to reflect publication dates
327
328         * LICENSE: Added.
329         * <lots of files>: Added license header.
330
331         * WebKit.pbproj/project.pbxproj: Removed references to NP_objc.h.
332
333         * API-Issues.rtf: Removed.
334         * Misc.subproj/WebException.h: Removed.
335         * Misc.subproj/WebException.m: Removed.
336         * Plugins.subproj/NP_objc.h: Removed.
337
338 2005-06-01  Darin Adler  <darin@apple.com>
339
340         Reviewed by John Sullivan.
341
342         - WebKit part of fix for <rdar://problem/3166090> add IE JavaScript extension window.showModalDialog
343
344         * WebCoreSupport.subproj/WebBridge.m:
345         (-[WebBridge createModalDialogWithURL:]): Added. Calls the UI delegate, falling back to the generic
346         "create WebView" method.
347         (-[WebBridge canRunModal]): Added. Checks the UI delegate to see if it implements runModal.
348         (-[WebBridge canRunModalNow]): Added. Checks the "inConnectionCallback" field so we can prevent
349         deadlock since we can't do any I/O while inside a connection callback until this aspect of NSURLConnection
350         is changed.
351         (-[WebBridge runModal]): Added. Sets "defersCallbacks" on all other web views in the group, then
352         calls runModal on the UI delegate.
353
354         * WebView.subproj/WebBaseResourceHandleDelegate.h: Added inConnectionCallback class method.
355         * WebView.subproj/WebBaseResourceHandleDelegate.m:
356         (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]): Bump count and then
357         decrement count so we can tell if we are in a callback.
358         (-[WebBaseResourceHandleDelegate connection:didReceiveAuthenticationChallenge:]): Ditto.
359         (-[WebBaseResourceHandleDelegate connection:didCancelAuthenticationChallenge:]): Ditto.
360         (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]): Ditto.
361         (-[WebBaseResourceHandleDelegate connection:didReceiveData:lengthReceived:]): Ditto.
362         (-[WebBaseResourceHandleDelegate connection:willStopBufferingData:]): Ditto.
363         (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]): Ditto.
364         (-[WebBaseResourceHandleDelegate connection:didFailWithError:]): Ditto.
365         (-[WebBaseResourceHandleDelegate connection:willCacheResponse:]): Ditto.
366         (+[WebBaseResourceHandleDelegate inConnectionCallback]): Added. Return YES if count is not 0.
367
368         * WebView.subproj/WebMainResourceClient.m:
369         (-[WebMainResourceClient receivedError:]): Changed to use the method without the connection: parameter
370         in the base class, since we no longer are overriding the connection: version.
371         (-[WebMainResourceClient willSendRequest:redirectResponse:]): Change to override the version without
372         the connection prefix/parameter; now only the base class overrides the actual connection delegate methods.
373         (-[WebMainResourceClient continueAfterContentPolicy:response:]): Ditto.
374         (-[WebMainResourceClient didReceiveResponse:]): Ditto.
375         (-[WebMainResourceClient didReceiveData:lengthReceived:]): Ditto.
376         (-[WebMainResourceClient didFinishLoading]): Ditto.
377         (-[WebMainResourceClient didFailWithError:]): Ditto.
378         (-[WebMainResourceClient loadWithRequestNow:]): Call the method without the connection parameter.
379
380         * WebView.subproj/WebUIDelegatePrivate.h: Added new SPI here that WebBrowser implements.
381
382 2005-05-26  Darin Adler  <darin@apple.com>
383
384         Reviewed by John.
385
386         - fix build failure from when I removed WebCoreUnicode
387
388         * WebCoreSupport.subproj/WebTextRenderer.m: Removed import of WebUnicode.h that I missed.
389         (-[WebTextRenderer _convertUnicodeCharacters:length:toGlyphs:]): Switch from our own macros
390         to the ICU macros for surrogate pairs.
391         (widthForNextCharacter): Ditto.
392
393 2005-05-26  David Harrison  <harrison@apple.com>
394
395         <rdar://problem/4120518> Mail: control-T in an empty message crashes mail
396
397         * WebCoreSupport.subproj/WebBridge.m:
398         (-[WebBridge issueTransposeCommand]):
399         New, to support transpose in JS.
400
401 2005-05-26  Darin Adler  <darin@apple.com>
402
403         Reviewed by Richard and Dave Harrison.
404
405         - eliminate WebCoreUnicode and use ICU directly instead
406
407         * Misc.subproj/WebKitNSStringExtras.m: (canUseFastRenderer): Use u_charDirection directly.
408         * WebCoreSupport.subproj/WebTextRenderer.m: Removed import of <WebCore/WebCoreUnicode.h>.
409         * WebView.subproj/WebHTMLView.m: (+[WebHTMLView initialize]): Removed call to WebKitInitializeUnicode.
410
411         * Misc.subproj/WebUnicode.h: Removed.
412         * Misc.subproj/WebUnicode.m: Removed.
413         * Misc.subproj/WebUnicodeTables.m: Removed.
414
415         * WebKit.pbproj/project.pbxproj: Removed files.
416
417 2005-05-24  Richard Williamson   <rjw@apple.com>
418
419         Fixed <rdar://problem/4097289> -[WebView elementAtPoint:] failing when WebView is nested and offset
420
421         Code to determine the correct frame under the window point was
422         converting the point incorrectly.
423
424         Reviewed by Chris.
425
426         * WebView.subproj/WebView.m:
427         (-[WebView _frameViewAtWindowPoint:]):
428
429 2005-05-23  John Sullivan  <sullivan@apple.com>
430
431         Reviewed by Kevin.
432         
433         - WebKit part of <rdar://problem/4125783> WebKit needs a way to control whether textareas are resizable
434
435         * WebView.subproj/WebPreferencesPrivate.h:
436         added private-for-now getter and setter for new preference
437         * WebView.subproj/WebPreferenceKeysPrivate.h:
438         added private preference key controlling whether textareas are resizable
439         * WebView.subproj/WebPreferences.m:
440         (+[WebPreferences initialize]):
441         initial value of new preference is NO, so other clients' behavior doesn't change
442         (-[WebPreferences textAreasAreResizable]):
443         new getter
444         (-[WebPreferences setTextAreasAreResizable:]):
445         new setter
446         
447         * WebView.subproj/WebView.m:
448         (-[WebView _updateWebCoreSettingsFromPreferences:]):
449         update this new setting in WebCore
450
451         * English.lproj/StringsNotToBeLocalized.txt:
452         updated for these changes
453
454 2005-05-23  Chris Blumenberg  <cblu@apple.com>
455
456         Changed type for identifier parameter in WebResourceLoadDelegate-related calls to id from NSString.
457
458         Reviewed by kevin.
459
460         * WebCoreSupport.subproj/WebBridge.m:
461         (-[WebBridge objectLoadedFromCacheWithURL:response:data:]):
462         (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
463         * WebView.subproj/WebFrame.m:
464         (-[WebFrame _opened]):
465         (-[WebFrame _requestFromDelegateForRequest:identifier:error:]):
466         (-[WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]):
467         (-[WebFrame _saveResourceAndSendRemainingDelegateMessagesWithRequest:identifier:response:data:error:]):
468         * WebView.subproj/WebFrameInternal.h:
469
470 2005-05-20  Chris Blumenberg  <cblu@apple.com>
471
472         Fixed: <rdar://problem/4098786> sync. XMLHttpRequest works w/o AllowNetworkAccess key because load delegate is not consulted
473
474         Synchronous loads did not cause the willSendRequest method on the resource load delegate to be called. This is the method that Dashboard uses to enforce AllowNetworkAccess and this must be called to avoid exploits.
475
476         Reviewed by sullivan.
477
478         * WebCoreSupport.subproj/WebBridge.m:
479         (-[WebBridge objectLoadedFromCacheWithURL:response:data:]): call [WebFrame _requestFromDelegateForRequest:identifier:error:] then 
480         [WebFrame _saveResourceAndSendRemainingDelegateMessagesWithRequest:identifier:response:data:error:] so synthetic resource load delegate 
481         methods are called and the data is saved as a WebResource for resources in the WebCore cache.
482
483         (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): call [WebFrame _requestFromDelegateForRequest:identifier:error:],
484         respect its result, do the load and then call [WebFrame _saveResourceAndSendRemainingDelegateMessagesWithRequest:identifier:response:data:error:] 
485         for synchronous loads
486
487         * WebView.subproj/WebFrame.m:
488         (-[WebFrame _opened]): call [WebFrame _requestFromDelegateForRequest:identifier:error:] then 
489         [WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:] so synthetic resource load delegate methods are called 
490         for subresrources in the page cache
491         
492         (-[WebFrame _requestFromDelegateForRequest:identifier:error:]): new, was part of the removed _sendResourceLoadDelegateMessagesForURL:::
493         This method calls identifierForInitialRequest and willSendRequest.
494
495         (-[WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]): new, was part of the removed _sendResourceLoadDelegateMessagesForURL:::
496         This method calls the remaining resource load delegate messages.
497
498         (-[WebFrame _saveResourceAndSendRemainingDelegateMessagesWithRequest:identifier:response:data:error:]): new, saves the resource and calls
499         [WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]
500
501         * WebView.subproj/WebFrameInternal.h:
502
503 2005-05-17  Chris Blumenberg  <cblu@apple.com>
504         
505         Fixed: <rdar://problem/4119282> clicking a link in an RTF file opens the link with NSWorkspace without the usual security checks or WebView delegate control
506
507         Reviewed by mjs.
508
509         * WebCoreSupport.subproj/WebBridge.m:
510         (-[WebBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]): pass the passed referrer to canLoadURL::: not [self referrer]
511         (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): ditto
512         * WebView.subproj/WebTextView.m:
513         (-[WebTextView clickedOnLink:atIndex:]): call the loadURL bridge method so that security checks are made, command/option clicks work, policy delegate is consulted etc.
514
515 2005-05-17  Chris Blumenberg  <cblu@apple.com>
516
517         Fixed: <rdar://problem/4120255> web archives on remote servers can be viewed directly (with major security issues); should download instead
518
519         Reviewed by mjs.
520
521         * WebView.subproj/WebBaseResourceHandleDelegate.h:
522         * WebView.subproj/WebMainResourceClient.m:
523         (-[WebMainResourceClient continueAfterContentPolicy:response:]): if the WebKit client has chosen to "use" a remote web archive, stop the load with an error
524
525 2005-05-16  Darin Adler  <darin@apple.com>
526
527         - attempt to get things building under "Saffron" development tools
528
529         * WebKit.pbproj/project.pbxproj: Use BUILT_PRODUCTS_DIR instead of SYMROOT.
530
531 2005-05-13  John Sullivan  <sullivan@apple.com>
532
533         Reviewed by Kevin.
534         
535         - fixed <rdar://problem/4093306> Safari crashes if Esc key is held down during series 
536         of authentication sheets
537
538         * Panels.subproj/WebAuthenticationPanel.m:
539         (-[WebAuthenticationPanel cancel:]):
540         retain and autorelease self. This is a workaround for an AppKit key-handling issue, which I wrote up as:
541         <rdar://problem/4118422> Key-down events can be sent to a closed window if a key is kept pressed down
542
543 2005-05-12  John Sullivan  <sullivan@apple.com>
544
545         Reviewed by Kevin.
546
547         - rolled in changes from experimental-ui-branch to support resizable textareas
548         and find-as-you-type and confirming unsubmitted form changes. The files/functions 
549         modified are listed just below. After that are the ChangeLog comments from the branch.
550
551         * WebCoreSupport.subproj/WebBridge.m:
552         (-[WebBridge textDidChange:]):
553         * WebView.subproj/WebFormDelegate.h:
554         * WebView.subproj/WebFormDelegate.m:
555         (-[WebFormDelegate textDidChange:inFrame:]):
556         * WebView.subproj/WebHTMLView.m:
557         (-[WebHTMLView maintainsInactiveSelection]):
558         (-[WebHTMLView searchFor:direction:caseSensitive:wrap:]):
559         (-[WebHTMLView _searchFor:direction:caseSensitive:wrap:findInSelection:]):
560         * WebView.subproj/WebView.m:
561         (-[WebView _searchFor:direction:caseSensitive:wrap:findInSelection:]):
562         (-[WebView searchFor:direction:caseSensitive:wrap:]):
563         (-[WebView makeTextStandardSize:]):
564         (-[WebView maintainsInactiveSelection]):
565         * WebView.subproj/WebViewPrivate.h:
566         
567         2005-04-18  John Sullivan  <sullivan@apple.com>
568
569                 WebKit support for notifying a form delegate when a
570                 textarea's contents have changed (as opposed to a 
571                 textfield, which was already handled).
572
573                 Reviewed by Maciej.
574
575                 * WebView.subproj/WebFormDelegate.h:
576                 * WebView.subproj/WebFormDelegate.m:
577                 (-[WebFormDelegate textDidChange:inFrame:]):
578                 new form delegate method
579
580                 * WebCoreSupport.subproj/WebBridge.m:
581                 (-[WebBridge textDidChange:]):
582                 new method, calls through to form delegate
583                 
584         2005-04-11  John Sullivan  <sullivan@apple.com>
585
586                 Fixed inability to wrap around in Find in Page 
587
588                 * WebView.subproj/WebView.m:
589                 (-[WebView _searchFor:direction:caseSensitive:wrap:findInSelection:]):
590                 changed wrapFlag from NO to YES on two lines (copy/paste error)
591
592         2005-04-07  John Sullivan  <sullivan@apple.com>
593
594                 WebKit support for find-as-you-type. Needed an additional parameter on
595                 a method from WebDocumentSearching protocol. Since that's a public protocol, 
596                 I couldn't just add the parameter. For now I hacked it with an undeclared
597                 internal method that's discovered via respondsToSelector. Probably the right
598                 long-term approach is to deprecate the WebDocumentSearching protocol and introduce
599                 a replacement that has a more flexible set of parameters for possible future
600                 expansion.
601
602                 Reviewed by Dave Hyatt.
603
604                 * WebView.subproj/WebHTMLView.m:
605                 (-[WebHTMLView searchFor:direction:caseSensitive:wrap:]):
606                 now calls new one-more-parameter version passing NO for new parameter to match old behavior
607                 (-[WebHTMLView _searchFor:direction:caseSensitive:wrap:findInSelection:]):
608                 new method, adds findInSelection parameter and passes it through to bridge
609                  
610                 * WebView.subproj/WebView.m:
611                 (-[WebView searchFor:direction:caseSensitive:wrap:]):
612                 now calls new one-more-parameter version passing NO for new parameter to match old behavior
613                 (-[WebView _searchFor:direction:caseSensitive:wrap:findInSelection:]):
614                 new method, adds findInSelection parameter and passes it through
615
616         2005-04-07  John Sullivan  <sullivan@apple.com>
617
618                 WebKit support to allow clients to control whether the selection is still
619                 drawn when the first responder is elsewhere. Formerly this was hardwired
620                 to be true only when -[WebView isEditable] was true.
621
622                 Reviewed by Darin.
623
624                 * WebView.subproj/WebHTMLView.m:
625                 (-[WebHTMLView maintainsInactiveSelection]):
626                 check [WebView maintainsInactiveSelection] rather than just [WebView isEditable]
627                 
628                 * WebView.subproj/WebViewPrivate.h:
629                 * WebView.subproj/WebView.m:
630                 (-[WebView maintainsInactiveSelection]):
631                 new method for clients to override, returns -[self isEditable]
632         
633
634 2005-05-10  John Sullivan  <sullivan@apple.com>
635
636         Reviewed by Kevin.
637         
638         - WebKit support for <rdar://problem/3795701> Menu item/keyboard shortcut to 
639         restore text zoom to normal
640
641         * WebView.subproj/WebView.m:
642         (-[WebView validateUserInterfaceItem:]):
643         validate makeTextStandardSize by calling canMakeTextStandardSize
644         (-[WebView canMakeTextStandardSize]):
645         new method, returns YES unless text size multiplier is currently 1
646         (-[WebView makeTextStandardSize:]):
647         new method, sets text size multiplier to 1
648         
649         * WebView.subproj/WebViewPrivate.h:
650         add makeTextStandardSize: and canMakeTextStandardSize to pending public category
651
652 2005-05-10  John Sullivan  <sullivan@apple.com>
653
654         Reviewed by Chris.
655         
656         - fixed <rdar://problem/4067981> Mail places RTF flavor before RTFD flavor when dragging 
657         mixed image/text content.
658
659         * WebView.subproj/WebHTMLView.m:
660         (+[WebHTMLView _selectionPasteboardTypes]):
661         put RTFD type before RTF type in array of types to declare
662
663 2005-05-09  Chris Blumenberg  <cblu@apple.com>
664
665         Turned assertion into error message to prevent crash when encountering this bug:
666         <rdar://problem/4067625> connection:willCacheResponse: is called inside of [NSURLConnection initWithRequest:delegate:]
667         
668         * WebView.subproj/WebBaseResourceHandleDelegate.h:
669         * WebView.subproj/WebBaseResourceHandleDelegate.m:
670         (-[WebBaseResourceHandleDelegate loadWithRequest:]): set flag to track when we're initializing the connection
671         (-[WebBaseResourceHandleDelegate connection:willCacheResponse:]): log error
672
673 2005-05-09  Darin Adler  <darin@apple.com>
674
675         * Makefile.am: Don't set up PBXIntermediatesDirectory explicitly;
676         Not needed to make builds work, spews undesirable error messages too.
677
678 2005-05-06  Darin Adler  <darin@apple.com>
679
680         Reviewed by Maciej.
681
682         - make building multiple trees with make work better
683
684         * Makefile.am: Set up Xcode build directory before invoking xcodebuild.
685
686 2005-05-04  Darin Adler  <darin@apple.com>
687
688         Reviewed by Dave Hyatt.
689
690         - fixed layout tests
691
692         * WebKit.pbproj/project.pbxproj: Set deployment target to 10.3 in the build styles.
693         When built without a build style (by Apple B&I) we want to get the target from the
694         environment. But when built with a build style (by Safari engineers and others), we want
695         to use 10.3. Because our deployment target was not set, we ran into this bug:
696
697             <rdar://problem/4108717> CTFontGetGlyphWithName doesn't work with some strings
698
699         * Makefile.am: Took out extra parameters that make command-line building different from
700         Xcode building. Now that this is fixed, you should not get a full rebuild if you switch
701         from command line to Xcode or back.
702
703 2005-05-04  Chris Blumenberg  <cblu@apple.com>
704
705         Fixed: 
706         <rdar://problem/4078417> REGRESSION (125-412): MLB gameday page doesn't update (Flash)
707         <rdar://problem/4072280> XMLHttpRequest calls onReadyStateChange callback with bogus status value
708         
709         Reviewed by john.
710
711         Our WebKit-level caching of subresources "dumbed-down" information held in NSURLResponse. This caused some loads to lack response headers and thus disabling cache directives. Status codes were also not retained and this caused XMLHttpRequest to fail frequently. The fix is to have WebResource retain the NSURLResponse and to use the NSURLResponse when we decide to load from WebResources.
712
713         * WebCoreSupport.subproj/WebBridge.m:
714         (-[WebBridge objectLoadedFromCacheWithURL:response:data:]): call new [WebResource _initWithData:URL:response:]
715         * WebView.subproj/WebBaseResourceHandleDelegate.m:
716         (-[WebBaseResourceHandleDelegate _canUseResourceWithResponse:]): new, checks response cache directives
717         (-[WebBaseResourceHandleDelegate loadWithRequest:]): call _canUseResourceWithResponse:
718         (-[WebBaseResourceHandleDelegate saveResource]): call new [WebResource _initWithData:URL:response:]
719         * WebView.subproj/WebResource.m:
720         (-[WebResourcePrivate dealloc]):
721         (-[WebResource initWithData:URL:MIMEType:textEncodingName:frameName:]): call renamed _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:
722         (-[WebResource initWithCoder:]): decode the NSURLReponse
723         (-[WebResource encodeWithCoder:]): encode the NSURLReponse
724         (-[WebResource _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:]): take the NSURLReponse
725         (-[WebResource _initWithData:URL:response:]): new
726         (-[WebResource _initWithPropertyList:]): decode the NSURLReponse
727         (-[WebResource _propertyListRepresentation]): encode the NSURLReponse
728         (-[WebResource _response]): return ivar if we have one
729         * WebView.subproj/WebResourcePrivate.h:
730
731 2005-05-03  David Hyatt  <hyatt@apple.com>
732
733         Fix object element support so that fallback content works.  With this change Safari passes the Acid2 test.
734         
735         Reviewed by Maciej
736
737         * WebCoreSupport.subproj/WebBridge.m:
738         (-[WebBridge determineObjectFromMIMEType:URL:]):
739         * WebView.subproj/WebDataSource.m:
740         (-[WebDataSource _receivedMainResourceError:complete:]):
741         * WebView.subproj/WebMainResourceClient.m:
742         (-[WebMainResourceClient continueAfterContentPolicy:response:]):
743
744 2005-05-03  Darin Adler  <darin@apple.com>
745
746         * WebView.subproj/WebUIDelegate.h: Fixed incorrect comment.
747
748 >>>>>>> 1.3131
749 2005-05-01  Darin Adler  <darin@apple.com>
750
751         - move to Xcode native targets and stop checking in generated files
752
753         * WebKit.pbproj/project.pbxproj: Updated to use native targets and generate all the generated
754         files, so we don't have to check them in any more.
755         * Info.plist: Added. Native targets use a separate file for this.
756
757         * Plugins.subproj/npapi.m: Fixed import statement to get npapi.h from <WebKit/> rather than current directory.
758
759         * Makefile.am: Removed timestamp cleaning rules since we don't use it any more.
760
761         * .cvsignore: Removed various timestamp files.
762
763         * DOM.subproj/DOM-compat.h: Removed.
764         * DOM.subproj/DOM.h: Removed.
765         * DOM.subproj/DOMCSS.h: Removed.
766         * DOM.subproj/DOMCore.h: Removed.
767         * DOM.subproj/DOMEvents.h: Removed.
768         * DOM.subproj/DOMExtensions.h: Removed.
769         * DOM.subproj/DOMHTML.h: Removed.
770         * DOM.subproj/DOMPrivate.h: Removed.
771         * DOM.subproj/DOMRange.h: Removed.
772         * DOM.subproj/DOMStylesheets.h: Removed.
773         * DOM.subproj/DOMTraversal.h: Removed.
774         * DOM.subproj/DOMViews.h: Removed.
775         * Plugins.subproj/WebScriptObject.h: Removed.
776         * Plugins.subproj/npapi.h: Removed.
777         * Plugins.subproj/npruntime.h: Removed.
778         * copy-webcore-files-to-webkit: Removed.
779         * embed-frameworks.sh: Removed.
780         * force-clean-timestamp: Removed.
781
782 2005-04-28  Darin Adler  <darin@apple.com>
783
784         Reviewed by Maciej.
785
786         - fixed problems preventing us from compiling with gcc 4.0
787
788         * WebKit.pbproj/project.pbxproj: Removed -fobjc-exceptions because I can't figure out an easy
789         way to pass it only when compiling Objective-C/C++. Removed -Wmissing-prototypes from
790         WARNING_CPLUSPLUSFLAGS since it's now a C-only warning.
791
792         * History.subproj/WebHistoryItem.m: (-[WebHistoryItem pageCache]): Changed return type
793         to match the declaration.
794         * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]):
795         Fixed a BOOL that should have been a Boolean.
796         * WebCoreSupport.subproj/WebTextRenderer.m: Removed redundant copy of ROUND_TO_INT, also in
797         a WebCore header.
798         (-[WebTextRenderer _computeWidthForSpace]): Had to add cast because of difference in type of
799         ROUND_TO_INT vs. CEIL_TO_INT.
800         (pathFromFont): Added a cast to convert UInt8 * to char *.
801         * WebView.subproj/WebFrameView.m:
802         (-[WebFrameView _setDocumentView:]): Fixed parameter type to match the declaration.
803         (-[WebFrameView documentView]): Fixed return type to match the declaration.
804         * WebView.subproj/WebHTMLView.m:
805         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
806         Initialized a variable to quiet an incorrect gcc 4.0 uninitialized variable warning.
807         (-[WebHTMLView deleteToMark:]): Switched from @try style to NS_DURING style of exception handler
808         because we can't pass -fobjc-exceptions just to Objective-C at the moment (see above).
809         (-[WebHTMLView selectToMark:]): Ditto.
810         (-[WebHTMLView swapWithMark:]): Ditto.
811
812 2005-04-27  John Sullivan  <sullivan@apple.com>
813
814         Reviewed by Dave Harrison.
815         
816         - fixed <rdar://problem/3547489> pop-up window blocking preference and 
817         menu item can easily get out of sync.
818
819         * WebView.subproj/WebPreferences.m:
820         (-[WebPreferences _setStringValue:forKey:]):
821         save local value before setting value in NSUserDefaults, so clients reacting to NSUserDefaults
822         change notification but calling back on WebPreferences API will see the updated value.
823         (-[WebPreferences _setIntegerValue:forKey:]):
824         ditto
825         (-[WebPreferences _setBoolValue:forKey:]):
826         ditto
827
828 2005-04-26  Richard Williamson   <rjw@apple.com>
829
830         Fixed <rdar://problem/4098713> Scripting API is incompatible with Mozilla
831
832         Reviewed by Chris.
833
834         * Plugins.subproj/npfunctions.h:
835         * Plugins.subproj/npruntime.h:
836
837 2005-04-26  Darin Adler  <darin@apple.com>
838
839         Reviewed by John.
840
841         - fixed <rdar://problem/3655817> please add support for mouse wheel events and the onmousewheel handler
842
843         * WebView.subproj/WebHTMLView.m: (-[WebHTMLView scrollWheel:]): Call sendScrollWheelEvent: method
844         instead of the old scrollOverflowWithScrollWheelEvent: (just a name change).
845
846 2005-04-18  Darin Adler  <darin@apple.com>
847
848         Reviewed by Hyatt.
849
850         - fixed <rdar://problem/4092614> REGRESSION (Tiger): progressively loaded background images "scroll around" instead of just appearing
851
852         * WebCoreSupport.subproj/WebImageData.m:
853         (-[WebImageData _imageSourceOptions]): Moved a global inside this function, since it's only used here.
854         (-[WebImageData _cacheImages:allImages:]): Fixed a sizeof that was getting the size of the wrong thing.
855         (-[WebImageData _isSizeAvailable]): Used calloc in a more consistent way.
856         (drawPattern): Removed an unneeded cast.
857         (-[WebImageData tileInRect:fromPoint:context:]): Here's the actual bug fix. Don't use the image size
858         when deciding whether the image needs to be tiled as a pattern nor when creating the pattern: in both
859         cases, use the tile size. The old way was wrong, and the new way works perfectly. Also removed uneeded
860         error message when the image is not yet loaded enough to create a CGImageRef for it -- it's fine to
861         draw nothing in that case.
862
863 2005-04-14  John Sullivan  <sullivan@apple.com>
864
865         Reviewed by Chris.
866
867         * WebView.subproj/WebBaseResourceHandleDelegate.m:
868         (-[WebBaseResourceHandleDelegate connection:willCacheResponse:]):
869         Beefed up assertion that's been bugging me and Chris to include
870         the two troublemaking values.
871
872 2005-04-05  David Hyatt  <hyatt@apple.com>
873
874         Fix for 4077106, wheel scroll amount smaller in Tiger.  All along wheeling should have been 4x the default
875         line height of 10 (just as arrow keys did).  Scroll arrows should have done this too for scroll views (they did
876         already for overflow sections).  This patch puts the override into the scrollview itself, and removes the
877         multipliers in the private frame methods.
878         
879         Reviewed by darin
880
881         * WebView.subproj/WebFrameView.m:
882         (-[WebFrameView _verticalKeyboardScrollDistance]):
883         (-[WebFrameView initWithFrame:]):
884         (-[WebFrameView _horizontalKeyboardScrollDistance]):
885
886 === WebKit-312.1 ===
887
888 2005-03-31  Chris Blumenberg  <cblu@apple.com>
889
890         Fixed: <rdar://problem/4070729> REGRESSION (125-311, Panther-only?): Safari crashes while reloading "My eBay" page
891
892         Reviewed by rjw.
893
894         * WebView.subproj/WebBaseResourceHandleDelegate.m:
895         (-[WebBaseResourceHandleDelegate resourceData]): retain and autorelease resourceData since releaseResources (which releases resourceData) may be called before the caller of this method has an opporuntity to retain the returned data
896
897 === Safari-412 ===
898
899 === Safari-411 ===
900
901 2005-03-23  Richard Williamson   <rjw@apple.com>
902
903         Use Patti Yeh's hack to determine the appropriate rectangle
904         to place the "associated word" window.  
905         If there is no marked text firstRectForCharacterRange: will
906         use the selected range to determine the returned rectangle,
907         ignoring the input range.  This is the fix from
908         4029491 that I previously backed out.
909
910         Reviewed by Vicki.
911
912         * WebView.subproj/WebHTMLView.m:
913         (-[WebHTMLView firstRectForCharacterRange:]):
914
915 2005-03-23  Richard Williamson   <rjw@apple.com>
916
917         Fixed <rdar://problem/4062490> REGRESSION (WebKit-408): no subresources reported in Activity window after going back at hrweb.apple.com
918
919         Stop collecting subresource responses after the document
920         had loaded, not after it has been opened.
921
922         Reviewed by Chris.
923
924         * WebView.subproj/WebFrame.m:
925         (-[WebFrame _setState:]):
926         (-[WebFrame _opened]):
927
928 2005-03-21  Maciej Stachowiak  <mjs@apple.com>
929
930         Reviewed by Darin.
931
932         <rdar://problem/4051145> The QuickTime Cocoa plug-in needs an SPI that it can call to check for URL policy
933
934         * Plugins.subproj/WebPluginContainerCheck.h: Added.
935         * Plugins.subproj/WebPluginContainerCheck.m: Added this new helper class to encapsulate
936         an async plugin navigation check.
937         (+[WebPluginContainerCheck checkWithRequest:target:resultObject:selector:controller:]): Convenience allocator that gives autoreleased value.
938         (-[WebPluginContainerCheck initWithRequest:target:resultObject:selector:controller:]): Initializer.
939         (-[WebPluginContainerCheck finalize]): Just assert that we're done, it would
940         be bad to deallocate this object while request is still outstanding.
941         (-[WebPluginContainerCheck dealloc]): Ditto.
942         (-[WebPluginContainerCheck _continueWithPolicy:]): Method to continue after async
943         policy check.
944         (-[WebPluginContainerCheck _isDisallowedFileLoad]): Do "file: URL from remote content"
945         check.
946         (-[WebPluginContainerCheck _actionInformationWithURL:]): Helper to make action
947         dictionary.
948         (-[WebPluginContainerCheck _askPolicyDelegate]): Call policy delegate to let
949         the app decide if this load is allowed.
950         (-[WebPluginContainerCheck start]): Start the check.
951         (-[WebPluginContainerCheck cancel]): Cancel a check in progress.
952         * Plugins.subproj/WebPluginController.h:
953         * Plugins.subproj/WebPluginController.m:
954         (-[WebPluginController initWithDocumentView:]): Initialize new _checksInProgress field.
955         (-[WebPluginController _webPluginContainerCancelCheckIfAllowedToLoadRequest:]): Implement
956         this new SPI method.
957         (-[WebPluginController _cancelOutstandingChecks]): New helper to make sure to cancel
958         all outstanding requests when destroying all plugins.
959         (-[WebPluginController destroyAllPlugins]): Call above helper.
960         (-[WebPluginController _webPluginContainerCheckIfAllowedToLoadRequest:inFrame:resultObject:selector:]): Implement this new plug-in SPI method.
961         (-[WebPluginController bridge]): New helper method.
962         (-[WebPluginController webView]): New helper method.
963         * WebView.subproj/WebPolicyDelegatePrivate.h: Add new navigation
964         type WebNavigationTypePlugInRequest.
965         * WebKit.pbproj/project.pbxproj: Add new files.
966         * WebView.subproj/WebDefaultPolicyDelegate.m:
967         (-[WebDefaultPolicyDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]): Don't open externally on a plug-in request.
968
969 2005-03-23  Richard Williamson   <rjw@apple.com>
970
971         Fixed <rdar://problem/4053515> REGRESSION (Mail): Kotoeri input method reconversion does not work in WebViews
972
973         We now use actual document NSRanges to represent both marked text
974         ranges and selection ranges.
975
976         Reviewed by Ken Kocienda.
977
978         * WebView.subproj/WebHTMLView.m:
979         (-[WebHTMLView validAttributesForMarkedText]):
980         (-[WebHTMLView firstRectForCharacterRange:]):
981         (-[WebHTMLView selectedRange]):
982         (-[WebHTMLView markedRange]):
983         (-[WebHTMLView _selectMarkedText]):
984         (-[WebHTMLView setMarkedText:selectedRange:]):
985
986 === Safari-410 ===
987
988 2005-03-22  Darin Adler  <darin@apple.com>
989
990         * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
991
992 === Safari-409 ===
993
994 2005-03-20  Maciej Stachowiak  <mjs@apple.com>
995
996         Reviewed by Darin.
997
998         <rdar://problem/4060020> Add stub version of security SPI for QuickTime plug-in so QuickTime team has something to compile and link against
999         
1000         * Plugins.subproj/WebPluginContainerPrivate.h: Added.
1001         * Plugins.subproj/WebPluginController.m:
1002         (-[WebPluginController _webPluginContainerCheckIfAllowedToLoadRequest:inFrame:resultObject:selector:]):
1003         (-[WebPluginController _webPluginContainerCancelCheckIfAllowedToLoadRequest:]):
1004         * WebKit.pbproj/project.pbxproj:
1005
1006 2005-03-19  David Harrison  <harrison@apple.com>
1007
1008         Reviewed by Maciej.
1009         
1010         <rdar://problem/4059479> Misspelling underline does underline the whole word, could go farther to the right
1011
1012         * WebCoreSupport.subproj/WebTextRenderer.m:
1013         (-[WebTextRenderer misspellingLinePatternGapWidth]):
1014         (-[WebTextRenderer drawLineForMisspelling:withWidth:]):
1015         Consider that the last pixel in the underline dot pattern is transparent.
1016
1017 2005-03-19  Darin Adler  <darin@apple.com>
1018
1019         Reviewed by Maciej (a while back).
1020
1021         - fixed <rdar://problem/4059323> local-file security check is allowing plug-in streams, but must not
1022
1023         * Plugins.subproj/WebNetscapePluginStream.m:
1024         (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
1025         Roll out change I made on 3-13. That change is needed for subresource, but not for plug-in streams.
1026         For plug-in streams it's too risky, and leaves a serious security hole open.
1027
1028 2005-03-19  Darin Adler  <darin@apple.com>
1029
1030         Reviewed by Ken and John.
1031
1032         - fixed <rdar://problem/4059123> REGRESSION (402-403): deleteWordForward: and deleteWordBackward: start deleting single characters after the first delete
1033
1034         * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]):
1035         Fixed backwards logic in here and added missing check. Set action to one of the two typing actions only
1036         if isTypingAction is YES.
1037
1038 2005-03-19  David Harrison  <harrison@apple.com>
1039
1040         Reviewed by me (written by Patti Yeh).
1041         
1042         <rdar://problem/4029491> <TCIM> CangJie: the candidate window appears at the top left hand corner during typing in Mail and iChat
1043
1044         * WebView.subproj/WebHTMLView.m:
1045         (-[WebHTMLView firstRectForCharacterRange:]):
1046         Use selected range if there is no marked range.
1047
1048 === Safari-408 ===
1049
1050 2005-03-18  David Harrison  <harrison@apple.com>
1051
1052         Reviewed by Darin.
1053
1054         <rdar://problem/3584942> AX: Safari Accessibility parent-child mismatch
1055
1056         * WebView.subproj/WebFrameView.m:
1057         (-[WebFrameView webCoreBridge]):
1058         New to conform to WebCoreBridgeHolder protocol.
1059
1060 2005-03-18  Richard Williamson   <rjw@apple.com>
1061         
1062         Fixed <rdar://problem/4057004> Data from XMLHTTPRequest is never dealloced
1063
1064         WebDataSource keeps an array of all the NSURLResponses associated
1065         with the load for a page.  This is used to playback delegate messages
1066         when loading from the page cache.  However, after the document
1067         has completed it's initial load, we continue to keep track of responses. 
1068         So, this has the consequence of keeping all the responses for a page
1069         around for the life of the page.  NSURLResponses are now very
1070         heavy.  They indirectly reference the resource data (via the
1071         download assessment dictionary).  This fix will keep
1072         references to responses around for those resources loaded during initial
1073         page load, but not after that point.
1074
1075         Reviewed by Ken.
1076
1077         * WebView.subproj/WebDataSource.m:
1078         (-[WebDataSource _addResponse:]):
1079         (-[WebDataSource _stopRecordingResponses]):
1080         * WebView.subproj/WebDataSourcePrivate.h:
1081         * WebView.subproj/WebFrame.m:
1082         (-[WebFrame _opened]):
1083
1084 2005-03-18  Ken Kocienda  <kocienda@apple.com>
1085
1086         Reviewed by Darin
1087
1088         Fix for this bug:
1089         
1090         <rdar://problem/4053729> Copy/paste of page with frames into Blot or Mail does nothing and loses insertion point
1091
1092         * WebView.subproj/WebHTMLView.m:
1093         (-[WebHTMLView _selectedArchive]): Wrap frameset documents in an iframe, so they can be pasted into 
1094         existing documents which will have a body or frameset of their own.
1095
1096 === Safari-407 ===
1097
1098 2005-03-17  Richard Williamson   <rjw@apple.com>
1099
1100         Fixed <rdar://problem/4055562> REGRESSION (Tiger): Safari doesn't draw progressively-loaded JPEGs (www.theregister.co.uk, www.titantalk.com)
1101
1102         Anothe side effect of lazy loading of image meta data.  We now
1103         don't cache image size until size meta data is actually available.
1104
1105         Reviewed by Darin.
1106
1107         * WebCoreSupport.subproj/WebImageData.m:
1108         (-[WebImageData size]):
1109
1110 2005-03-16  David Harrison  <harrison@apple.com>
1111
1112         Reviewed by Maciej.
1113         
1114         <rdar://problem/4048506> Deleting from beginning of editable div deletes other document elements
1115         
1116         Also changed WebCore.
1117
1118         * WebView.subproj/WebHTMLView.m:
1119         (-[WebHTMLView _shouldDeleteRange:]):
1120         Added call to new bridge method canDeleteRange.
1121
1122 2005-03-16  Ken Kocienda  <kocienda@apple.com>
1123
1124         Reviewed by Darin
1125
1126         Fix for this bug:
1127         
1128         <rdar://problem/4042935> undo doesn't work properly during inline input
1129
1130         * WebView.subproj/WebHTMLView.m:
1131         (-[WebHTMLView setMarkedText:selectedRange:]): Call new -[WebCoreBridge replaceMarkedTextWithText:] instead of 
1132         -[WebCoreBridge replaceSelectionWithText:selectReplacement:smartReplace:]. The former call was just added in 
1133         order to provide a better mapping of international text input onto the typing command/undo design.
1134
1135 2005-03-15  Richard Williamson   <rjw@apple.com>
1136
1137         Fixed <rdar://problem/4040321> Exception: Someone's trying to encode a WebDataRequestParameters instance
1138
1139         If client mutates request use new Foundation SPI to address remove applewebdata properties      from request.
1140
1141         Reviewed by Ken Kocienda.
1142
1143         * WebView.subproj/WebBaseResourceHandleDelegate.m:
1144         (-[WebBaseResourceHandleDelegate willSendRequest:redirectResponse:]):
1145         * WebView.subproj/WebDataProtocol.h:
1146         * WebView.subproj/WebDataProtocol.m:
1147         (+[NSURLRequest _webDataRequestPropertyKey]):
1148
1149 2005-03-15  Ken Kocienda  <kocienda@apple.com>
1150
1151         Reviewed by Vicki
1152
1153         Fox for this bug:
1154         
1155         <rdar://problem/4052642> Each delete keystroke is in its own undo group; not included in undo group with other typing
1156
1157         Calling -[WebCore setSelectedDOMRange:range affinity:] had the result of "closing" any active set of typing
1158         keystrokes grouped together in a single undo operation. My change on 27 Jan to route delete keystrokes 
1159         through _deleteRange:killRing:... made this feature regress. Previous to that change, the backwards delete
1160         key went through separate code that is no longer in the tree that did not set the selection in the way
1161         it is done now.
1162         
1163         The solution is to add an extra argument to the set-selection call. The WebCoreBridge now offers this method:
1164         -[WebCore setSelectedDOMRange:range affinity:closeTyping:]. Now, callers must indicate whether setting the 
1165         selection will act to close typing or not. The code changes below all add this new argument with the
1166         appropriate value for closeTyping.
1167
1168         * WebView.subproj/WebHTMLView.m:
1169         (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:]): Passes NO for closeTyping when
1170         deletionAction is deleteKeyAction or forwardDeleteKeyAction; YES when deleteSelectionAction.
1171         (-[WebHTMLView _expandSelectionToGranularity:]): Passes YES for closeTyping.
1172         (-[WebHTMLView selectToMark:]): Passes YES for closeTyping.
1173         (-[WebHTMLView swapWithMark:]): Passes YES for closeTyping.
1174         (-[WebHTMLView transpose:]): Passes YES for closeTyping.
1175         (-[WebHTMLView _selectMarkedText]): Passes NO for closeTyping.
1176         (-[WebHTMLView _selectRangeInMarkedText:]): Passes NO for closeTyping.
1177         * WebView.subproj/WebView.m:
1178         (-[WebView setSelectedDOMRange:affinity:]): Passes YES for closeTyping.
1179
1180 2005-03-14  Richard Williamson   <rjw@apple.com>
1181
1182         Fix <rdar://problem/4051389> 8A413: gifs animating too fast
1183
1184         Reviewed by Maciej.
1185
1186         Match Mozilla's policy for minimum frame duration, which is somewhat odd:
1187
1188         <= 0.01 sec use .1 sec, otherwise use specified duration.
1189
1190         * WebCoreSupport.subproj/WebImageData.m:
1191         (-[WebImageData _frameDurationAt:]):
1192
1193 2005-03-14  Darin Adler  <darin@apple.com>
1194
1195         Reviewed by Harrison.
1196
1197         - fixed <rdar://problem/4049776> Seed: Mail: Disable spellcheck leaves red artifacts
1198
1199         * WebView.subproj/WebFrameInternal.h: Added _unmarkAllMisspellings.
1200         * WebView.subproj/WebFrame.m: (-[WebFrame _unmarkAllMisspellings]): Added.
1201         Calls unmarkAllMisspellings on the bridge and self and all subframes.
1202
1203         * WebView.subproj/WebView.m: (-[WebView setContinuousSpellCheckingEnabled:]):
1204         Call _unmarkAllMisspellings on the main frame when turning continuous spell checking off.
1205
1206 2005-03-14  Richard Williamson   <rjw@apple.com>
1207
1208         Fixed <rdar://problem/4027928> Tiger_8A394:Acrobat crashes while tried to remove the subscription errors by clicking on "Would you like to remove the subscription" from Tracker details view pane
1209
1210         The Acrobat application triggers loads of new documents in it's policy delegate.  This
1211         ultimately causes the WebHTMLView to be released before their event handlers have
1212         returned.  To bullet proof against this case we retain/release self before passing
1213         the event on for further handling.
1214         
1215         Reviewed by Maciej.
1216
1217         * WebView.subproj/WebHTMLView.m:
1218         (-[WebHTMLView _updateMouseoverWithEvent:]):
1219         (-[WebHTMLView scrollWheel:]):
1220         (-[WebHTMLView mouseDown:]):
1221         (-[WebHTMLView mouseDragged:]):
1222         (-[WebHTMLView mouseUp:]):
1223         (-[WebHTMLView keyDown:]):
1224         (-[WebHTMLView keyUp:]):
1225         (-[WebHTMLView performKeyEquivalent:]):
1226
1227 2005-03-14  Vicki Murley  <vicki@apple.com>
1228
1229         - roll out the fix for 4040321, since it is still pending CCC review.
1230
1231     2005-03-10  Richard Williamson   <rjw@apple.com>
1232
1233         Fixed <rdar://problem/4040321> Exception: Someone's trying to encode a WebDataRequestParameters instance 
1234
1235         Reviewed by Darin.
1236
1237         If a delegate returns a mutated applewebdata: request in it's willSendRequest:
1238         method, we don't load using the WebDataRequest.  Instead we do a normal load.
1239         Unfortunately, if the request they return is mutated *copy* of the applewebdata: 
1240         request it will hold the applewebdata: special properties.  These properties 
1241         will be encoded into the cache.   They should not be.  So, to fix, we sanitize the
1242         request, by removing the special properties from the request.
1243
1244         Note that we had to dig into the private guts of NSURLRequest because there is
1245         no public mechanism to remove properties from a request, see 4046775.
1246
1247         * WebView.subproj/WebBaseResourceHandleDelegate.m:
1248         (-[WebBaseResourceHandleDelegate willSendRequest:redirectResponse:]):
1249         * WebView.subproj/WebDataProtocol.h:
1250         * WebView.subproj/WebDataProtocol.m:
1251         (-[NSURLRequest _webDataRequestExternalRequest]):
1252         (-[NSURLRequest _webDataRequestSanitize]):
1253
1254 === Safari-406 ===
1255
1256 2005-03-13  Darin Adler  <darin@apple.com>
1257
1258         Reviewed by Ken and Maciej.
1259
1260         - fixed <rdar://problem/4049040> REGRESSION (403-405): security check prevents user stylesheet from loading (Dictionary.app doesn't work at all!)
1261
1262         * Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
1263         Allow plug-in subresource streams to load with any URL, ignoring the "canLoadURL" method's restriction (only
1264         file URLs can load other file URLs), which now applies only to main resources, like web pages in frames or
1265         object tags and plug-in main resources.
1266
1267         * WebCoreSupport.subproj/WebBridge.m:
1268         (-[WebBridge startLoadingResource:withURL:customHeaders:]): Allow subresources to load with any URL, as above.
1269         This allows things like images, stylesheets, and JavaScript to be loaded without the "canLoadURL" method's
1270         restriction.
1271         (-[WebBridge startLoadingResource:withURL:customHeaders:postData:]): Ditto.
1272         (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): Ditto.
1273
1274 2005-03-10  Richard Williamson   <rjw@apple.com>
1275
1276         Fixed <rdar://problem/4040321> Exception: Someone's trying to encode a WebDataRequestParameters instance 
1277
1278         Reviewed by Darin.
1279
1280         If a delegate returns a mutated applewebdata: request in it's willSendRequest:
1281         method, we don't load using the WebDataRequest.  Instead we do a normal load.
1282         Unfortunately, if the request they return is mutated *copy* of the applewebdata: 
1283         request it will hold the applewebdata: special properties.  These properties 
1284         will be encoded into the cache.   They should not be.  So, to fix, we sanitize the
1285         request, by removing the special properties from the request.
1286
1287         Note that we had to dig into the private guts of NSURLRequest because there is
1288         no public mechanism to remove properties from a request, see 4046775.
1289
1290         * WebView.subproj/WebBaseResourceHandleDelegate.m:
1291         (-[WebBaseResourceHandleDelegate willSendRequest:redirectResponse:]):
1292         * WebView.subproj/WebDataProtocol.h:
1293         * WebView.subproj/WebDataProtocol.m:
1294         (-[NSURLRequest _webDataRequestExternalRequest]):
1295         (-[NSURLRequest _webDataRequestSanitize]):
1296
1297 === Safari-405 ===
1298
1299 2005-03-10  Maciej Stachowiak  <mjs@apple.com>
1300
1301         Reviewed by Vicki.
1302
1303         <rdar://problem/4046510> REGRESSION (TOT): All Flash and Shockwave plugin-based web content missing
1304         
1305         * Plugins.subproj/WebNetscapePluginStream.m:
1306         (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
1307
1308 2005-03-10  John Sullivan  <sullivan@apple.com>
1309
1310         Reviewed by Vicki.
1311         
1312         - fixed <rdar://problem/4045843> Going back/forward to error page 
1313         hits assertion in -[WebDataSource(WebPrivate) _setData:]
1314
1315         * WebView.subproj/WebDataSource.m:
1316         (-[WebDataSource _setData:]):
1317         Removed bogus assertion
1318
1319 2005-03-09  Deborah Goldsmith  <goldsmit@apple.com>
1320
1321         Reviewed by Darin.
1322
1323         - fixed <rdar://problem/3997044> default encoding for non-Latin incorrect
1324
1325         * WebKit/WebView.subproj/WebPreferences.m: (+[WebPreferences _systemCFStringEncoding]):
1326         Call __CFStringGetUserDefaultEncoding to get region, and TECGetWebTextEncodings to get
1327         the first encoding to determine the default encoding.
1328
1329 2005-03-09  Darin Adler  <darin@apple.com>
1330
1331         Reviewed by Richard.
1332
1333         - fixed <rdar://problem/4034175> REGRESSION (Mail): Can't use any font with style Light/Condensed/Semibold/Extrabold, etc
1334
1335         * WebView.subproj/WebHTMLView.m:
1336         (-[WebHTMLView _styleFromFontAttributes:]): Use a constant instead of hard-coded weight for clarity.
1337         (-[WebHTMLView _originalFontA]): Ditto.
1338         (-[WebHTMLView _originalFontB]): Ditto.
1339         (-[WebHTMLView _addToStyle:fontA:fontB:]): Add code to detect the case where the family name is not good enough
1340         to specify the font precisely. In that case, use the Postscript font name instead. Also change variable names
1341         so it's easier to understand the method.
1342
1343 2005-03-06  Maciej Stachowiak  <mjs@apple.com>
1344
1345         Reviewed by Darin.
1346
1347         <rdar://problem/4005575> Arbitrary file disclosure vulnerability due to ability to load local html from remote content
1348         
1349         * Plugins.subproj/WebBaseNetscapePluginView.m:
1350         (-[WebBaseNetscapePluginView requestWithURLCString:]):
1351         * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
1352         (-[WebNetscapePluginEmbeddedView didStart]):
1353         * Plugins.subproj/WebNetscapePluginStream.m:
1354         (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
1355         * WebCoreSupport.subproj/WebBridge.m:
1356         (-[WebBridge createWindowWithURL:frameName:]):
1357         (-[WebBridge startLoadingResource:withURL:customHeaders:]):
1358         (-[WebBridge startLoadingResource:withURL:customHeaders:postData:]):
1359         (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
1360         (-[WebBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]):
1361         (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
1362         (-[WebBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]):
1363         (-[WebBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]):
1364         * WebView.subproj/WebFrame.m:
1365         (-[WebFrame _loadURL:referrer:intoChild:]):
1366         * WebView.subproj/WebFramePrivate.h:
1367
1368 2005-03-09  Richard Williamson   <rjw@apple.com>
1369         
1370         Fixed <rdar://problem/4032938> Safari: text layout for MS P Gothic font is corrupted
1371
1372         The AppKit and ATS reports that MS P Gothic is fixed pitch.  It is
1373         not!  This is another case of "fixed pitch" being wrong.  I've
1374         coalesced all the special cases into our isFontFixedPitch:, and
1375         used a dictionary to improve speed.  No performance regression.
1376
1377         Reviewed by Maciej.
1378
1379         * WebCoreSupport.subproj/WebTextRenderer.m:
1380         (-[WebTextRenderer _computeWidthForSpace]):
1381         * WebCoreSupport.subproj/WebTextRendererFactory.m:
1382         (-[WebTextRendererFactory clearCaches]):
1383         (-[WebTextRendererFactory isFontFixedPitch:]):
1384
1385 2005-03-09  Darin Adler  <darin@apple.com>
1386
1387         Reviewed by Maciej.
1388
1389         <rdar://problem/4040388> REGRESSION (172-173): nonrepro crash in -[NSString(WebNSURLExtras) _web_isUserVisibleURL]
1390
1391         * Misc.subproj/WebNSURLExtras.m:
1392         (-[NSString _web_isUserVisibleURL]): Fixed some pointer expressions that didn't include the index in the expression.
1393         (readIDNScriptWhiteListFile): Removed NSLog statements in here since we decided they aren't useful and they will
1394         write some messages on Tiger.
1395
1396 2005-03-09  Darin Adler  <darin@apple.com>
1397
1398         * DOM.subproj/DOMPrivate.h: Checked in file copied from WebCore.
1399
1400 2005-03-08  Richard Williamson   <rjw@apple.com>
1401
1402         Fixed <rdar://problem/4036949> many JPEG images fail to incremental-load due to change in ImageIO JPEG header parsing (to be fixed in WebKit)
1403         Fixed <rdar://problem/4042570> Need to check image properties for presence of width/height properties
1404
1405         ImageIO-55 changed how image properties are created.  They
1406         are now created incrementally.  So we need "re-get" the image
1407         properties if the properties we care about (width/height) aren't
1408         in the property dictionary.
1409
1410         Reviewed by John.
1411
1412         * WebCoreSupport.subproj/WebImageData.h:
1413         * WebCoreSupport.subproj/WebImageData.m:
1414         (-[WebImageData init]):
1415         (-[WebImageData fileProperties]):
1416         (-[WebImageData propertiesAtIndex:]):
1417         (-[WebImageData _isSizeAvailable]):
1418         (-[WebImageData incrementalLoadWithBytes:length:complete:callback:]):
1419         (-[WebImageData size]):
1420
1421 2005-03-08  John Sullivan  <sullivan@apple.com>
1422
1423         A couple of tweaks to the previous patch, from Darin's review.
1424
1425         * Misc.subproj/WebNSPasteboardExtras.m:
1426         (_writableTypesForImageWithoutArchive):
1427         remove unnecessary _web prefix
1428         (_writableTypesForImageWithArchive):
1429         ditto
1430         (+[NSPasteboard _web_writableTypesForImageIncludingArchive:]):
1431         use mutableCopy rather than initWithArray:, and adjust for name changes
1432
1433 2005-03-08  John Sullivan  <sullivan@apple.com>
1434
1435         Reviewed by Ken.
1436         
1437         - fixed <rdar://problem/4031826> REGRESSION (Mail): standalone images from 
1438         Safari can't be pasted into Mail (WebKit part of fix)
1439         
1440         We were always declaring webarchive-related pasteboard types, even in the standalone
1441         image cases where we had no webarchive. Unfortunately, the WebView pasteboard-related
1442         API doesn't prevent this kind of thing from happening, because the code that
1443         declares the types isn't guaranteed to be anywhere near the code that writes
1444         the pasteboard data.
1445         
1446         After this fix, I discovered that pasting standalone images into Mail still doesn't
1447         work right, but the remaining issues seem to be entirely in Mail. I wrote up 4041671
1448         to cover these.
1449
1450         * Misc.subproj/WebNSPasteboardExtras.h:
1451         (+[NSPasteboard _web_writableTypesForImageIncludingArchive:]):
1452         Added boolean parameter; clients must specify whether or not there's an
1453         archive involved, because the array of types is different if there is.
1454
1455         * Misc.subproj/WebNSPasteboardExtras.m:
1456         (_web_writableTypesForImageWithoutArchive):
1457         new static function, constructs (once) and returns the array of types
1458         for images that don't have archives
1459         (_web_writableTypesForImageWithArchive):
1460         new static function, constructs (once) and returns the array of types
1461         for images that do have archives
1462         (+[NSPasteboard _web_writableTypesForImageIncludingArchive:]):
1463         added boolean parameter, now calls one of the two new static functions
1464         
1465         (-[NSPasteboard _web_writeImage:URL:title:archive:types:]):
1466         added asserts that we aren't declaring the archive types if we don't have archive data
1467         
1468         (-[NSPasteboard _web_declareAndWriteDragImage:URL:title:archive:source:]):
1469         updated to pass parameter to _web_writableTypesForImageIncludingArchive:
1470         
1471         * WebView.subproj/WebDefaultContextMenuDelegate.m:
1472         (-[WebDefaultUIDelegate copyImageToClipboard:]):
1473         updated to pass parameter to _web_writableTypesForImageIncludingArchive:
1474
1475         * WebView.subproj/WebImageView.m:
1476         (-[WebImageView copy:]):
1477         updated to pass parameter to _web_writableTypesForImageIncludingArchive:
1478
1479         * WebView.subproj/WebView.m:
1480         (-[WebView pasteboardTypesForElement:]):
1481         updated to pass parameter to _web_writableTypesForImageIncludingArchive:
1482
1483 2005-03-07  Richard Williamson   <rjw@apple.com>
1484
1485         More bullet proofing for <rdar://problem/4038304> CrashTracer: ....9 crashes at com.apple.WebKit: -[WebTextRenderer initWithFont:usingPrinterFont:] + 840
1486
1487         Protect against removal of Times and Times New Roman from
1488         system.  If these fonts are removed attempt to get system font
1489         instead of FATAL_ALWAYS.
1490
1491         Reviewed by John.
1492
1493         * WebCoreSupport.subproj/WebTextRenderer.m:
1494         (-[WebTextRenderer initWithFont:usingPrinterFont:]):
1495
1496 === Safari-403 ===
1497
1498 2005-03-06  Darin Adler  <darin@apple.com>
1499
1500         - fixed obvious mistake in IDN script code (luckily it hasn't been in a submission yet!)
1501
1502         * Misc.subproj/WebNSURLExtras.m: (readIDNScriptWhiteListFile): Use "index" to index into the array,
1503         not "script", which is the script number, not the 32-bit-word index.
1504
1505 2005-03-05  Kevin Decker  <kdecker@apple.com>
1506
1507         Reviewed by Darin.
1508
1509         Fixed: <rdar://problem/4038529> Infinite progress bar loading webcams and other sites that use multipart/x-mixed-replace
1510
1511         The previous patch I landed prevented us from loading multipart/x-mixed-replace but did not always update the progress bar accordingly.  
1512         This stops websites from having seemingly infinite progress in the browser UI.  
1513
1514         * WebCoreSupport.subproj/WebSubresourceClient.m:
1515         (-[WebSubresourceClient didReceiveResponse:]): If this is "multipart/x-mixed-replace", remove the WebBaseResourceHandleDelegate client from 
1516         the datasource's subresource array, otherwise -[WebDataSource isLoading] incorrectly returns YES.   Also it's possible at this point in
1517          time we're done loading now (loaded everything else except for the multipart/x-mixed-replace content) so go ahead and check to see if 
1518          in fact we're complete. 
1519         * WebView.subproj/WebMainResourceClient.m:
1520         (-[WebMainResourceClient connection:didReceiveResponse:]): ditto
1521
1522 2005-03-05  Richard Williamson   <rjw@apple.com>
1523
1524         Fixed panther build problem.  Shouldn't include
1525         changes for 3968753 on panther.
1526
1527         Reviewed by John.
1528
1529         * WebView.subproj/WebView.m:
1530         (-[WebView _commonInitializationWithFrameName:groupName:]):
1531
1532 2005-03-05  Darin Adler  <darin@apple.com>
1533
1534         Reviewed by John.
1535
1536         - fixed <rdar://problem/4034603> REGRESSION (185-188): RadarWeb can't send enclosures anymore
1537
1538         * WebView.subproj/WebFormDataStream.m:
1539         (closeCurrentStream): Release currentData when closing the stream.
1540         (advanceCurrentStream): Set up and retain currentData when the current stream is reading that data, so the
1541         data won't be released while in use.
1542         (formCreate): Initialize currentData to NULL.
1543
1544         - fixed <rdar://problem/4037562> Tiger8A402: Help Viewer crashed when viewing help for iChat (infinite recursion in WebView)
1545
1546         * WebView.subproj/WebView.m: (-[WebView _responderValidateUserInterfaceItem:]):
1547         Check for the case where we ourselves are the responder. This avoids an infinite loop.
1548         The actual code to perform operations avoids this with a global variable, but this lighter weight
1549         solution is sufficient here because validate operations don't call through to the next responder.
1550
1551 2005-03-04  Richard Williamson   <rjw@apple.com>
1552
1553         Fixed <rdar://problem/3968753> REGRESSION: Poor performance with differing multiple animated GIFs (was fast in Panther)
1554
1555         Disable coalesced updates (in CG).  This restores the
1556         panther behavior.
1557
1558         Reviewed by David Harrison.
1559
1560         * WebView.subproj/WebView.m:
1561         (-[WebView _commonInitializationWithFrameName:groupName:]):
1562
1563 2005-03-04  Adele Amchan  <adele@apple.com>
1564
1565         Reviewed by Darin.
1566
1567         * English.lproj/StringsNotToBeLocalized.txt: added new strings "text/x-vcf" and "text/x-csv" to the list
1568
1569 2005-03-04  Adele Amchan  <adele@apple.com>
1570
1571         Reviewed by Chris.
1572
1573         Fix for <rdar://problem/4032982> Sun iPlanet app: not able to import AddressBook CSV format addresses properly
1574         Fix for <rdar://problem/4032985> Sun iPlanet app: not able to import vCard format addresses properly
1575
1576         * WebView.subproj/WebTextView.m:
1577         (+[WebTextView unsupportedTextMIMETypes]): added "text/x-csv" and "text/x-vcf" to the list of MIME types that our text view doesn't handle
1578
1579 2005-03-04  Darin Adler  <darin@apple.com>
1580
1581         Reviewed by John.
1582
1583         - fixed <rdar://problem/4036817> REGRESSION: ctrl-y broken when a line + carriage return cut
1584
1585         * WebView.subproj/WebHTMLView.m:
1586         (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:]): Merged _handleKillRing behavior
1587         into this function, since there's now a more-complicated way the startNewKillRingSequence boolean needs to
1588         be handled. Set the startNewKillRingSequence boolean after the entire process so changing the selection before
1589         and during the editing dosn't clear it. Also change "isTypingAction" parameter to "deletionAction" so we can
1590         handle forward delete with this method.
1591         (-[WebHTMLView _deleteSelection]): Pass deleteSelectionAction for action rather than NO for isTypingAction,
1592         which is the way to say the same thing using the new parameter.
1593         (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]): Refactor to use the _deleteRange
1594         method above. Also calls _shouldDeleteRange: for the pre-existing selection case; not doing that before was
1595         a bug.
1596         (-[WebHTMLView deleteToMark:]): Pass deleteSelectionAction for action rather than NO for isTypingAction,
1597         which is the way to say the same thing using the new parameter.
1598
1599 2005-03-04  Darin Adler  <darin@apple.com>
1600
1601         Reviewed by John.
1602
1603         - fixed <rdar://problem/4020413> REGRESSION (Mail): can't use fonts with names that start with "#" in Mail (Korean fonts)
1604
1605         * WebView.subproj/WebHTMLView.m:
1606         (-[WebHTMLView _styleFromFontAttributes:]): Quote font name when calling setFontFamily.
1607         (-[WebHTMLView _addToStyle:fontA:fontB:]): Ditto.
1608
1609 2005-03-04  Darin Adler  <darin@apple.com>
1610
1611         Reviewed by John.
1612
1613         - fixed <rdar://problem/3965666> IDN spoofing vulnerability caused by Unicode characters that look like ASCII characters
1614
1615         * Misc.subproj/WebNSURLExtras.m:
1616         (readIDNScriptWhiteListFile): Added. Reads file and parses script names.
1617         (readIDNScriptWhiteList): Added. Calls readIDNScriptWhiteList on each of the white list locations in succession.
1618         (allCharactersInIDNScriptWhiteList): Renamed from containsPossibleLatinLookalikes and changed sense.
1619         Now calls readIDNScriptWhiteList first time, and then uses the read-in list to check the scripts.
1620         (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Call allCharactersInIDNScriptWhiteList instead of
1621         containsPossibleLatinLookalikes.
1622         * Resources/IDNScriptWhiteList.txt: Added.
1623         * WebKit.pbproj/project.pbxproj: Added IDNScriptWhiteList.txt file.
1624
1625         * Misc.subproj/WebKitLocalizableStrings.m: Removed. This is simply unused.
1626         * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
1627
1628 2005-03-04  Darin Adler  <darin@apple.com>
1629
1630         Reviewed by John.
1631
1632         - fixed <rdar://problem/3937667> REGRESSION (Mail): Zooming a window from titlebar button doesn't paint newly-exposed portions of window
1633
1634         * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]):
1635         Re-set-up the visRect if the bounds changes due to layout.
1636
1637 === Safari-402 ===
1638
1639 2005-03-03  Jens Alfke  <jens@apple.com>
1640
1641         Reviewed by rjw.
1642
1643         <rdar://problem/3991818> REGRESSION: Images scale while loading
1644         The code could crop an image when not all the scanlines were available yet, and it could crop when only a sub-rect of the image was to be drawn; but if it had to do both at once, it got the coordinates wrong. Fixed that.
1645
1646         * WebCoreSupport.subproj/WebImageData.m:
1647         (-[WebImageData incrementalLoadWithBytes:length:complete:callback:]):
1648
1649 2005-03-01  David Hyatt  <hyatt@apple.com>
1650
1651         Fix for 3841186, scrollbar shows up disabled when it should not appear at all.  Make sure updateScrollers
1652         is never allowed to be re-entrant from any call point by moving the guard inside the function itself.
1653         
1654         Reviewed by John Sullivan
1655
1656         * WebView.subproj/WebDynamicScrollBarsView.m:
1657         (-[WebDynamicScrollBarsView updateScrollers]):
1658         (-[WebDynamicScrollBarsView reflectScrolledClipView:]):
1659
1660 2005-03-02  Chris Blumenberg  <cblu@apple.com>
1661
1662         Fixed: <rdar://problem/4029010> Expose method to retrieve drag image for WebView's selection
1663
1664         Reviewed by sullivan.
1665
1666         * WebView.subproj/WebHTMLView.m:
1667         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): call _selectionDraggingImage
1668         (-[WebHTMLView _selectionDraggingImage]): new SPI for Mail, factored from previous method
1669         (-[WebHTMLView _selectionDraggingRect]): new SPI for Mail
1670         * WebView.subproj/WebHTMLViewPrivate.h:
1671
1672 2005-03-02  John Sullivan  <sullivan@apple.com>
1673
1674         Reviewed by Adele.
1675         
1676         - fixed <rdar://problem/4023337> Safari stops loading any page (-[NSCFDictionary setObject:forKey:]: 
1677         attempt to insert nil key)
1678         
1679         It is very likely that the exception being hit is caused by the same problem as WebFoundation
1680         bug 4018486. This change makes the code robust against this kind of problem regardless.
1681
1682         * WebView.subproj/WebBaseResourceHandleDelegate.m:
1683         (-[WebBaseResourceHandleDelegate saveResource]):
1684         Don't call addSubresource if newly-created resource is nil (but do assert on debug builds).
1685         Also assert that originalURL and MIMEType are not nil.
1686         
1687         * WebView.subproj/WebDataSource.m:
1688         (-[WebDataSource addSubresource:]):
1689         Don't add nil subresource to dictionary, but do assert on debug builds.
1690
1691 === Safari-401 ===
1692
1693 2005-03-01  John Sullivan  <sullivan@apple.com>
1694
1695         Reviewed by Darin.
1696         
1697         - fixed <rdar://problem/3987482> Format>Style>Italic is not enabled when a 
1698         compose window is empty (works in Blot)
1699
1700         * WebView.subproj/WebHTMLView.m:
1701         (-[WebHTMLView becomeFirstResponder]):
1702         call _updateFontPanel here so NSFontManager knows the right font for the menu
1703         items and the font panel
1704
1705 2005-03-01  David Harrison  <harrison@apple.com>
1706
1707         Reviewed by Chris.
1708         
1709         <rdar://problem/3915560> Mail would like an SPI to enable "smart" text paste/drop
1710
1711         * WebView.subproj/WebHTMLView.m:
1712         (-[WebHTMLView _smartDeleteRangeForProposedRange:]):
1713         (-[WebHTMLView _smartInsertForString:replacingRange:beforeString:afterString:]):
1714         New.
1715
1716 2005-02-28  John Sullivan  <sullivan@apple.com>
1717
1718         Reviewed by Ken.
1719         
1720         - WebKit part of fix for <rdar://problem/4023490> REGRESSION (125-185): Tabbing through links 
1721         on frameset page gets stuck at end (tivofaq.com)
1722         
1723         This tab-to-links stuff has been in shaky condition ever since AppKit futzed with
1724         tabbing behavior in Tiger to add support for including the toolbar in the key loop.
1725         I made some changes months ago to compensate for that, but some cases, such as this
1726         one, still weren't fixed.
1727
1728         * WebCoreSupport.subproj/WebBridge.m:
1729         (-[WebBridge _nextKeyViewOutsideWebFrameViewsWithValidityCheck:]):
1730         new bottleneck method, extracted from nextKeyViewOutsideWebFrameViews; handles
1731         nextKeyView or nextValidKeyView depending on parameter.
1732         (-[WebBridge nextKeyViewOutsideWebFrameViews]):
1733         now calls extracted method
1734         (-[WebBridge nextValidKeyViewOutsideWebFrameViews]):
1735         new method, calls new bottleneck method
1736         
1737         * WebView.subproj/WebHTMLView.m:
1738         (-[WebHTMLView nextValidKeyView]):
1739         when we're stuck at the end of a nextKeyView chain inside a nexted frame, use
1740         nextValidKeyViewOutsideWebFrameViews. Make sure we don't end up looking inside
1741         the web frame views while doing this.
1742
1743 2005-02-25  Darin Adler  <darin@apple.com>
1744
1745         Reviewed by John.
1746
1747         - fixed <rdar://problem/4025088> window onblur and onfocus don't fire when text field has focus
1748
1749         * WebView.subproj/WebHTMLView.m:
1750         (-[WebHTMLView updateFocusState]): Renamed from updateFocusDisplay. Added call to setWindowHasFocus: method.
1751         (-[WebHTMLView viewDidMoveToWindow]): Call method by new name.
1752         (-[WebHTMLView windowDidBecomeKey:]): Ditto.
1753         (-[WebHTMLView windowDidResignKey:]): Ditto.
1754         (-[WebHTMLView becomeFirstResponder]): Ditto.
1755         (-[WebHTMLView resignFirstResponder]): Ditto.
1756
1757 === Safari-400 ===
1758
1759 2005-02-25  Richard Williamson   <rjw@apple.com>
1760
1761         Fixed <rdar://problem/4000962> 8A375: Help Viewer displays voiced sound and semi-voiced characters strangely (characters don't seem to be composed)
1762
1763         Added special case for voiced marks.
1764
1765         Reviewed by John.
1766
1767         * WebCoreSupport.subproj/WebTextRenderer.m:
1768         (widthForNextCharacter):
1769
1770 2005-02-25  Darin Adler  <darin@apple.com>
1771
1772         Reviewed by John.
1773
1774         - fixed <rdar://problem/4019823> Seed: Control-Y doesn't work
1775
1776         * WebView.subproj/WebHTMLView.m:
1777         (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]): Call _handleKillRing
1778         after setting the selection, since it uses the selection to get the text.
1779         (-[WebHTMLView _insertText:selectInsertedText:]): Check for empty string to avoid an assertion
1780         on the other side of the bridge when you yank the empty string.
1781
1782 2005-02-24  Richard Williamson   <rjw@apple.com>
1783
1784         Fixed <rdar://problem/3382926> Bidi neutrals at RTL/LTR boundaries not handled correctly.
1785
1786         If directionality is specified use that as initial directionality,
1787         rather than neutral directionality.     
1788
1789         Reviewed by Hyatt.
1790
1791         * WebCoreSupport.subproj/WebTextRenderer.m:
1792         (widthForNextCharacter):
1793
1794 2005-02-24  Adele Amchan  <adele@apple.com>
1795
1796         Reviewed by Chris.
1797        
1798         Fix for <rdar://problem/4023393> Safari crashed in khtml::RenderObject::repaintAfterLayoutIfNeeded(QRect const&, QRect const&)
1799
1800         We were crashing after hitting PageDown when viewing a pdf because 
1801         WebKit was calling over to WebCore to scroll overflow areas.
1802         Since this only needs to be done if we're dealing with a WebHTMLView, 
1803         I added a wrapper function to check the documentView before calling
1804         over to WebCore.
1805
1806         * WebView.subproj/WebFrameView.m:
1807         (-[WebFrameView _scrollOverflowInDirection:granularity:]): added wrapper function that checks if documentView is a WebHTMLView 
1808         (-[WebFrameView scrollToBeginningOfDocument:]): uses new wrapper function now
1809         (-[WebFrameView scrollToEndOfDocument:]): uses new wrapper function now
1810         (-[WebFrameView _pageVertically:]): uses new wrapper function now
1811         (-[WebFrameView _pageHorizontally:]): uses new wrapper function now
1812         (-[WebFrameView _scrollLineVertically:]): uses new wrapper function now
1813         (-[WebFrameView _scrollLineHorizontally:]): uses new wrapper function now
1814
1815 2005-02-24  Richard Williamson   <rjw@apple.com>
1816
1817         Fixed <rdar://problem/3985889> REGRESSION (125-180): setting <img> src to GIF that already animated does not animate; just shows final frame
1818         
1819         Reviewed by Hyatt.
1820
1821         * WebCoreSupport.subproj/WebImageData.h:
1822         * WebCoreSupport.subproj/WebImageData.m:
1823         (-[WebImageData resetAnimation]):
1824         * WebCoreSupport.subproj/WebImageRenderer.m:
1825         (-[WebImageRenderer resetAnimation]):
1826         (-[WebInternalImage resetAnimation]):
1827         (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]):
1828
1829 2005-02-24  Kevin Decker  <kdecker@apple.com>
1830
1831         Reviewed by John.
1832
1833         Fixed <rdar://problem/3962401> Don't load multipart/x-mixed-replace content to prevent memory leak
1834
1835         Since we're not going to fix <rdar://problem/3087535> for Tiger, we should not load multipart/x-mixed-replace content.  Pages with such content contain what is essentially an infinite load and therefore may leak.
1836
1837         * WebView.subproj/WebMainResourceClient.m: 
1838         (-[WebMainResourceClient connection:didReceiveResponse:]):  Disabled loading of multipart/x-mixed-replace content until we fully implement server side push. 
1839          * WebCoreSupport.subproj/WebSubresourceClient.m: 
1840         (-[WebSubresourceClient didReceiveResponse:]): Ditto. Same exact thing for sub resources. 
1841
1842
1843 2005-02-23  John Sullivan  <sullivan@apple.com>
1844
1845         Reviewed by Ken.
1846         
1847         - fixed <rdar://problem/4021370> REGRESSION (Tiger): WebKit part of fix for 
1848         shift-tab on tivofaq doing the wrong thing
1849
1850         * WebView.subproj/WebFrameView.m:
1851         (-[WebFrameView becomeFirstResponder]):
1852         If our previousValidKeyView is nil or self (same as nil modulo AppKit oddness),
1853         look out of the box and get the previousValidKeyView of our webview.
1854
1855 2005-02-23  Darin Adler  <darin@apple.com>
1856
1857         Reviewed by Hyatt.
1858
1859         - fixed <rdar://problem/4010196> REGRESSION (125-186+): 8-character timestamps in gmail wrap to 2 lines (width:8ex; font-size:80%)
1860
1861         * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer xHeight]): Return the maximum
1862         of the "x" height and width. Comment in the code explains why in more detail.
1863
1864 2005-02-22  Richard Williamson   <rjw@apple.com>
1865
1866         Fixed <rdar://problem/3937203> when a div adds a scrollbar (overflow:auto) we do not get regions
1867
1868         Compare regions after automatice scroll regions have been
1869         added.
1870
1871         Reviewed by Maciej.
1872
1873         * WebCoreSupport.subproj/WebBridge.h:
1874         * WebCoreSupport.subproj/WebBridge.m:
1875         (-[WebBridge dealloc]):
1876         (-[WebBridge _compareDashboardRegions:]):
1877         (-[WebBridge dashboardRegionsChanged:]):
1878
1879 2005-02-22  Richard Williamson   <rjw@apple.com>
1880
1881         Fixed <rdar://problem/4012463> Dashboard widgets don't work with authenticating proxies
1882
1883         Added new SPI for dashboard that just calls default delegate
1884         behavior.
1885
1886         Reviewed by Maciej.
1887
1888         * WebView.subproj/WebView.m:
1889         (-[WebView handleAuthenticationForResource:challenge:fromDataSource:]):
1890         * WebView.subproj/WebViewPrivate.h:
1891
1892 2005-02-22  Chris Blumenberg  <cblu@apple.com>
1893
1894         Reviewed by mjs.
1895
1896         * WebCoreSupport.subproj/WebBridge.m:
1897         (-[WebBridge issuePasteAndMatchStyleCommand]): support for new "PasteAndMatchStyle" exec command
1898
1899 === Safari-188 ===
1900
1901 2005-02-21  David Harrison  <harrison@apple.com>
1902
1903         Reviewed by Darin.
1904
1905         <rdar://problem/3943090> REGRESSION (Mail): Spelling underline incompletely erased following certain steps
1906
1907         * WebCoreSupport.subproj/WebTextRenderer.m:
1908         (-[WebTextRenderer misspellingLineThickness]):
1909         (-[WebTextRenderer misspellingLinePatternWidth]):
1910         Replaced #defines with these methods, so others can get the same info.
1911         
1912         (-[WebTextRenderer drawLineForMisspelling:withWidth:]):
1913         Keep underline within originally specified bounds.
1914         
1915
1916 2005-02-21  Darin Adler  <darin@apple.com>
1917
1918         Reviewed by John.
1919
1920         - fixed <rdar://problem/4016358> don't ever display IDN URLs with characters from "possible Latin look-alike" scripts
1921
1922         * Misc.subproj/WebNSURLExtras.m:
1923         (containsPossibleLatinLookalikes): Added.
1924         (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Call containsPossibleLatinLookalikes, and if true,
1925         don't decode the host name.
1926
1927 2005-02-19  Kevin Decker  <kdecker@apple.com>
1928
1929         Reviewed by Chris.
1930
1931         Fixed <rdar://problem/4010765> Flash player can be used to arbitrarily open popup windows without user permission
1932         
1933         Our window.open() policy is to refuse the <script>window.open(...)</script> case and allow the inline the <a href="javascript:window.open('foo')> case.  Clever advertisers at some point realized that by executing their Javascript through the Flash plugin, Safari would always treat their code as the inline case, and thus, they were able to work around our popup blocker. 
1934
1935         * Plugins.subproj/WebBaseNetscapePluginView.h: Addded currentEventIsUserGesture boolean ivar. 
1936         * Plugins.subproj/WebBaseNetscapePluginView.m:
1937         (-[WebBaseNetscapePluginView sendEvent:]): If at any point the user clicks or presses a key from within a plugin, set the currentEventIsUserGesture flag to true. This is important to differentiate legitimate window.open() calls originating from plugins;  we still want to allow those. 
1938         (-[WebBaseNetscapePluginView initWithFrame:]): In our asynchronous load, pass along currentEventIsUserGesture to the PluginRequest. 
1939         (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): Inform WebCore if this was a user originated gesture when calling executeScript(). 
1940         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
1941         (-[WebPluginRequest initWithRequest:frameName:notifyData:sendNotification:didStartFromUserGesture:]):
1942         (-[WebPluginRequest isCurrentEventUserGesture]): Added. 
1943
1944 2005-02-18  Chris Blumenberg  <cblu@apple.com>
1945
1946         Fixed: <rdar://problem/3945271> REGRESSION (Mail): pasted plain text should pick up typing style instead of being unstyled
1947
1948         Reviewed by kocienda.
1949
1950         * WebView.subproj/WebDataSource.m:
1951         (-[WebDataSource _replaceSelectionWithArchive:selectReplacement:]): pass NO for matchStyle to replaceSelection
1952         * WebView.subproj/WebHTMLView.m:
1953         (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:chosePlainText:]): return new chosePlainText parameter
1954         (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): pass chosePlainText for matchStyle to replaceSelection
1955         (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): ditto
1956
1957 2005-02-17  Richard Williamson   <rjw@apple.com>
1958
1959         Removed code that should not have been checked in from
1960         last patch.
1961
1962         * WebCoreSupport.subproj/WebTextRendererFactory.m:
1963         (-[WebTextRendererFactory isFontFixedPitch:]):
1964
1965 2005-02-17  Richard Williamson   <rjw@apple.com>
1966
1967         Fixed <rdar://problem/3999467> when Osaka-Mono is specified as fixed width font, Osaka used instead
1968
1969         Fixed w/o introducing a performance regression.
1970
1971         Reviewed by Vicki (and earlier by Dave Harrison).
1972
1973         * WebCoreSupport.subproj/WebTextRenderer.m:
1974         (-[WebTextRenderer _computeWidthForSpace]):
1975         (widthForNextCharacter):
1976         * WebCoreSupport.subproj/WebTextRendererFactory.h:
1977         * WebCoreSupport.subproj/WebTextRendererFactory.m:
1978         (-[NSFont _web_isFakeFixedPitch]):
1979         (-[WebTextRendererFactory isFontFixedPitch:]):
1980         (-[WebTextRendererFactory fontWithFamily:traits:size:]):
1981
1982 2005-02-17  Richard Williamson   <rjw@apple.com>
1983
1984         Fixed <rdar://problem/3959304> PDF in img tag is not rendered correctly anymore
1985
1986         We were incorrectly adding image position when flipping coordinates.
1987
1988         Reviewed by David Harrison.
1989
1990         * WebCoreSupport.subproj/WebImageData.m:
1991         (-[WebImageData _PDFDrawFromRect:toRect:operation:alpha:flipped:context:]):
1992
1993 2005-02-17  Richard Williamson   <rjw@apple.com>
1994
1995         Fixed <rdar://problem/4007262> Seed: Flight tracker scrolling moves to the left
1996
1997         Added SPI for dashboard to disable wheel scrolling of the WebClipView.
1998
1999         Reviewed by Ken.
2000
2001         * ChangeLog:
2002         * WebView.subproj/WebClipView.m:
2003         (-[WebClipView _focusRingVisibleRect]):
2004         (-[WebClipView scrollWheel:]):
2005         * WebView.subproj/WebView.m:
2006         (-[WebViewPrivate init]):
2007         (-[WebView drawRect:]):
2008         (-[WebView _dashboardBehavior:]):
2009         * WebView.subproj/WebViewInternal.h:
2010         * WebView.subproj/WebViewPrivate.h:
2011
2012 === Safari-187 ===
2013
2014 2005-02-17  Vicki Murley <vicki@apple.com>
2015
2016         - roll out this change, since it causes a 1.5% performance regression
2017
2018     2005-02-15  Richard Williamson   <rjw@apple.com>
2019         
2020         Fixed <rdar://problem/3999467> when Osaka-Mono is specified as fixed width font, Osaka used instead
2021         
2022         Lie about Osaka-Mono.  Treat it as fixed pitch, even though,
2023         strictly speaking it isn't.  (Similar to what we do with
2024         Courier New.)
2025
2026         Reviewed by David Harrison.
2027
2028         * WebCoreSupport.subproj/WebTextRenderer.m:
2029         (-[WebTextRenderer _computeWidthForSpace]):
2030         * WebCoreSupport.subproj/WebTextRendererFactory.h:
2031         * WebCoreSupport.subproj/WebTextRendererFactory.m:
2032         (-[NSFont _web_isFakeFixedPitch]): 
2033         (-[WebTextRendererFactory isFontFixedPitch:]):
2034         (-[WebTextRendererFactory fontWithFamily:traits:size:]):
2035
2036 2005-02-17  John Sullivan  <sullivan@apple.com>
2037
2038         Reviewed by Ken.
2039         
2040         - fixed <rdar://problem/3997185> The Web view on .Mac Prefs caused System Prefs 
2041         to lockup (resolved by re-boot only)
2042
2043         * WebCoreSupport.subproj/WebBridge.m:
2044         (-[WebBridge nextKeyViewOutsideWebFrameViews]):
2045         Don't allow recursion here; assert on debug build, return nil on deployment. I
2046         couldn't get my machine into a state to repro this problem (and neither could the
2047         originator), but it's obvious from the stack crawl that this method was recursing
2048         when it shouldn't have.
2049
2050 2005-02-16  John Sullivan  <sullivan@apple.com>
2051
2052         Written by Darin, reviewed by me.
2053         
2054         - WebKit part of fix for <rdar://problem/4007384> 
2055         FILTER: Bookmark of RSS with Japanese search word & multiple RSS pages loses filter
2056
2057         * DOM.subproj/DOMPrivate.h:
2058         updated this file, which is a copy of the WebCore version
2059
2060 2005-02-16  Richard Williamson   <rjw@apple.com>
2061
2062         Fixed <rdar://problem/3966973> Tiger 8A357: Binary Compatiblity: frequent Webstractor.app crashes [WebImageData _nextFrame]
2063
2064         Webstractor.app was playing tricks to create thumbnails of
2065         pages.  This caused the 'focusView' to be incorrect during
2066         animated GIF frame rendering.
2067
2068         Reviewed by Chris.
2069
2070         * WebCoreSupport.subproj/WebImageRenderer.m:
2071         (-[WebImageRenderer _startOrContinueAnimationIfNecessary]):
2072
2073 2005-02-16  Vicki Murley  <vicki@apple.com>
2074
2075         Reviewed by me, code change by Darin.
2076
2077         - fixed the build on Panther
2078
2079         * WebView.subproj/WebFormDataStream.m: (webSetHTTPBody):
2080         Added a Panther-specific code path that just loads all the data into one big
2081         NSData object. This means that bug 3686434 won't be fixed on SUPanWheat; we'll
2082         still load the file into memory before sending it to the server on Panther.
2083
2084 2005-02-15  Richard Williamson   <rjw@apple.com>
2085
2086         Fixed <rdar://problem/3998368> Tiger8A376: WebTextRenderer assertion failure in Safari while browsing news.bbc.co.uk
2087
2088         Removed use of FATAL_ALWAYS from getUncachedWidth().  It's unclear
2089         why we would trigger the FATAL_ALWAYS.  In the past we've seen
2090         the message triggered because of corrupt fonts.  Anyway, in this
2091         particular case, we will now return 0 for the character width,
2092         rather than exiting.
2093
2094         Reviewed by David Harrison.
2095
2096         * WebCoreSupport.subproj/WebTextRenderer.m:
2097         (getUncachedWidth):
2098
2099 2005-02-15  Richard Williamson   <rjw@apple.com>
2100
2101         Fixed <rdar://problem/3999467> when Osaka-Mono is specified as fixed width font, Osaka used instead
2102
2103         Lie about Osaka-Mono.  Treat it as fixed pitch, even though,
2104         strictly speaking it isn't.  (Similar to what we do with
2105         Courier New.)
2106
2107         Reviewed by David Harrison.
2108
2109         * WebCoreSupport.subproj/WebTextRenderer.m:
2110         (-[WebTextRenderer _computeWidthForSpace]):
2111         * WebCoreSupport.subproj/WebTextRendererFactory.h:
2112         * WebCoreSupport.subproj/WebTextRendererFactory.m:
2113         (-[NSFont _web_isFakeFixedPitch]):
2114         (-[WebTextRendererFactory isFontFixedPitch:]):
2115         (-[WebTextRendererFactory fontWithFamily:traits:size:]):
2116
2117 2005-02-14  Darin Adler  <darin@apple.com>
2118
2119         Reviewed by John.
2120
2121         - fixed <rdar://problem/3686434> Safari uses too much RAM on file upload, leading to malloc errors and crashes (HP printers)
2122
2123         * WebView.subproj/WebFormDataStream.h: Added webSetHTTPBody, which creates and connects an appropriate
2124         stream to an NSMutableURLRequest.
2125         * WebView.subproj/WebFormDataStream.m: Added implementation here.
2126
2127         * WebCoreSupport.subproj/WebBridge.m:
2128         (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
2129         Use webSetHTTPBody.
2130         * WebCoreSupport.subproj/WebSubresourceClient.m:
2131         (+[WebSubresourceClient startLoadingResource:withURL:customHeaders:postData:referrer:forDataSource:]):
2132         Use webSetHTTPBody.
2133         * WebView.subproj/WebFrame.m:
2134         (-[WebFrame _loadItem:withLoadType:]): Use webSetHTTPBody.
2135         (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): Ditto.
2136
2137         * English.lproj/StringsNotToBeLocalized.txt: Updated for this change and other recent changes.
2138
2139 2005-02-11  Richard Williamson   <rjw@apple.com>
2140
2141         Fixed <rdar://problem/4002505> 8A378: Endlessly animating gif's on http://www.entropy.ch
2142         
2143         If animated images had no loop count property we were incorrectly
2144         looping forver.  Note, that in the course of fixing this bug
2145         I found that ImageIO is incorrectly NOT reporting the loop count
2146         for a whole class of animated GIFs.
2147
2148         Reviewed by Ken Kocienda.
2149
2150         * WebCoreSupport.subproj/WebImageData.m:
2151         (-[WebImageData _repetitionCount]):
2152
2153 === Safari-186 ===
2154
2155 2005-02-11  Vicki Murley  <vicki@apple.com>
2156
2157         Reviewed by Darin.
2158
2159         - fix deployment build on Panther
2160  
2161         * WebView.subproj/WebHTMLView.m:
2162         (-[WebHTMLView changeBaseWritingDirection:]): ifdef out NSWritingDirectionNatural
2163         (-[WebHTMLView toggleBaseWritingDirection:]): fix a spacing issue
2164
2165 2005-02-10  David Harrison  <harrison@apple.com>
2166
2167         Reviewed by Richard.
2168
2169         <rdar://problem/3991652> REGRESSION (Mail): Deleting entire line in reply deletes extra blank line and moves insertion point
2170         
2171         * WebView.subproj/WebHTMLView.m:
2172         (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:isTypingAction:]):
2173         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
2174         (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]):
2175         (-[WebHTMLView selectToMark:]):
2176         (-[WebHTMLView swapWithMark:]):
2177         (-[WebHTMLView transpose:]):
2178         (-[WebHTMLView _selectMarkedText]):
2179         (-[WebHTMLView _selectRangeInMarkedText:]):
2180         Adopt new default affinity of NSSelectionAffinityDownstream as of <rdar://problem/3937447>.
2181         
2182 2005-02-10  Darin Adler  <darin@apple.com>
2183
2184         Reviewed by Harrison.
2185
2186         - fixed <rdar://problem/4002084> Setting ResourceLoadDelegate to nil can cause a crash
2187
2188         * WebView.subproj/WebView.m: (-[WebView _cacheResourceLoadDelegateImplementations]):
2189         Set booleans to either YES or NO, rather than setting them only in the YES case.
2190
2191 2005-02-10  Darin Adler  <darin@apple.com>
2192
2193         Reviewed by Harrison.
2194
2195         - fixed <rdar://problem/3991225> Format->Style->Underline menu item does not get checked when selected text is underlined
2196
2197         * WebView.subproj/WebHTMLView.m:
2198         (-[WebHTMLView validateUserInterfaceItem:]): Added tons of additional cases in here for all the
2199         "action" style methods in this class that don't always want to be valid. For the ones where state
2200         makes sense, added the state-checking code too for the menu item case.
2201         (-[WebHTMLView ignoreSpelling:]): Removed unnecessary "editable text only" check since this command
2202         would work fine on a non-editable selection.
2203         (-[WebHTMLView swapWithMark:]): Ditto.
2204         (-[WebHTMLView changeBaseWritingDirection:]): Added. Like toggle, but based on the sender's tag.
2205
2206 2005-02-08  Darin Adler  <darin@apple.com>
2207
2208         "Reviewed" by Richard (he told me the file was obsolete).
2209
2210         - got rid of an obsolete file
2211
2212         * Plugins.subproj/npsap.h: Removed.
2213         * copy-webcore-files-to-webkit: Removed npsap.h.
2214
2215 2005-02-09  Richard Williamson   <rjw@apple.com>
2216
2217         Fixed <rdar://problem/4000073> non-screen font error on www.worldofwarcraft.com
2218
2219         Reviewed by John Sullivan.
2220
2221         * WebCoreSupport.subproj/WebTextRenderer.m:
2222         (-[WebTextRenderer _smallCapsFont]):
2223
2224 === Safari-185 ===
2225
2226 2005-02-07  Chris Blumenberg  <cblu@apple.com>
2227
2228         Fixed: <rdar://problem/3993354> Safari claims to put RTFD on the pasteboard, but doesn't, in some cases
2229
2230         Reviewed by john.
2231
2232         * WebView.subproj/WebHTMLView.m:
2233         (-[WebHTMLView _stripAttachmentCharactersFromAttributedString:]): moved
2234         (-[WebHTMLView _writeSelectionWithPasteboardTypes:toPasteboard:cachedAttributedString:]): take cachedAttributedString parameter in case the attributed string was gotten already
2235         (-[WebHTMLView _writeSelectionToPasteboard:]): omit RTFD from the types list when there are no attachments
2236
2237 2005-02-07  David Harrison  <harrison@apple.com>
2238
2239         Reviewed by Ken.
2240
2241         <rdar://problem/3990693> REGRESSION (8A373): ctrl-k now deletes just one character instead of line
2242         
2243         * WebView.subproj/WebHTMLView.m:
2244         (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]):
2245         Set the selection so that deleteKeyPressedWithSmartDelete knows what to delete.
2246
2247 2005-02-06  Darin Adler  <darin@apple.com>
2248
2249         Reviewed by Maciej.
2250
2251         - fixed <rdar://problem/3963166> PDFView SPI print method is being deprecated, moving to PDFDocument; please update WebKit
2252
2253         * WebView.subproj/WebPDFView.m: (-[WebPDFView printOperationWithPrintInfo:]): Target the document instead of the view.
2254
2255         * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes and also moved one translation to be a file-specific
2256         item rather than a file-independent one.
2257
2258 2005-02-05  Chris Blumenberg  <cblu@apple.com>
2259
2260         Fixed: <rdar://problem/3991974> REGRESSION: www.jabra.com world location screen does not work
2261
2262         Reviewed by hyatt.
2263
2264         * WebCoreSupport.subproj/WebBridge.m:
2265         (-[WebBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]): use the baseURL from the bridge rather than from the response
2266
2267 2005-02-04  Chris Blumenberg  <cblu@apple.com>
2268
2269         Fixed: <rdar://problem/3802781> rtf->html pasteboard conversion using xhtml
2270
2271         Reviewed by kocienda.
2272
2273         * WebView.subproj/WebHTMLView.m:
2274         (+[WebHTMLView _excludedElementsForAttributedStringConversion]): new
2275         (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): call _excludedElementsForAttributedStringConversion
2276
2277 2005-02-04  Chris Blumenberg  <cblu@apple.com>
2278
2279         Fixed: <rdar://problem/3832973> copy text from PowerPoint, paste into Blot (or presumably Mail) and get a single missing image icon
2280
2281         Reviewed by john.
2282
2283         * WebView.subproj/WebHTMLView.m:
2284         (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): prefer RTF and RTFD over images just as NSTextView does
2285
2286 2005-02-03  Chris Blumenberg  <cblu@apple.com>
2287
2288         Fixed: <rdar://problem/3555137> REGRESSION (125-173): Flash animation can erase parts of chrome (bookmarks bar & tab bar)
2289
2290         convertRect:toView: returns incorrect results inside of viewWillMoveToWindow: with a nil window. Workaround this by catching this case.
2291
2292         Reviewed by darin.
2293
2294         * Plugins.subproj/WebBaseNetscapePluginView.m:
2295         (-[WebBaseNetscapePluginView superviewsHaveSuperviews]): new
2296         (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]): clip out the plug-in view when superviewsHaveSuperviews returns NO
2297
2298 2005-02-03  Chris Blumenberg  <cblu@apple.com>
2299
2300         Fixed: <rdar://problem/3893513> Sun iPlanet app: when saving to a file it brings up a window with the thing to be saved instead
2301
2302         Reviewed by adele.
2303
2304         * WebView.subproj/WebTextView.m:
2305         (+[WebTextView unsupportedTextMIMETypes]): added "text/ldif" to the list of MIME types that our text view doesn't handle
2306
2307 === Safari-183 ===
2308
2309 2005-02-03  Chris Blumenberg  <cblu@apple.com>
2310
2311         * English.lproj/StringsNotToBeLocalized.txt: updated
2312
2313 2005-02-03  Chris Blumenberg  <cblu@apple.com>
2314
2315         Fixed: <rdar://problem/3989611> Evite style "add vCalendar to calendar" do not work
2316
2317         Reviewed by adele.
2318
2319         * WebView.subproj/WebTextView.m:
2320         (+[WebTextView unsupportedTextMIMETypes]): added "text/x-vcalendar" to the list of MIME types our text view doesn't handle
2321
2322 2005-02-03  Vicki Murley  <vicki@apple.com>
2323
2324         Reviewed by Darin.
2325
2326         - fix deployment build breakage on Panther
2327  
2328         * WebView.subproj/WebHTMLView.m:
2329         (-[WebHTMLView toggleBaseWritingDirection:]):
2330
2331 2005-02-02  John Sullivan  <sullivan@apple.com>
2332
2333         Reviewed by Chris.
2334         
2335         - WebKit part of fix for <rdar://problem/3980651> REGRESSION (125-180): Huge number of pages printed from certain page, 
2336         iFrame involved
2337         
2338         This also fixes the problems with printing from GMail, yay!
2339
2340         * WebView.subproj/WebHTMLView.m:
2341         (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
2342         Don't adjust margins for header/footer here, because this is called for each subframe.
2343         (-[WebHTMLView knowsPageRange:]):
2344         Do adjust margins for header/footer here (analogous to WebTextView and WebImageView).
2345         Also, round the page height to an integer here (noticed in passing).
2346
2347 2005-02-02  Chris Blumenberg  <cblu@apple.com>
2348
2349         Fixed: <rdar://problem/3986546> Cut, delete, and paste menu items are active when a image is opened in window
2350
2351         Reviewed by john.
2352
2353         * WebView.subproj/WebView.m:
2354         (-[WebView _responderValidateUserInterfaceItem:]): new, has the responder validate the item 
2355         (-[WebView validateUserInterfaceItem:]): call VALIDATE for each repsonder selector using FOR_EACH_RESPONDER_SELECTOR macro
2356         (-[WebView _performResponderOperation:with:]): call factored out method _responderForResponderOperations
2357         (-[WebView _responderForResponderOperations]): new, code from _performResponderOperation:with:
2358
2359 2005-02-02  Chris Blumenberg  <cblu@apple.com>
2360
2361         Fixed: <rdar://problem/3983628> control-click on WebView is not selecting the word under the cursor (Mail, non-editable WebView)
2362
2363         Reviewed by rjw.
2364
2365         * WebCoreSupport.subproj/WebBridge.m:
2366         (-[WebBridge selectWordBeforeMenuEvent]): new
2367         * WebView.subproj/WebView.m:
2368         (-[WebView _selectWordBeforeMenuEvent]): new SPI
2369         (-[WebView _setSelectWordBeforeMenuEvent:]): new SPI
2370         * WebView.subproj/WebViewInternal.h:
2371         * WebView.subproj/WebViewPrivate.h:
2372
2373 2005-02-02  Chris Blumenberg  <cblu@apple.com>
2374
2375         Fixed: <rdar://problem/3986013> Assertion failure going back after page load error (no apparent problem in nondebug build)
2376
2377         Reviewed by rjw.
2378
2379         * WebView.subproj/WebDataSource.m:
2380         (-[WebDataSource _setPrimaryLoadComplete:]): don't set the data source data when the main client is nil
2381
2382 2005-02-02  Ken Kocienda  <kocienda@apple.com>
2383
2384         Reviewed by Darin
2385
2386         Fix for this bug:
2387         
2388         <rdar://problem/3823109> WebKit should support -toggleBaseWritingDirection: (bidi editing support)
2389
2390         * WebView.subproj/WebHTMLView.m:
2391         (-[WebHTMLView _applyParagraphStyleToSelection:withUndoAction:]): New function that calls through to
2392         new feature that allows callers to force all properties in a style to be applied as block styles.
2393         (-[WebHTMLView _alignSelectionUsingCSSValue:withUndoAction:]): Removed FIXME comment for something that has been fixed.
2394         (-[WebHTMLView toggleBaseWritingDirection:]): Implemented.
2395
2396 2005-02-01  Richard Williamson   <rjw@apple.com>
2397
2398         Fixed <rdar://problem/3977727> WebKit should use new SPI to support faster GIF rendering
2399
2400         Note:  This REQUIRES build >= 3A362 when building on Tiger.
2401
2402         Reviewed by John.
2403
2404         * WebCoreSupport.subproj/WebImageData.m:
2405         (-[WebImageData _imageSourceOptions]):
2406
2407 === Safari-182 ===
2408
2409 2005-02-01  Richard Williamson   <rjw@apple.com>
2410
2411         Added new SPI for <rdar://problem/3967063> need spi on WebView to turn of lcd text for Dashboard
2412
2413         Reviewed by Chris.
2414
2415         * WebCoreSupport.subproj/WebTextRenderer.m:
2416         (_drawGlyphs):
2417         * WebView.subproj/WebView.m:
2418         (-[WebView drawRect:]):
2419         (-[WebView _dashboardBehavior:]):
2420         (+[WebView _setShouldUseFontSmoothing:]):
2421         (+[WebView _shouldUseFontSmoothing]):
2422         * WebView.subproj/WebViewInternal.h:
2423         * WebView.subproj/WebViewPrivate.h:
2424
2425 2005-01-31  Chris Blumenberg  <cblu@apple.com>
2426
2427         Fixed: <rdar://problem/3949806> REGRESSION: Source window fails to refresh correctly on reload
2428
2429         The data method was being called on WebDataSource before the data was set. This fix makes WebDataSource set the data before releasing the main client instead of waiting for the main client to set it when it is dealloced.
2430
2431         Reviewed by darin.
2432
2433         * WebView.subproj/WebDataSource.m:
2434         (-[WebDataSource _setData:]): moved within file
2435         (-[WebDataSource _setPrimaryLoadComplete:]): call _setData: with the data from the main client before letting go of the main client
2436         * WebView.subproj/WebDataSourcePrivate.h:
2437         * WebView.subproj/WebMainResourceClient.m:
2438         (-[WebMainResourceClient releaseResources]): removed call to _setData: since the data source may need the data before releaseResources is called
2439
2440 2005-01-31  Chris Blumenberg  <cblu@apple.com>
2441
2442         Fixed: <rdar://problem/3946285> Seed: Safari crashed by selecting all at internet-moebel.com
2443
2444         Reviewed by john.
2445
2446         * WebView.subproj/WebHTMLView.m:
2447         (-[WebHTMLView _hitViewForEvent:]): new, factored hit test hack to this method
2448         (-[WebHTMLView _updateMouseoverWithEvent:): call _hitViewForEvent:
2449         (-[WebHTMLView acceptsFirstMouse:]): call _setMouseDownEvent: and _isSelectionEvent: on the hit HTMLView or else when it's asked to drag it will assert
2450         (-[WebHTMLView shouldDelayWindowOrderingForEvent:]): ditto
2451
2452 2005-01-31  David Harrison  <harrison@apple.com>
2453
2454         Reviewed by Darin.
2455
2456         <rdar://problem/3961239> AX Setting AXFocused on AXScrollArea of AXWebArea will cause keyboard selection change
2457
2458         * WebView.subproj/WebHTMLView.m:
2459         (-[WebHTMLView maintainsInactiveSelection]):
2460         Keep the selection when the new first respomder is our own scrollview, in both editable and non-editaqble content.
2461
2462 2005-01-31  Jens Alfke  <jens@apple.com>
2463
2464         Reviewed by John.
2465
2466         - Fixed <rdar://problem/3903199> REGRESSION: Large background patterns slide around while loading
2467
2468         * WebCoreSupport.subproj/WebImageData.m:
2469         (drawPattern):
2470         (-[WebImageData tileInRect:fromPoint:context:]):
2471
2472 2005-01-30  Darin Adler  <darin@apple.com>
2473
2474         Reviewed by John.
2475
2476         - fixed <rdar://problem/3965265> Safari displays HTML as source when default encoding is Hebrew (due to direction overrides added by encoding converter)
2477
2478         * WebView.subproj/WebPreferencesPrivate.h: Added _systemCFStringEncoding, and changed
2479         _setInitialDefaultTextEncodingToSystemEncoding to be a class method.
2480         * WebView.subproj/WebPreferences.m:
2481         (+[WebPreferences _systemCFStringEncoding]): Added. New SPI to be used by Safari. Broken out of
2482         _setInitialDefaultTextEncodingToSystemEncoding, but also added cases for MacArabic and MacHebrew.
2483         (+[WebPreferences _setInitialDefaultTextEncodingToSystemEncoding]): Refactor to use _systemCFStringEncoding.
2484
2485 2005-01-28  Jens Alfke  <jens@apple.com>
2486
2487         Reviewed by Richard.
2488
2489         <rdar://problem/3727680> printing some page with WebKit generates a PDF with a 1x1 image with soft mask (causes Acrobat to hang during print spooling)
2490
2491         Detect 1x1 images, extract and cache color of single pixel, reduce draw and tile operations to a color fill (or to a no-op if the pixel is clear.)
2492
2493         * WebCoreSupport.subproj/WebImageData.h:
2494         * WebCoreSupport.subproj/WebImageData.m:
2495         (-[WebImageData _invalidateImages]):
2496         (-[WebImageData _checkSolidColor:]):
2497         (-[WebImageData _cacheImages:allImages:]):
2498         (-[WebImageData _fillSolidColorInRect:compositeOperation:context:]):
2499         (-[WebImageData tileInRect:fromPoint:context:]):
2500
2501 2005-01-28  David Harrison  <harrison@apple.com>
2502
2503         Reviewed by Darin.
2504
2505         <rdar://problem/3584942> AX: Safari Accessibility parent-child mismatch
2506
2507         Use AppKit SPI _accessibilityParentForSubview to return KWQAccObject parent of AppKit AX object.
2508         
2509         * WebView.subproj/WebHTMLView.m:
2510         (-[WebHTMLView _accessibilityParentForSubview:]):
2511         New.
2512
2513 2005-01-28  Chris Blumenberg  <cblu@apple.com>
2514
2515         WebKit side of: <rdar://problem/3951283> can view pages from the back/forward cache that should be disallowed by Parental Controls
2516
2517         Reviewed by john.
2518
2519         * WebView.subproj/WebDefaultPolicyDelegate.m:
2520         (-[WebDefaultPolicyDelegate webView:shouldGoToHistoryItem:]): new private delegate method
2521         * WebView.subproj/WebFrame.m:
2522         (-[WebFrame _goToItem:withLoadType:]): call new delegate method
2523         * WebView.subproj/WebPolicyDelegatePrivate.h:
2524
2525 2005-01-26  Maciej Stachowiak  <mjs@apple.com>
2526
2527         Reviewed by Darin, Hyatt and Ken.
2528
2529         <rdar://problem/3790449> REGRESSION (Mail): underline behavior is flaky because of how CSS handles text-decoration
2530
2531         * WebView.subproj/WebHTMLView.m:
2532         (-[WebHTMLView _styleFromFontAttributes:]): Use new -khtml-text-decorations-in-effect
2533         property
2534         (-[WebHTMLView _styleForAttributeChange:]): likewise
2535         (-[WebHTMLView underline:]): likewise
2536
2537 2005-01-27  Ken Kocienda  <kocienda@apple.com>
2538
2539         Reviewed by Maciej
2540
2541         * WebView.subproj/WebHTMLView.m:
2542         (-[WebHTMLView _handleKillRing:prepend:]): New helper function. Code factored out from 
2543          _deleteRange:killRing:prepend:smartDeleteOK:isTypingAction:.
2544         (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:isTypingAction:]): No longer takes 
2545         unused preflight argument. Now takes new isTypingAction argument. Uses isTypingAction to
2546         determine which flavor of delete command to call.
2547         (-[WebHTMLView _deleteSelection]): No longer passes unused preflight argument. Now passes new isTypingAction argument.
2548         (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]): Rearranged code to call
2549         correct flavor of delete command, based on whether typing should be preserved. Some other cleanups.
2550         (-[WebHTMLView deleteForward:]): Add _isEditable check.
2551         (-[WebHTMLView deleteBackward:]): Now calls _deleteWithDirection instead of having unique behavior different 
2552         from forward delete.
2553         (-[WebHTMLView deleteWordForward:]): Add new isTypingAction flag to _deleteWithDirection call.
2554         (-[WebHTMLView deleteWordBackward:]): Ditto.
2555         (-[WebHTMLView deleteToBeginningOfLine:]): Ditto.
2556         (-[WebHTMLView deleteToEndOfLine:]): Ditto.
2557         (-[WebHTMLView deleteToBeginningOfParagraph:]): Ditto.
2558         (-[WebHTMLView deleteToEndOfParagraph:]): Ditto.
2559         (-[WebHTMLView deleteToMark:]): Ditto.
2560
2561 === Safari-181 ===
2562
2563 2005-01-27  Chris Blumenberg  <cblu@apple.com>
2564
2565         Fixed: <rdar://problem/3973272> REGRESSION: Safari uses QT plugin to display PNG images
2566
2567         Reviewed by john.
2568
2569         * Plugins.subproj/WebBasePluginPackage.m: use renamed QT bundle ID
2570
2571 2005-01-26  Darin Adler  <darin@apple.com>
2572
2573         Reviewed by John.
2574
2575         - fixed <rdar://problem/3829517> WebView still draws white when setDrawsBackground set to NO and no content loaded yet
2576
2577         * WebView.subproj/WebFrameView.m: (-[WebFrameView drawRect:]): Check drawsBackground, and don't
2578         draw the white "no document" background if it's NO. This fixes things for frames with no document.
2579         * WebView.subproj/WebImageView.m: (-[WebImageView drawRect:]): Same as above. This fixes things
2580         for frames with just an image.
2581         * WebView.subproj/WebFrame.m: (-[WebFrame _updateDrawsBackground]): Call setDrawsBackground: on the
2582         document view if it implements it. This fixes things for frames with plain text.
2583
2584 2005-01-25  John Sullivan  <sullivan@apple.com>
2585
2586         Reviewed by Chris.
2587         
2588         - WebKit part of fix for: <rdar://problem/3970670> Text context menu 
2589           in WebKit needs "Look Up in Dictionary" item
2590
2591         * WebView.subproj/WebDefaultContextMenuDelegate.m:
2592         (localizedMenuTitleFromAppKit):
2593         return English string in the case where AppKit bundle is found but doesn't
2594         contain the expected string. This case will be hit by people testing with
2595         an older AppKit.
2596         (-[WebDefaultUIDelegate menuItemWithTag:]):
2597         create Look Up in Dictionary item
2598         (-[WebDefaultUIDelegate contextMenuItemsForElement:]):
2599         add Look Up in Dictionary item and separator
2600         (-[WebDefaultUIDelegate editingContextMenuItemsForElement:]):
2601         ditto
2602
2603         * WebView.subproj/WebHTMLView.m:
2604         (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
2605         new method, handles bringing up the Dictionary window. Includes FIXMEs
2606         for a couple of the known loose ends.
2607         (-[WebHTMLView validateUserInterfaceItem:]):
2608         handle Look Up in Dictionary item like the other new items
2609         
2610         * WebView.subproj/WebUIDelegatePrivate.h:
2611         added SPI constant for Look Up in Dictionary menu item
2612
2613 2005-01-24  Maciej Stachowiak  <mjs@apple.com>
2614
2615         Fixed Panther build (missing ifdef)
2616
2617         * WebView.subproj/WebDefaultContextMenuDelegate.m:
2618
2619 2005-01-24  John Sullivan  <sullivan@apple.com>
2620
2621         Reviewed by Darin.
2622         
2623         - WebKit part of fix for <rdar://problem/3960231> Text context menu in WebKit needs Spotlight and Google items
2624         
2625         * WebView.subproj/WebDefaultContextMenuDelegate.m:
2626         (localizedMenuTitleFromAppKit):
2627         new function, gets localized string from AppKit so we can avoid adding localized
2628         strings to WebKit at this late date in Tiger. Returns the non-localized English
2629         string if we can't find the localized string in AppKit.
2630         (-[WebDefaultUIDelegate menuItemWithTag:]):
2631         handle the two new menu items by tag name
2632         (-[WebDefaultUIDelegate contextMenuItemsForElement:]):
2633         add menu items for Search in Google and Search in Spotlight to selected-text menu item
2634         for the noneditable case
2635         (-[WebDefaultUIDelegate editingContextMenuItemsForElement:]):
2636         add menu items for Search in Google and Search in Spotlight to selected-text menu item
2637         for the editable case
2638
2639         * WebView.subproj/WebHTMLView.m:
2640         (-[WebHTMLView _searchWithGoogleFromMenu:]):
2641         implement this menu item action method, using same method name and implementation as NSTextView
2642         (-[WebHTMLView _searchWithSpotlightFromMenu:]):
2643         implement this menu item action method, using same basic implementation as NSTextView
2644         (-[WebHTMLView validateUserInterfaceItem:]):
2645         validate new menu items
2646         
2647         * WebView.subproj/WebUIDelegatePrivate.h:
2648         define new tags for new menu items
2649
2650         * English.lproj/StringsNotToBeLocalized.txt:
2651         updated for these changes
2652
2653 2005-01-24  Darin Adler  <darin@apple.com>
2654
2655         * WebView.subproj/WebDataSource.m: (+[WebDataSource _repTypesAllowImageTypeOmission:]):
2656         Do the same check as for view types, so the representation types are consistent.
2657
2658 2005-01-24  Darin Adler  <darin@apple.com>
2659
2660         Reviewed by John.
2661
2662         - fixed <rdar://problem/3791158> REGRESSION (Mail): copyFont: and pasteFont: copy and paste only the NSFont, not other attributes
2663
2664         * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _styleFromFontAttributes:]): Added the last
2665         few loose ends here: strikethrough and underline.
2666
2667         - fixed <rdar://problem/3967393> add a user default that lets you turn off WebKit PDF support
2668
2669         * WebView.subproj/WebFrameView.m: (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
2670         Leave the PDF-handling classes out of the dictionary if the secret default is set.
2671
2672         * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
2673
2674 2005-01-20  Darin Adler  <darin@apple.com>
2675
2676         Reviewed by Kristin Forster.
2677
2678         - fixed <rdar://problem/3964972> update _initWithCGSEvent:eventRef: call in mouse moved workaround (breaks cursors in Carbon WebKit applications)
2679
2680         * Carbon.subproj/HIWebView.m: (MouseMoved): Instead of munging the event record's window number directly
2681         before calling _initWithCGSEvent, on Tiger we call _eventRelativeToWindow on the event after creating it.
2682         Also added a check so that with Macromedia Contribute's workaround in place we don't do anything at all
2683         to the event. Tested with both Contribute and CarbonWeb.
2684
2685         * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
2686
2687 2005-01-20  Richard Williamson   <rjw@apple.com>
2688
2689         Fixed <rdar://problem/3815672> REGRESSION (Mail): Japanese text cannot be made bold
2690
2691         The AppKit's font substitution API doesn't match font traits! 
2692         It only find fonts that contain the appropriate glyphs.  This
2693         patch attempts to find the best variation within a family.
2694
2695         Reviewed by Maciej.
2696
2697         * WebCoreSupport.subproj/WebTextRenderer.m:
2698         (-[WebTextRenderer _substituteFontForString:families:]):
2699
2700 === Safari-180 ===
2701
2702 2005-01-20  Ken Kocienda  <kocienda@apple.com>
2703
2704         Reviewed by John
2705
2706         Fix for this bug:
2707         
2708         <rdar://problem/3786659> REGRESSION (Mail): editable WebViews don't work with "size up" and "size down" NSFontManager changes
2709
2710         * WebView.subproj/WebHTMLView.m:
2711         (-[WebHTMLView _addToStyle:fontA:fontB:]): This is the WebKit side of the fix. Replaced unimplemented code blocks
2712         with FIXME's in them for make bigger and make smaller with real working code.
2713
2714 2005-01-19  David Hyatt  <hyatt@apple.com>
2715
2716         Fix for 3513067, spaces being lost when RTL text is rendered.  Make sure not to allow hangers or spaces
2717         in the margin.
2718         
2719         Reviewed by john
2720         
2721         * WebCoreSupport.subproj/WebTextRenderer.m:
2722         (-[WebTextRenderer _createATSUTextLayoutForRun:style:]):
2723
2724 2005-01-19  Darin Adler <darin@apple.com>
2725
2726         Reviewed by vicki
2727
2728         - fixed <rdar://problem/3962559> stopAnimationsInView leaks after cvs-base
2729  
2730         * WebCoreSupport.subproj/WebImageData.m: (+[WebImageData stopAnimationsInView:]): add a release
2731
2732 2005-01-19  Chris Blumenberg  <cblu@apple.com>
2733
2734         Fixed: <rdar://problem/3961809> plug-in code attempts to load empty URL
2735
2736         Reviewed by john.
2737
2738         * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
2739         (-[WebNetscapePluginEmbeddedView didStart]): don't start load if URL is empty
2740
2741 2005-01-17  Darin Adler  <darin@apple.com>
2742
2743         * DOM.subproj/DOMPrivate.h: Check in generated file.
2744
2745 2005-01-17  Darin Adler  <darin@apple.com>
2746
2747         Reviewed by John and Richard.
2748
2749         - fixed <rdar://problem/3907453> printing a multi-page PDF document from Safari doesn't produce correct output
2750
2751         * WebView.subproj/WebFrameViewPrivate.h: Added.
2752         * WebView.subproj/WebFrameView.m:
2753         (-[WebFrameView canPrintHeadersAndFooters]): Added. Returnes NO for documents that can't print headers or footers,
2754         and delegates to the document view to answer the question. Defaults to NO, since only a view that actively does
2755         the work is compatible with our header and footer code.
2756         (-[WebFrameView printOperationWithPrintInfo:]): Added. Returns an NSPrintOperation set up for printing. The reason
2757         we return this rather than an NSView is that in the PDFView case, the print info is changed around before creating
2758         the NSPrintOperation, and also the PDFKit SPI works this way.
2759
2760         * WebView.subproj/WebHTMLView.m: (-[WebHTMLView canPrintHeadersAndFooters]): Added. Returns YES.
2761         * WebView.subproj/WebImageView.m: (-[WebImageView canPrintHeadersAndFooters]): Ditto.
2762         * WebView.subproj/WebTextView.m: (-[WebTextView canPrintHeadersAndFooters]): Ditto.
2763
2764         * WebView.subproj/WebPDFView.m:
2765         (-[WebPDFView canPrintHeadersAndFooters]): Added. Returns NO.
2766         (-[WebPDFView printOperationWithPrintInfo:]): Added. Calls getPrintOperationForPrintInfo: autoRotate:YES on the PDFView.
2767
2768         * WebKit.pbproj/project.pbxproj: Added WebFrameViewPrivate.h as a new private header.
2769
2770 2005-01-13  Chris Blumenberg  <cblu@apple.com>
2771
2772         Fixed: <rdar://problem/3932107> Safari does not load QT Cocoa plug-in if the WebPluginMIMETypes key is not in the info.plist
2773
2774         Fixing this bug required that we allow WebKit plug-ins (as well as Netscape plug-ins) support BP_CreatePluginMIMETypesPreferences
2775         which allows plug-ins create an auxiliary MIME types file.
2776
2777         Reviewed by adele.
2778
2779         * Plugins.subproj/WebBasePluginPackage.h:
2780         * Plugins.subproj/WebBasePluginPackage.m:
2781         (+[WebBasePluginPackage preferredLocalizationName]): moved from WebNetscapePluginPackage
2782         (-[WebBasePluginPackage pListForPath:createFile:]): ditto
2783         (-[WebBasePluginPackage getPluginInfoFromPLists]): ditto
2784         (-[WebBasePluginPackage isLoaded]): return isLoaded ivar
2785         (-[WebBasePluginPackage load]): if loaded, get BP_CreatePluginMIMETypesPreferences symbol
2786         * Plugins.subproj/WebNetscapePluginPackage.h:
2787         * Plugins.subproj/WebNetscapePluginPackage.m:
2788         (-[WebNetscapePluginPackage load]): call super when done so BP_CreatePluginMIMETypesPreferences can be initialized
2789         * Plugins.subproj/WebPluginPackage.m:
2790         (-[WebPluginPackage initWithPath:]): call getPluginInfoFromPLists
2791         (-[WebPluginPackage load]): call super when done so BP_CreatePluginMIMETypesPreferences can be initialized
2792
2793 2005-01-13  Richard Williamson   <rjw@apple.com>
2794
2795         Fixed <rdar://problem/3952809> WebJavaPlugIn.h comments need method name corrected (webPlugInCallJava)
2796
2797         Reviewed by Maciej.
2798
2799         * Plugins.subproj/WebJavaPlugIn.h:
2800
2801 === Safari-179 ===
2802
2803 2005-01-13  Vicki Murley <vicki@apple.com>
2804
2805         Reviewed by Adele.
2806
2807         - fix <rdar://problem/3946836> Safari about box lists 2004 instead of 2005
2808
2809         * WebKit.pbproj/project.pbxproj: bump "2004" to "2005"
2810
2811 2005-01-13  Richard Williamson   <rjw@apple.com>
2812
2813         Fixed <rdar://problem/3951911> REGRESSION: Animated GIF images with loop counts no longer update
2814
2815         Draw last image after animation loop terminates.  (We
2816         were drawing the image at index+1, which doesn't exist!)
2817
2818         Reviewed by Darin.
2819
2820         * WebCoreSupport.subproj/WebImageData.m:
2821         (-[WebImageData _nextFrame:]):
2822
2823 2005-01-13  Richard Williamson   <rjw@apple.com>
2824
2825         Fixed <rdar://problem/3952084> REGRESSION: Links at projectseven.com now draw and update incorrectly during hover
2826
2827         Turn off use of new CGContextStrokeLineSegments API.  We should
2828         turn back on when 3952944 is fixed.
2829
2830         Reviewed by Darin.
2831
2832         * WebCoreSupport.subproj/WebTextRenderer.m:
2833         (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]):
2834
2835 2005-01-13  Chris Blumenberg  <cblu@apple.com>
2836
2837         Fixed: <rdar://problem/3937663> repro assertion failure and crash dragging image that has PDF source
2838
2839         Reviewed by adele.
2840
2841         * Misc.subproj/WebNSViewExtras.m:
2842         (-[NSView _web_dragImage:rect:event:pasteboard:source:offset:]): if [WebImageRenderer image] returns nil, fallback to code that uses a file icon as the drag image
2843         * WebCoreSupport.subproj/WebImageRendererFactory.m:
2844         (-[WebImageRendererFactory supportedMIMETypes]): removed code that omits PDF and PostScript from the list since this omission is only needed in WebImageView
2845         * WebView.subproj/WebImageView.m:
2846         (+[WebImageView supportedImageMIMETypes]): added code that omits PDF and PostScript since we don't want WebImageView to render these types
2847
2848 2005-01-10  Maciej Stachowiak  <mjs@apple.com>
2849
2850         Reviewed by Darin.
2851
2852         <rdar://problem/3758033> REGRESSION (Mail): Support attributes in marked text (International input)
2853         
2854         * WebCoreSupport.subproj/WebTextRenderer.m:
2855         (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]): Changed to support
2856         underline thickness. Also added a bit of a hack here to move thickness 2 underlines down by
2857         .5 pixels, since the rendering engine can't give a fractional pixel offset.
2858         * WebView.subproj/WebHTMLView.m:
2859         (-[WebHTMLView validAttributesForMarkedText]): Support underline, underline color and marked
2860         clause attributes. Others that NSText supports are unimplemented for now.
2861         (-[WebHTMLView firstRectForCharacterRange:]): Remove needless logging.
2862         (-[WebHTMLView unmarkText]): Updated for new WebCore SPI.
2863         (-[WebHTMLView _extractAttributes:ranges:fromAttributedString:]): New method to pull the attributes
2864         and ranges out of an attributed string.
2865         (-[WebHTMLView setMarkedText:selectedRange:]): Extract attributes and pass to WebCore.
2866         (-[WebHTMLView insertText:]): Add comment noting that we don't really handle attributed strings
2867         here.
2868
2869 2005-01-12  Darin Adler  <darin@apple.com>
2870
2871         Reviewed by Ken.
2872
2873         - fixed <rdar://problem/3848257> WebView will draw more than AppKit asks it to, so views behind won't redraw enough (transparent WebView)
2874
2875         * WebView.subproj/WebHTMLView.m:
2876         (-[WebHTMLView _propagateDirtyRectsToOpaqueAncestors]): As recommended by Troy Stephens, do the
2877         layouts here in this call, since it's before propagating the dirty rects to our ancestors.
2878         This fixes the bug, but we only do it if the WebView is not opaque, because otherwise we can
2879         optimize by only doing layouts you really need, and doing them later on is safe because we
2880         know we don't need to draw any of the views behind us.
2881         (-[WebHTMLView _layoutIfNeeded]): Added. Factored out from the method below.
2882         (-[WebHTMLView _web_layoutIfNeededRecursive]): Added. Like the other "layout if needed" call,
2883         but unconditional.
2884         (-[WebHTMLView _web_layoutIfNeededRecursive:testDirtyRect:]): Factored out the guts into the
2885         _layoutIfNeeded method above. Otherwise unchanged.
2886         (-[NSView _web_layoutIfNeededRecursive]): Added.
2887
2888         * WebView.subproj/WebFrame.m: (-[WebFrame _updateDrawsBackground]): Call setDrawsBackground:NO
2889         on the scroll view when changing the frame to no longer be in "draws background" mode. This
2890         is needed because the frame manages the "draws background" mode of the scroll view. It won't
2891         have any effect if you call setDrawsBackground:NO before starting to use a WebView, but without
2892         it calling setDrawsBackground:NO later won't have an immediate effect (easily visible in Safari).
2893         This was hidden before because the HTML view was filling with transparent color, which blew away
2894         the fill that was done by NSScrollView.
2895
2896         - fixed <rdar://problem/3921129> reproducible crash at www.funnychristmas.com in CFSet manipulation in WebImageData
2897
2898         * WebCoreSupport.subproj/WebImageData.m:
2899         (-[WebImageData _imageSourceOptions]): Changed types so we don't need a cast.
2900         (+[WebImageData stopAnimationsInView:]): Instead of building a set of sets, by putting in the sets with addObject,
2901         build a single set using unionSet, and then iterate the objects instead of having to iterate the sets and then the
2902         objects in each set. The old code ended up sharing the sets with the live code, when the whole idea was to gather
2903         all the renderers because the process of stopping modifies the active sets.
2904
2905 2005-01-12  Richard Williamson   <rjw@apple.com>
2906
2907         Fixed <rdar://problem/3926825> Safari ignores GIF loop count
2908
2909         Get loop count from file properties, not image properties.
2910
2911         Reviewed by Ken Kocienda.
2912
2913         * WebCoreSupport.subproj/WebImageData.h:
2914         * WebCoreSupport.subproj/WebImageData.m:
2915         (-[WebImageData _commonTermination]):
2916         (-[WebImageData fileProperties]):
2917         (-[WebImageData _floatProperty:type:at:]):
2918         (-[WebImageData _floatFileProperty:type:]):
2919         (-[WebImageData _repetitionCount]):
2920
2921 2005-01-11  Chris Blumenberg  <cblu@apple.com>
2922
2923         Fixed: <rdar://problem/3934749> assertion failure in WebBaseNetscapePluginView loading movie
2924
2925         Reviewed by john.
2926
2927         * Plugins.subproj/WebBaseNetscapePluginView.m:
2928         (-[WebBaseNetscapePluginView start]): call canStart before asserting about the webView
2929
2930 2005-01-11  John Sullivan  <sullivan@apple.com>
2931
2932         Reviewed by Darin.
2933         
2934         - fixed <rdar://problem/3446838> REGRESSION (Mail): text decorations don't print 
2935         (e.g. <strike>, underline)
2936
2937         * WebCoreSupport.subproj/WebTextRenderer.m:
2938         (-[WebTextRenderer drawLineForCharacters:yOffset:withWidth:withColor:]):
2939         This bottleneck routine for drawing a line was setting the linewidth to 0 when
2940         the graphics context was not drawing to the screen. Thus, no lines. Now links
2941         are underlined when printing from Safari (as well as Mail).
2942
2943 2005-01-11  Richard Williamson   <rjw@apple.com>
2944
2945         Fixed 3949145.  CG has a much faster API for drawing lines.
2946         Switched over to that new API (CGContextStrokeLineSegments).
2947
2948         Reviewed by John Sullivan.
2949
2950         * WebCoreSupport.subproj/WebTextRenderer.m:
2951         (-[WebTextRenderer drawLineForCharacters:yOffset:withWidth:withColor:]):
2952
2953 2005-01-10  Chris Blumenberg  <cblu@apple.com>
2954
2955         Fixed: <rdar://problem/3948862> REGRESSION: missing images when RTFD is pasted into editable WebView
2956
2957         This problem occurred because we were creating image elements before creating corresponding image resources. The fix is to have AppKit call us back to create the resources before it creates the elements.
2958
2959         Reviewed by john.
2960
2961         * WebView.subproj/WebHTMLView.m:
2962         (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): don't deal with subresources since that's now done by the following method
2963         (-[WebHTMLView resourceForData:preferredFilename:]): new handler method called by AppKit
2964
2965 === Safari-178 ===
2966
2967 2005-01-06  David Harrison  <harrison@apple.com>
2968
2969         Reviewed by Dave Hyatt
2970
2971         <rdar://problem/3588548> AX: tabbing does not work correctly with the screen reader and a focused link; need AXFocusedUIElement to work.
2972
2973         * WebView.subproj/WebHTMLView.m:
2974         (-[WebHTMLView accessibilityFocusedUIElement]):
2975         Implement this so that AppKit can use it from NSAccessibilityHandleFocusChanged.
2976
2977 2005-01-05  Chris Blumenberg  <cblu@apple.com>
2978
2979         Fixed: <rdar://problem/3936865> REGRESSION: canvas.drawImage no longer scales properly
2980
2981         Reviewed by john.
2982
2983         * WebCoreSupport.subproj/WebImageData.m: use the height of the inRect instead of the fromRect when setting the origin of the context
2984
2985 2005-01-04  Chris Blumenberg  <cblu@apple.com>
2986
2987         Fixed: <rdar://problem/3928329> WebKit should pass nil for "language" to checkSpellingOfString:
2988
2989         Reviewed by kocienda.
2990
2991         * WebView.subproj/WebHTMLView.m:
2992         (-[WebHTMLView _isSelectionMisspelled]): pass nil not @"" for language
2993
2994 2004-12-21  Maciej Stachowiak  <mjs@apple.com>
2995
2996         Reviewed by Darin.
2997
2998         <rdar://problem/3888931> frame naming allows malicious site to bring up a window when you click on a link in another
2999
3000         Implement a security check on name frame visbility. This is the
3001         same rule as mozilla. You can only target frames by name if you
3002         are in the same window, have the same domain as the frame or an
3003         ancestor, or if it's a top level window have the same domain as
3004         the opener.
3005         
3006         * WebView.subproj/WebFrame.m:
3007         (-[WebFrame _shouldAllowAccessFrom:]):
3008         (-[WebFrame _descendantFrameNamed:sourceFrame:]):
3009         (-[WebFrame findFrameNamed:]):
3010         * WebView.subproj/WebFramePrivate.h:
3011         * WebView.subproj/WebView.m:
3012         (-[WebView _findFrameInThisWindowNamed:sourceFrame:]):
3013         (-[WebView _findFrameNamed:sourceFrame:]):
3014         * WebView.subproj/WebViewPrivate.h:
3015
3016 === Safari-177 ===
3017
3018 === Safari-176 ===
3019
3020 2004-12-20  Richard Williamson   <rjw@apple.com>
3021
3022         Add call to new API.  ImageIO deprecated some older (although
3023         quite new!) API.   This caused us to fail to build on 337 or later.
3024
3025         Developers wanting to build on older versions of Tiger must define
3026         USE_DEPRECATED_IMAGESOURCE_API in WebImageData.m.
3027
3028         Reviewed by Vicki.
3029
3030         * WebCoreSupport.subproj/WebImageData.m:
3031         (-[WebImageData propertiesAtIndex:]):
3032
3033 2004-12-20  Richard Williamson   <rjw@apple.com>
3034
3035         Don't call Tiger SPI on Panther.
3036
3037         Reviewed by Vicki.
3038
3039         * WebCoreSupport.subproj/WebTextRendererFactory.m:
3040         (+[WebTextRendererFactory createSharedFactory]):
3041
3042 2004-12-20  Richard Williamson   <rjw@apple.com>
3043
3044         Fixed <rdar://problem/3884448> WebKit should turn on CG local font cache
3045
3046         Enable mutli-tier font caching.  We should see a performance boost with this
3047         change.
3048
3049         Reviewed by Chris.
3050
3051         * WebCoreSupport.subproj/WebTextRendererFactory.m:
3052         (+[WebTextRendererFactory createSharedFactory]):
3053
3054 2004-12-20  Richard Williamson   <rjw@apple.com>
3055
3056         Fix image decoding to separately decode image meta data from actual image bits.  I
3057         incorrectly consolidated decode of meta data and image bits resulting in a huge
3058         performance regression.
3059
3060         Double size of WebCore cache on lower end machines.  On the PLT run on machines with
3061         256MB of memory, too many images were being evicted, causing a re-decode on the PLT.
3062         Upping the lower limit of the cache size ensure that no images are evicted (this
3063         goes hand-in-hand with the change to the minimum object size from 32K to 40K).
3064
3065         Reviewed by Ken.
3066
3067         * WebCoreSupport.subproj/WebImageData.h:
3068         * WebCoreSupport.subproj/WebImageData.m:
3069         (+[WebImageData initialize]):
3070         (-[WebImageData _commonTermination]):
3071         (-[WebImageData _invalidateImages]):
3072         (-[WebImageData _invalidateImageProperties]):
3073         (-[WebImageData imageAtIndex:]):
3074         (-[WebImageData propertiesAtIndex:]):
3075         (-[WebImageData _cacheImages:allImages:]):
3076         (-[WebImageData decodeData:isComplete:callback:]):
3077         (-[WebImageData incrementalLoadWithBytes:length:complete:callback:]):
3078         * WebView.subproj/WebPreferences.m:
3079         (+[WebPreferences initialize]):
3080
3081 2004-12-20  Richard Williamson   <rjw@apple.com>
3082
3083         Fixed build problem caused by change to ImageIO API.
3084
3085         Reviewed by Adele.
3086
3087         * WebCoreSupport.subproj/WebImageData.m:
3088
3089 2004-12-19  Darin Adler  <darin@apple.com>
3090
3091         Reviewed by Kevin.
3092
3093         - some garbage collection fixes
3094
3095         * Misc.subproj/WebNSObjectExtras.h: (WebCFAutorelease): Replaced the old WebNSRetainCFRelease with this
3096         much-easier-to-understand function cribbed from what David Harrison did in WebCore.
3097
3098         * Misc.subproj/WebKitNSStringExtras.m: (+[NSString _web_encodingForResource:]): Use CFRelease here to
3099         get rid of an unnecessary use of WebNSRetainCFRelease.
3100         * Misc.subproj/WebNSURLExtras.m:
3101         (+[NSURL _web_URLWithData:relativeToURL:]): Use WebCFAutorelease instead of WebNSRetainCFRelease and autorelease.
3102         (-[NSURL _web_URLWithLowercasedScheme]): Ditto.
3103         (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Use WebCFAutorelease here; the old code would not
3104         work correctly under GC.
3105         * Plugins.subproj/WebNetscapePluginPackage.m: (+[WebNetscapePluginPackage preferredLocalizationName]):
3106         Use WebCFAutorelease here; the old code would not work correctly under GC.
3107
3108 2004-12-18  Chris Blumenberg  <cblu@apple.com>
3109
3110         Fixed: <rdar://problem/3766915> PDF content needs search to work
3111
3112         Reviewed by kevin, john.
3113
3114         * WebView.subproj/WebPDFView.m:
3115         (-[WebPDFView searchFor:direction:caseSensitive:wrap:]): implemented
3116         (-[WebPDFView takeFindStringFromSelection:]): new
3117         (-[WebPDFView jumpToSelection:]): new
3118         (-[WebPDFView validateUserInterfaceItem:]): new
3119
3120 2004-12-17  Richard Williamson   <rjw@apple.com>
3121
3122         Make image decoding as lazy as possible for non threaded case; in some cases
3123         can avoid unnecessary decoding work.
3124
3125         Reviewed by Chris.
3126
3127         * WebCoreSupport.subproj/WebImageData.h:
3128         * WebCoreSupport.subproj/WebImageData.m:
3129         (-[WebImageData imageAtIndex:]):
3130         (-[WebImageData propertiesAtIndex:]):
3131         (-[WebImageData incrementalLoadWithBytes:length:complete:callback:]):
3132
3133 2004-12-16  John Sullivan  <sullivan@apple.com>
3134
3135         Reviewed by Chris.
3136         
3137         One of the assertions from my previous checkin fired, so
3138         I made this code more robust.
3139
3140         * WebCoreSupport.subproj/WebBridge.m:
3141         (-[WebBridge _preferences]):
3142         new helper method, returns global preferences if webView is nil,
3143         otherwise returns webView's preferences
3144         (-[WebBridge getObjectCacheSize]):
3145         use new helper method, remove now-unnecessary assert
3146         (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]):
3147         ditto
3148
3149 2004-12-16  John Sullivan  <sullivan@apple.com>
3150
3151         Reviewed by Darin.
3152         
3153         - fixed <rdar://problem/3913523> Mail needs SPI for adding tooltips to links
3154         - cleaned up some calls to +[WebPreferences standardPreferences] that should
3155           have been using -[WebView preferences]
3156           
3157         This adds a (currently SPI-only) new feature that shows the URL of the link
3158         under the mouse in a toolTip. I tested this in Safari, but we're adding this
3159         feature for Mail, and Safari won't use it (unless of course you know the
3160         magic defaults command)
3161
3162         * Plugins.subproj/WebBaseNetscapePluginView.m:
3163         (-[WebBaseNetscapePluginView start]):
3164         use -[WebView preferences] instead of +[WebPreferences standardPreferences]
3165         
3166         * WebCoreSupport.subproj/WebBridge.m:
3167         (-[WebBridge getObjectCacheSize]):
3168         ditto
3169         (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]):
3170         ditto
3171         
3172         * WebView.subproj/WebBaseResourceHandleDelegate.m:
3173         (-[WebBaseResourceHandleDelegate willCacheResponse:]):
3174         ditto
3175         
3176         * WebView.subproj/WebFrame.m:
3177         (-[WebFrame _transitionToCommitted:]):
3178         ditto
3179         (-[WebFrame _loadItem:withLoadType:]):
3180         ditto
3181         
3182         * WebView.subproj/WebHTMLViewInternal.h:
3183         private struct now keeps ivar for cached value of showsURLsInToolTips
3184         so it doesn't have look it up in preferences a zillion times
3185         
3186         * WebView.subproj/WebHTMLView.m:
3187         (-[WebHTMLView _updateMouseoverWithEvent:]):
3188         if private->showsURLsInToolTips is true, set the toolTip from the URL.
3189         Fall back to showing the title attribute in case some element has a title
3190         attribute but no URL.
3191         (-[WebHTMLView _mayStartDragAtEventLocation:]):
3192         use -[WebView preferences] instead of +[WebPreferences standardPreferences]
3193         (-[WebHTMLView _resetCachedWebPreferences:]):
3194         get a fresh value for private->showsURLsInToolTips
3195         (-[WebHTMLView initWithFrame:]):
3196         call _resetCachedWebPreferences the first time, and listen for WebPreferencesChanged notifications
3197         (-[WebHTMLView _handleStyleKeyEquivalent:]):
3198         use -[WebView preferences] instead of +[WebPreferences standardPreferences]
3199         
3200         * WebView.subproj/WebPreferenceKeysPrivate.h:
3201         added WebKitShowsURLsInToolTipsPreferenceKey
3202         
3203         * WebView.subproj/WebPreferences.m:
3204         (+[WebPreferences initialize]):
3205         initialize WebKitShowsURLsInToolTipsPreferenceKey to 0
3206         (-[WebPreferences showsURLsInToolTips]):
3207         return WebKitShowsURLsInToolTipsPreferenceKey value
3208         (-[WebPreferences setShowsURLsInToolTips:]):
3209         set WebKitShowsURLsInToolTipsPreferenceKey value
3210         
3211         * WebView.subproj/WebPreferencesPrivate.h:
3212         add declarations for showsURLsInToolTips and setter
3213         
3214         * WebView.subproj/WebTextView.m:
3215         (-[WebTextView _preferences]):
3216         new helper method that gets preferences from webView if there is a webView,
3217         otherwise gets global preferences
3218         (-[WebTextView setFixedWidthFont]):
3219         use new helper method rather than always using global preferences
3220         (-[WebTextView initWithFrame:]):
3221         observe WebPreferencesChangedNotification instead of unnecessarily general
3222         NSUserDefaultsChangedNotification
3223
3224 2004-12-14  John Sullivan  <sullivan@apple.com>
3225
3226         Reviewed by Ken.
3227         
3228         - rest of WebKit fix for <rdar://problem/3790011> undoable operations all say "Undo" 
3229         in the menu, no specific action names
3230         
3231         I only know of one loose end currently, which I wrote up as <rdar://problem/3920971> Edit menu 
3232         says "Undo Change Attributes" when it should say "Undo Set Color", from font panel
3233
3234         * WebView.subproj/WebHTMLView.m:
3235         (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]):
3236         use WebUndoActionSetColor when dragging color swatch
3237         (-[WebHTMLView _applyStyleToSelection:withUndoAction:]):
3238         new WebUndoAction parameter, passed across bridge
3239         (-[WebHTMLView _toggleBold]):
3240         use WebUndoActionSetFont
3241         (-[WebHTMLView _toggleItalic]):
3242         use WebUndoActionSetFont
3243         (-[WebHTMLView pasteFont:]):
3244         use WebUndoActionPasteFont
3245         (-[WebHTMLView changeFont:]):
3246         use WebUndoActionSetFont
3247         (-[WebHTMLView changeAttributes:]):
3248         use WebUndoActionChangeAttributes
3249         (-[WebHTMLView _undoActionFromColorPanelWithSelector:]):
3250         new method, returns WebUndoActionSetBackgroundColor or WebUndoActionSetColor
3251         (-[WebHTMLView _changeCSSColorUsingSelector:inRange:]):
3252         now calls _undoActionFromColorPanelWithSelector
3253         (-[WebHTMLView changeColor:]):
3254         use WebUndoActionSetColor
3255         (-[WebHTMLView _alignSelectionUsingCSSValue:withUndoAction:]):
3256         new WebUndoAction parameter, passed through
3257         (-[WebHTMLView alignCenter:]):
3258         use WebUndoActionCenter
3259         (-[WebHTMLView alignJustified:]):
3260         use WebUndoActionJustify
3261         (-[WebHTMLView alignLeft:]):
3262         use WebUndoActionAlignLeft
3263         (-[WebHTMLView alignRight:]):
3264         use WebUndoActionAlignRight
3265         (-[WebHTMLView subscript:]):
3266         use WebUndoActionAlignSubscript
3267         (-[WebHTMLView superscript:]):
3268         use WebUndoActionAlignSuperscript
3269         (-[WebHTMLView unscript:]):
3270         use WebUndoActionAlignUnscript
3271         (-[WebHTMLView underline:]):
3272         use WebUndoActionAlignUnderline
3273         
3274         * WebView.subproj/WebView.m:
3275         (-[WebView setTypingStyle:]):
3276         pass WebUndoActionUnspecified through as new parameter since we don't have any more specific info
3277         (-[WebView applyStyle:]):
3278         ditto
3279
3280 2004-12-14  Richard Williamson   <rjw@apple.com>
3281
3282         Helper method to get URL of plugin view.
3283
3284         Reviewed by Chris.
3285
3286         * Misc.subproj/WebNSViewExtras.m:
3287         (-[NSView _webViewURL]):
3288
3289 2004-12-14  Vicki Murley <vicki@apple.com>
3290
3291         Reviewed by rjw.
3292  
3293         <rdar://problem/3855573> Remove reference to "WebScriptMethods" from WebScriptObject.h comments
3294
3295         * Plugins.subproj/WebPlugin.h: changed instances of "WebScriptMethods" to "WebScripting" in this
3296         file as well, as requested in the bug report
3297
3298 2004-12-13  Maciej Stachowiak  <mjs@apple.com>
3299
3300         Reviewed by John.
3301
3302         <rdar://problem/3912488> Mail throws an exception after backspacing "away" inline input
3303         
3304         * WebView.subproj/WebHTMLView.m:
3305         (-[WebHTMLView setMarkedText:selectedRange:]): Don't try to set a selection if
3306         we end up with no marked text, since that case fails and is unnecessary.
3307
3308 2004-12-14  John Sullivan  <sullivan@apple.com>
3309
3310         Reviewed by Ken.
3311
3312         - WebKit part of plumbing of fix for <rdar://problem/3790011> undoable operations all say "Undo" in the menu, 
3313         no specific action names
3314
3315         * WebCoreSupport.subproj/WebBridge.m:
3316         (-[WebBridge nameForUndoAction:]):
3317         renamed from setUndoActionNamePlaceholder, replaced arbitrary integers with enum values, and
3318         handled new "unspecified" case as a fallback
3319
3320 2004-12-13  Richard Williamson   <rjw@apple.com>
3321
3322         Fixed <rdar://problem/3887767> LiveConnect doesn't propagate Java exceptions back to JavaScript (prevents security suite from running)
3323
3324         Reviewed by John.
3325
3326         * Plugins.subproj/WebJavaPlugIn.h:
3327
3328 2004-12-13  John Sullivan  <sullivan@apple.com>
3329
3330         Reviewed by Maciej.
3331         
3332         - fixed <rdar://problem/3744583> Safari can not quit when a webpage has a login sheet 
3333         that can't be cancelled.
3334         
3335         The proper fix for this would be to change the class of the NSPanel in the nib file.
3336         But since this would require a localization change, I did a run-time hack instead.
3337         I'll file a bug about fixing this when we're out of localization freeze.
3338
3339         * Panels.subproj/WebAuthenticationPanel.m:
3340         (-[WebAuthenticationPanel replacePanelWithSubclassHack]):
3341         new method, creates a new panel that is identical to the original one except that
3342         it's our subclass, and moves all the subviews of the original panel into the new one.
3343         (-[WebAuthenticationPanel loadNib]):
3344         call replacePanelWithSubclassHack
3345         (-[NonBlockingPanel _blocksActionWhenModal:]):
3346         only method of new NSPanel subclass; overrides this SPI to allow the user to quit
3347         when one of these panels/sheets is on-screen
3348
3349 2004-12-10  Richard Williamson   <rjw@apple.com>
3350
3351         Fixed <rdar://problem/3898708> REGRESSION (8A314-8A317): World Clock's short hand not displayed (ImageIO problem with PDF?)
3352         Fixed <rdar://problem/3914012> use CG directly for pdf images not ImageIO
3353
3354         Create a PDF document and draw that instead of using ImageIO to create a rasterized image.
3355
3356         Reviewed by Maciej.
3357
3358         * WebCoreSupport.subproj/WebImageData.h:
3359         * WebCoreSupport.subproj/WebImageData.m:
3360         (-[WebImageData setIsPDF:]):
3361         (-[WebImageData isPDF]):
3362         (-[WebImageData dealloc]):
3363         (-[WebImageData decodeData:isComplete:callback:]):
3364         (-[WebImageData incrementalLoadWithBytes:length:complete:callback:]):
3365         (-[WebImageData size]):
3366         (-[WebImageData animate]):
3367         (-[WebImageData _createPDFWithData:]):
3368         (-[WebImageData _PDFDocumentRef]):
3369         (-[WebImageData _PDFDrawInContext:]):
3370         (-[WebImageData _PDFDrawFromRect:toRect:operation:alpha:flipped:context:]):
3371         * WebCoreSupport.subproj/WebImageRenderer.h:
3372         * WebCoreSupport.subproj/WebImageRenderer.m:
3373         (-[WebImageRenderer size]):
3374         (-[WebImageRenderer incrementalLoadWithBytes:length:complete:callback:]):
3375         (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]):
3376         (_createImageRef):
3377
3378 2004-12-10  John Sullivan  <sullivan@apple.com>
3379
3380         Reviewed by Ken.
3381         
3382         - fixed <rdar://problem/3855127> Error while printing w/o sheet, then window is left in a bad state, 
3383         if there's no default printer set
3384
3385         * WebView.subproj/WebHTMLView.m:
3386         (-[WebHTMLView beginDocument]):
3387         Our implementation of knowsPageRange puts the WebHTMLView into a special "printing mode". We must
3388         exit the "printing mode" to return to normal behavior. This is normally done in endDocument.
3389         However, it turns out that if there's an exception in [super beginDocument], then endDocument
3390         will not be called (lame-o AppKit API). So, we handle that case by catching the exception and
3391         exiting the "printing mode" in beginDocument when it occurs.
3392
3393 2004-12-09  Richard Williamson   <rjw@apple.com>
3394
3395         Fixed <rdar://problem/3905789> Burn Disc image vibrates rapidly
3396
3397         Restrict our support for animated images to GIF.  We used to
3398         use presence of more than one image in a resource to determine
3399         if an image should be animated.  This caused us to animate icns!
3400         If we ever support any other animated image formats we'll have
3401         to extend.
3402
3403         Reviewed by Hyatt.
3404
3405         * WebCoreSupport.subproj/WebImageData.h:
3406         * WebCoreSupport.subproj/WebImageData.m:
3407         (-[WebImageData shouldAnimate]):
3408         * WebCoreSupport.subproj/WebImageRenderer.m:
3409         (-[WebImageRenderer _startOrContinueAnimationIfNecessary]):
3410
3411 2004-12-09  Richard Williamson   <rjw@apple.com>
3412
3413         Make WebPluginDatabase.h private (Dashboard needs SPI).
3414
3415         * WebKit.pbproj/project.pbxproj:
3416
3417 === Safari-175 ===
3418
3419 2004-12-09  Chris Blumenberg  <cblu@apple.com>
3420
3421         Workaround for this exception being raised during download:
3422         [WebDownload connection:willStopBufferingData:]: selector not recognized
3423
3424         Reviewed by john.
3425
3426         * Misc.subproj/WebDownload.m:
3427         (-[WebDownload connection:willStopBufferingData:]): implement this method so no exception is raised. It is a bug in Foundation that this method is being called, but it's too late to fix Foundation since it has already been submitted this week. This workaround will prevent any problems from affecting users.
3428
3429 2004-12-08  Richard Williamson   <rjw@apple.com>
3430
3431         Fixed <rdar://problem/3911719> REGRESSION: Images no longer scale vertically
3432         Account for scaling correctly when taking into account progressively
3433         loaded images.
3434
3435         Also added implementation of repetition count for animated GIF images.
3436         Also replaced strings with new constants from CFImageProperties.h
3437
3438         Also fixed possible problem with -(NSSize)size implementation,
3439         relevant to Panther only.
3440
3441         Reviewed by Chris.
3442
3443         * WebCoreSupport.subproj/WebImageData.m:
3444         (-[WebImageData _floatProperty:type:at:]):
3445         (-[WebImageData _frameDurationAt:]):
3446         (-[WebImageData _repetitionCount]):
3447         * WebCoreSupport.subproj/WebImageRenderer.m:
3448         (-[WebImageRenderer size]):
3449
3450 2004-12-08  Chris Blumenberg  <cblu@apple.com>
3451
3452         Removed NPN wrappers since these no longer need to be defined to make the QT plug-in work
3453         since 3828925 has been fixed.
3454
3455         Reviewed by john.
3456
3457         * Plugins.subproj/WebNetscapePluginPackage.m:
3458         (-[WebNetscapePluginPackage load]): use under-bar symbols since non-under-bar wrappers have been removed
3459         * Plugins.subproj/npapi.m: removed NPN wrappers
3460         * WebKit.exp: removed symbols
3461
3462 2004-12-08  Ken Kocienda  <kocienda@apple.com>
3463
3464         Reviewed by Darin
3465
3466         * WebView.subproj/WebHTMLView.m:
3467         (-[WebHTMLView drawRect:]): Work around for this bug:
3468         <rdar://problem/3908282> REGRESSION (Mail): No drag image dragging selected text in Blot and Mail
3469         The reason for the workaround is that this method is called explicitly from the code
3470         to generate a drag image, and at that time, getRectsBeingDrawn:count: will return a zero count.
3471         This code change uses the passed-in rect when the count is zero.
3472
3473 2004-12-07  Administrator  <cblu@apple.com>
3474
3475         Support for fix for:
3476         <rdar://problem/3734309> Safari doesn't open folders in title bar menu with non-Roman names using Cmd+click
3477
3478         Reviewed by john.
3479
3480         * Misc.subproj/WebNSURLExtras.h:
3481         * Misc.subproj/WebNSURLExtras.m:
3482         (+[NSURL _web_URLWithUserTypedString:relativeToURL:]): renamed to take relativeToURL parameter
3483         (+[NSURL _web_URLWithUserTypedString:]): call _web_URLWithUserTypedString:relativeToURL: with nil for URL
3484
3485 2004-12-07  Richard Williamson   <rjw@apple.com>
3486
3487         Fixed <rdar://problem/3905564> REGRESSION (Tiger); in History menu, pixel size appears but is wrong for standalone images in Safari.