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