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