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