Reviewed by John, except for one bit reviewed by Maciej.
[WebKit-https.git] / WebKit / ChangeLog
1 2003-11-04  Darin Adler  <darin@apple.com>
2
3         Reviewed by John, except for one bit reviewed by Maciej.
4
5         - first step for IDNA support; helper functions for Safari
6
7         * Misc.subproj/WebNSURLExtras.h: Add six new methods to manipulate host names directly.
8         * Misc.subproj/WebNSURLExtras.m:
9         (applyHostNameFunctionToMailToURLString): Added. Finds host names within a mailto URL.
10         (applyHostNameFunctionToURLString): Added. Finds host names within a URL.
11         (collectRangesThatNeedMapping): Added. Builds a list of host name ranges that need mapping.
12         (collectRangesThatNeedEncoding): Added. Calls the above for encoding.
13         (collectRangesThatNeedDecoding): Added. Calls the above for decoding.
14         (mapHostNames): Added. Helper function that does the entire mapping process for a URL.
15         (+[NSURL _web_URLWithUserTypedString:]): Call mapHostNames to encode after trimming whitespace.
16         (-[NSURL _web_userVisibleString]): Call mapHostNames to decode after decoding escape sequences.
17         (-[NSURL _webkit_URLByRemovingFragment]): Removed unneeded redundant NULL check.
18         (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Added. Workhorse function to call
19         the IDN functions in the Unicode library.
20         (-[NSString _web_hostNameNeedsDecodingWithRange:]): Added.
21         (-[NSString _web_hostNameNeedsEncodingWithRange:]): Added.
22         (-[NSString _web_decodeHostNameWithRange:]): Added.
23         (-[NSString _web_encodeHostNameWithRange:]): Added.
24         (-[NSString _web_decodeHostName]): Added.
25         (-[NSString _web_encodeHostName]): Added.
26
27         * WebKit.pbproj/project.pbxproj: Added libicucore.dylib.
28         * English.lproj/StringsNotToBeLocalized.txt: Updated for above changes.
29
30 2003-11-04  John Sullivan  <sullivan@apple.com>
31
32         - a little optimization I noticed when looking at 3125137
33
34         Reviewed by Chris.
35
36         * Misc.subproj/WebStringTruncator.m:
37         (truncateString):
38         if incoming string has length 0, bail out right away
39
40 2003-11-04  Chris Blumenberg  <cblu@apple.com>
41
42         Fixed:
43         <rdar://problem/3472403>: RTFD of copied text and images should use original image data not tiffs
44         <rdar://problem/3472435>: dragging local image file downloads it instead of copies it
45         <rdar://problem/3472450>: copied and dragged local image files are TIFF, not original image data
46         
47         Reviewed by john.
48
49         * Misc.subproj/WebNSPasteboardExtras.h:
50         * Misc.subproj/WebNSPasteboardExtras.m:
51         (-[NSPasteboard _web_writeFileWrapperAsRTFDAttachment:]): new
52         * Misc.subproj/WebNSViewExtras.h:
53         * Misc.subproj/WebNSViewExtras.m:
54         (-[NSView _web_dragImage:fileWrapper:rect:URL:title:event:]): take a file wrapper instead of data so [NSPasteboard _web_writeFileWrapperAsRTFDAttachment:] can be called
55         * WebCoreSupport.subproj/WebBridge.m:
56         (-[WebBridge fileWrapperForURL:]): call fileWrapperForURL on the WebView
57         * WebView.subproj/WebDefaultContextMenuDelegate.m:
58         (-[WebDefaultUIDelegate copyImageToClipboard:]): call [NSPasteboard _web_writeFileWrapperAsRTFDAttachment:]
59         * WebView.subproj/WebHTMLView.m:
60         (-[WebHTMLView _handleMouseDragged:]): when calling _web_dragImage, pass a file wrapper from fileWrapperForURL
61         (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): call fileWrapperForURL
62         * WebView.subproj/WebImageRepresentation.h:
63         * WebView.subproj/WebImageRepresentation.m:
64         (-[WebImageRepresentation fileWrapper]): new
65         * WebView.subproj/WebImageView.m:
66         (-[WebImageView writeImageToPasteboard:]): call [NSPasteboard _web_writeFileWrapperAsRTFDAttachment:]
67         (-[WebImageView mouseDragged:]): pass the file wrapper to _web_dragImage
68         * WebView.subproj/WebView.m:
69         (-[WebView _fileWrapperForURL:]): new, returns a file wrapper from a local file or from the cache
70         * WebView.subproj/WebViewPrivate.h:
71
72 2003-11-04  John Sullivan  <sullivan@apple.com>
73
74         - fixed <rdar://problem/3472813>: REGRESSION (100-111): Some tabs start 
75         out scrolled down to focused text field
76
77         Reviewed by Ken.
78
79         * WebView.subproj/WebHTMLView.m:
80         (-[WebHTMLView acceptsFirstResponder]):
81         The logic to avoid accepting first responder on clicks was too broad;
82         it was rejecting first-responder-ness even for clicks outside of this
83         view. Clicking a tab item was going through some logic in NSTabView
84         looking for the first valid key view starting with the web view, but the
85         web view was returning NO due to this faulty click logic. Thus the
86         first subview text field was becoming first responder, and causing scroll.
87
88 2003-11-03  Chris Blumenberg  <cblu@apple.com>
89
90         Fixed:
91         <rdar://problem/3472377>: Provide NSRTFDPboardType on pasteboard when copying or dragging images
92         <rdar://problem/3470809>: REGRESSION (111-112): Can't copy & paste image into Photoshop 7
93
94         Reviewed by hyatt.
95
96         * Misc.subproj/WebNSPasteboardExtras.h:
97         * Misc.subproj/WebNSPasteboardExtras.m:
98         (-[NSPasteboard _web_writeFileDataAsRTFDAttachment:withFilename:]): renamed, now writes file data as an RTF attachment
99         * Misc.subproj/WebNSViewExtras.m:
100         (-[NSView _web_dragImage:originalData:rect:URL:title:event:]): call renamed _web_writeFileDataAsRTFDAttachment
101         * WebView.subproj/WebDefaultContextMenuDelegate.m:
102         (-[WebDefaultUIDelegate copyImageToClipboard:]): call renamed _web_writeFileDataAsRTFDAttachment
103         * WebView.subproj/WebImageView.m:
104         (-[WebImageView writeImageToPasteboard:]): call renamed _web_writeFileDataAsRTFDAttachment
105
106 2003-11-03  Vicki Murley <vicki@apple.com>
107
108         Reviewed by kocienda.
109
110         - fixed <rdar://problem/3471096>: non-B&I builds should not use order files, because they cause false "regressions" in perf.
111
112         * WebKit.pbproj/project.pbxproj: added empty SECTORDER_FLAGS variables to the Development and Deployment build styles
113
114 2003-11-03  Ken Kocienda  <kocienda@apple.com>
115
116         Reviewed by John
117         
118         Fix for this bug:
119         
120         <rdar://problem/3470342>: focus rings are shown for links in         
121         web pages even in non-frontmost windows
122
123         * WebView.subproj/WebHTMLView.m:
124         (-[WebHTMLView updateFocusRing]): New method. Uses the "keyness"
125         of the view's window to toggle focus ring drawing.
126         (-[WebHTMLView windowDidBecomeKey:]): Calls updateFocusRing.
127         (-[WebHTMLView windowDidResignKey:]): Ditto.
128
129 2003-11-01  Maciej Stachowiak  <mjs@apple.com>
130
131         Reviewed by Darin.
132
133         - remove use of obsolete HTTLCookiePolicyBaseURL SPI
134         
135         * WebCoreSupport.subproj/WebSubresourceClient.m:
136         startLoadingResource:withURL:referrer:forDataSource:]): Use
137         setMainDocumentURL, not setHTTPCookiePolicyBaseURL.
138         * WebView.subproj/WebFrame.m:
139         (-[WebFrame _addExtraFieldsToRequest:alwaysFromRequest:]): Likewise.
140         * WebView.subproj/WebMainResourceClient.m:
141         (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]): Likewise.
142
143 2003-11-01  Darin Adler  <darin@apple.com>
144
145         Reviewed by Maciej.
146
147         - fixed 3470882 -- storage leaks in WebDownload code
148         - fixed 3470884 -- download is always nil in downloadWindowForAuthenticationSheet: call from WebDownload
149
150         * Misc.subproj/WebDownload.m:
151         (-[WebDownloadInternal initWithDownload:]): Removed this method, which was never called.
152         (-[WebDownloadInternal dealloc]): Added missing call to [super dealloc] to fix one cause
153         of a leak of the WebDownloadInternal object itself. Removed the release of webDownload,
154         which was always nil, and if it wasn't would end up causing a leak due to a reference cycle.
155         (-[WebDownloadInternal download:didReceiveAuthenticationChallenge:]): Remove the use of
156         webDownload, which was always nil, and instead use the download parameter passed to us,
157         casting it to WebDownload, since it's guaranteed to be one.
158         (-[WebDownload _setRealDelegate:]): Added. Shared by the methods below to set up the real
159         delegate before calling init. The old code called init twice, causing an second call to the
160         superclass's init method, which caused it to create an extra copy of its internal structure,
161         as well as causing us to create two WebDownloadInternal objects.
162         (-[WebDownload init]): Don't allocate a second WebDownloadInternal if _setRealDelegate already
163         allocated it for us. Before we would allocate and leak an extra one each time.
164         (-[WebDownload dealloc]): Added. Releases the WebDownloadInternal. This is the second cause
165         of the leak of the WebDownloadInternal object.
166         (-[WebDownload initWithRequest:delegate:]): Call [self _setRealDelegate:] instead of calling
167         [self init] and then [_webInternal setRealDelegate:], avoiding the leaks caused by doing it
168         the other way.
169         (-[WebDownload _initWithLoadingConnection:request:response:delegate:proxy:]): Ditto.
170         (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]): Ditto.
171         (-[WebDownload _initWithRequest:delegate:directory:]): Ditto.
172
173 2003-10-31  David Hyatt  <hyatt@apple.com>
174
175         Fix for 3466542, add a real minimum font size setting.
176         
177         Reviewed by john
178
179         * WebView.subproj/WebPreferences.h:
180         * WebView.subproj/WebPreferences.m:
181         (+[WebPreferences initialize]):
182         (-[WebPreferences setMinimumFontSize:]):
183         (-[WebPreferences minimumLogicalFontSize]):
184         (-[WebPreferences setMinimumLogicalFontSize:]):
185         * WebView.subproj/WebView.m:
186         (-[WebView _updateWebCoreSettingsFromPreferences:]):
187
188 2003-10-31  Ken Kocienda  <kocienda@apple.com>
189
190         Reviewed by Darin
191
192         Fix for this bug:
193
194         <rdar://problem/3469088>: focus not removed from text link         
195         when user hits cmd-L or clicks in window chrome
196
197         * WebView.subproj/WebHTMLView.m:
198         (-[WebHTMLView deselectText]): Added new method just to deselect text.
199         (-[WebHTMLView resignFirstResponder]): Just deseclect text if we
200         are doing a programmatic setting of focus. Deselect all otherwise.
201
202 2003-10-30  Chris Blumenberg  <cblu@apple.com>
203
204         Fixed: <rdar://problem/3458368>: drawing to the screen while window hidden: http://www.bhphotovideo.com/
205
206         Reviewed by john.
207
208         * Plugins.subproj/WebBaseNetscapePluginView.m:
209         (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]): clip out the plug-in when the window is miniaturized or hidden
210         (-[WebBaseNetscapePluginView restartNullEvents]): don't restart null events if the window is miniaturized, this allows restartNullEvents to be called in start and viewDidMoveToWindow without needing to make the check
211         (-[WebBaseNetscapePluginView start]): just call restartNullEvents instead of checking if the window is miniaturized
212
213 2003-10-30  Ken Kocienda  <kocienda@apple.com>
214
215         Reviewed by Hyatt
216
217         * WebCoreSupport.subproj/WebBridge.m:
218         (-[WebBridge documentView]): Added.
219         * WebCoreSupport.subproj/WebGraphicsBridge.h: Added.
220         * WebCoreSupport.subproj/WebGraphicsBridge.m: Added.
221         (+[WebGraphicsBridge createSharedBridge]): Added.
222         (-[WebGraphicsBridge setFocusRingStyle:radius:color:]): Added.
223         * WebKit.pbproj/project.pbxproj:
224         * WebView.subproj/WebFrameView.m: Create a WebGraphicsBridge
225         when creating a WebFrameView.
226
227 === Safari-112 ===
228
229 2003-10-29  Maciej Stachowiak  <mjs@apple.com>
230
231         Reviewed by Darin.
232
233         - fixed 3467632 - Leak of plugin info visiting http://www.ebay.com
234         
235         * Plugins.subproj/WebBasePluginPackage.m:
236         (-[WebBasePluginPackage dealloc]): Release lastModifiedDate.
237
238 2003-10-29  Chris Blumenberg  <cblu@apple.com>
239
240         WebKit part of fix for:
241         <rdar://problem/3467744>: Photoshop files (.psd) don't show up in Open dialog in Safari, but can be viewed
242         <rdar://problem/3109132>: Can't open movie file via open panel even though it can be dropped in browser window
243
244         Reviewed by john.
245
246         * WebView.subproj/WebView.m:
247         (+[WebView _supportedMIMETypes]): new
248         (+[WebView _supportedFileExtensions]): new
249         * WebView.subproj/WebViewPrivate.h:
250
251 2003-10-29  Chris Blumenberg  <cblu@apple.com>
252
253         Fixed: <rdar://problem/3438716>: jpg and gif images copied from Safari and placed in mail are sent as tiff
254
255         Reviewed by john.
256
257         * Misc.subproj/WebNSPasteboardExtras.h:
258         * Misc.subproj/WebNSPasteboardExtras.m:
259         (-[NSPasteboard _web_writeFileContents:withFilename:]): new
260         * Misc.subproj/WebNSViewExtras.h:
261         * Misc.subproj/WebNSViewExtras.m:
262         (-[NSView _web_dragImage:originalData:rect:URL:title:event:]): now takes originalData and calls _web_fileContents:withFilename:
263         * WebView.subproj/WebDefaultContextMenuDelegate.m:
264         (-[WebDefaultUIDelegate copyImageToClipboard:]): call _web_writeFileContents:withFilename:
265         * WebView.subproj/WebHTMLView.m:
266         (-[WebHTMLView _handleMouseDragged:]): call renamed _web_dragImage and [WebView _cachedResponseForURL:]
267         (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): call [WebView _cachedResponseForURL:]
268         * WebView.subproj/WebImageView.m:
269         (-[WebImageView writeImageToPasteboard:]): call _web_writeFileContents:withFilename:
270         (-[WebImageView mouseDragged:]): call renamed _web_dragImage
271         * WebView.subproj/WebView.m:
272         (-[WebView _cachedResponseForURL:]): new
273         * WebView.subproj/WebViewPrivate.h:
274
275 2003-10-28  John Sullivan  <sullivan@apple.com>
276
277         - fixed <rdar://problem/3466082>: 7B85/111: Crash viewing web page ([WebView setNextKeyView:])
278
279         Reviewed by Chris.
280
281         * WebView.subproj/WebView.m:
282         (-[WebView dealloc]):
283         set _private to nil after releasing, because [super dealloc] can dispatch to it
284         (-[WebView mainFrame]):
285         fixed spelling error in comment
286
287 2003-10-28  Chris Blumenberg  <cblu@apple.com>
288
289         Fixed: <rdar://problem/3465383>: REGRESSION: Text field progress bar goes to 100% after error or stop
290         
291         Reviewed by john.
292
293         * WebView.subproj/WebFrame.m:
294         (-[WebFrame _isLoadComplete]): call _progressCompleted after we deliver the didFailLoadWithError or didFinishLoadForFrame message as we do in other places. This allows to be aware of the error (if there is one), when they get the WebViewProgressFinishedNotification notification.
295
296 2003-10-27  Maciej Stachowiak  <mjs@apple.com>
297
298         Reviewed by Darin.
299
300         - fixed 3083264 - frame names changed by JavaScript are not reflected in WebFrame at the WebKit level
301
302         * WebCoreSupport.subproj/WebBridge.m:
303         (-[WebBridge didSetName:]): Tell the WebFrame about its new name.
304
305 2003-10-28  John Sullivan  <sullivan@apple.com>
306
307         - fixed 3465613 -- REGRESSION (111): Crash creating nib that 
308         contains WebView
309
310         Reviewed by Chris.
311
312         * WebView.subproj/WebView.m:
313         (-[WebView mainFrame]):
314         check for nil _private before dereferencing.
315
316 2003-10-28  Chris Blumenberg  <cblu@apple.com>
317
318         Fixed: <rdar://problem/3465591>: Security: Netscape plug-ins can execute JavaScript in other frames
319
320         Reviewed by mjs.
321
322         * Plugins.subproj/WebBaseNetscapePluginView.m:
323         (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): renamed, no need to pass the target frame since the target is either the plug-in itself or the frame that contains the plug-in
324         (-[WebBaseNetscapePluginView loadPluginRequest:]): call renamed evaluateJavaScriptPluginRequest
325         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): if this is a JS request that is targeted at a frame, return NPERR_INVALID_PARAM if the frame is not the frame that contains the plugin
326
327 2003-10-28  Chris Blumenberg  <cblu@apple.com>
328
329         Fixed: <rdar://problem/3437959>: javascript: URLs don't work from Java (and other Cocoa plugins, if any)
330
331         Reviewed by mjs.
332
333         * Plugins.subproj/WebPluginController.m:
334         (-[WebPluginController showURL:inFrame:]): support JS requests targeted only to the plug-in's frame.
335
336 2003-10-27  John Sullivan  <sullivan@apple.com>
337
338         - fixed 3441258 -- hysteresis to start dragging a link is too small; too easy to start drag
339
340         Reviewed by Chris.
341
342         * WebView.subproj/WebHTMLView.m:
343         (-[WebHTMLView _handleMouseDragged:]):
344         Split DragHysteresis into two values, one for links and one for images. Make
345         the link one much larger than the image one (since dragging an image doesn't
346         occur accidentally in the ways that dragging a link does).
347
348 2003-10-27  Chris Blumenberg  <cblu@apple.com>
349
350         Fixed: <rdar://problem/3462523>: Safari Sometimes Destroys Applets When Going "Back"
351
352         Reviewed by darin.
353
354         * History.subproj/WebHistoryItem.m:
355         (+[WebHistoryItem _destroyAllPluginsInPendingPageCaches]): Don't destroy plug-ins that are currently being viewed.
356
357 2003-10-27  Chris Blumenberg  <cblu@apple.com>
358
359         Fixed: <rdar://problem/3463144>: assertion failure when viewing jpeg with SoundPix installed
360
361         Reviewed by john.
362
363         * WebView.subproj/WebDataSource.m:
364         (+[WebDataSource _repTypesAllowImageTypeOmission:]): don't allow image types to override types that are already registered as we do in [WebFrameView _viewTypesAllowImageTypeOmission:]
365
366 2003-10-24  Chris Blumenberg  <cblu@apple.com>
367
368         Fixed:
369         <rdar://problem/3462977>: ER: Nice if images dragged from web pages didn't redownload
370         <rdar://problem/3031582>: Dragging an image to the desktop doesn't leave the file where I dropped it
371         <rdar://problem/3061371>: "CFURLGetFSRef failed" log when dragging image to Finder
372
373         Reviewed by john.
374
375         * WebView.subproj/WebHTMLView.m:
376         (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): attempt to fetch the image data from the cache, if that works, write out the file
377
378 2003-10-26  Darin Adler  <darin@apple.com>
379
380         * WebKitPrefix.h: Add a definition of NULL here so we get the stricter type checking
381         even on pre-Merlot systems.
382
383 === Safari-111 ===
384
385 2003-10-24  Richard Williamson   <rjw@apple.com>
386
387         Fixed 3425358.  Don't try to create page cache for pages that
388         have a nil view().
389
390         Reviewed by Hyatt.
391
392         * WebView.subproj/WebFrame.m:
393         (-[WebFrame _createPageCacheForItem:]):
394         (-[WebFrame _setState:]):
395
396 2003-10-24  Chris Blumenberg  <cblu@apple.com>
397         
398         Fixed: <rdar://problem/3424039>: standalone plug-in content occasionaly redirects to blank page
399
400         Reviewed by john.
401
402         * Plugins.subproj/WebBaseNetscapePluginView.m:
403         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): don't honor JS requests from standalone plug-ins to workaround 3462628 which is a deeper issue.
404
405 2003-10-24  Chris Blumenberg  <cblu@apple.com>
406
407         Fixed: <rdar://problem/3462256>: REGRESSION: Plain text is downloaded
408
409         Reviewed by john.
410
411         * WebView.subproj/WebView.m:
412         (+[WebView _viewClass:andRepresentationClass:forMIMEType:]): use _web_objectForMIMEType when getting an object for a MIME. Removed unnecessary code that checked for the document classes after loading the plug-in DB since it is not an optimization because the plug-in DB calls _viewTypesAllowImageTypeOmission:NO.
413
414 2003-10-23  Chris Blumenberg  <cblu@apple.com>
415
416         Fixed: <rdar://problem/3364036>: ER: Allow plug-ins to override built-in types such as image/jpeg
417
418         Reviewed by john.
419
420         * Plugins.subproj/WebPluginDatabase.m:
421         (-[WebPluginDatabase refresh]): Allow plug-ins to override built-in types except for our core HTML types and don't allow the QT plug-in to override any types because it handles many types that we already handle
422         * WebCoreSupport.subproj/WebBridge.m:
423         (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:): instead of asserting, handle the case where we ask a plug-in to map from an extension to a MIME type, but nil is returned 
424         (-[WebBridge frameRequiredForMIMEType:URL:]): no need to start up the plug-in DB because this is now handled by [WebView _viewClass:andRepresentationClass:forMIMEType:]
425         * WebView.subproj/WebDataSource.m:
426         (+[WebDataSource _representationClassForMIMEType:]): call [WebView _viewClass:andRepresentationClass:forMIMEType:]
427         (-[WebDataSource _makeRepresentation]): call _representationClassForMIMEType
428         * WebView.subproj/WebDataSourcePrivate.h:
429         * WebView.subproj/WebFrameView.m:
430         (-[WebFrameView _makeDocumentViewForDataSource:]): tweak
431         (+[WebFrameView _viewClassForMIMEType:]): call [WebView _viewClass:andRepresentationClass:forMIMEType:]
432         * WebView.subproj/WebView.m:
433         (+[WebView _viewClass:andRepresentationClass:forMIMEType:]): new, central place for mapping from a MIME to the document classes. We now load the plug-in DB when a non-HTML MIME type is encountered instead of loading the plug-in DB when the class for the MIME type is not found. This is required to fully fix 3364036.
434         (+[WebView canShowMIMEType:]): call [WebView _viewClass:andRepresentationClass:forMIMEType:]
435         (+[WebView registerViewClass:representationClass:forMIMEType:]): tweak
436         * WebView.subproj/WebViewPrivate.h:
437
438 2003-10-23  John Sullivan  <sullivan@apple.com>
439
440         - fixed 3459272 -- Can't set up keyboard loop inside a 
441         WebDocumentView without subclassing views
442         - fixed 3179062 -- can't tab back to address bar from image-only 
443         page
444         - fixed 3252009 -- tabbing from address bar to content area does 
445         not work with WebTextView
446         - fixed 3461398 -- Can't click on a standalone image to focus it 
447         (for later keyboard scrolling)
448
449         I redid the way WebView and WebFrameView splice themselves into
450         the keyview loop in a way very similar to what NSScrollView and
451         NSClipView do. This means that contained and sibling views won't 
452         need to do anything special to put themselves into the key loop.
453
454         Reviewed by Chris.
455
456         * WebView.subproj/WebFrameView.m:
457         (-[WebFrameView _scrollView]):
458         check for nil pointer before dereferencing; this can happen
459         during [super dealloc]'s keyview-loop-fixup code
460         (-[WebFrameView initWithFrame:]):
461         wire our nextKeyView link to the contained scrollview (so
462         previousKeyView will work correctly from scrollview)
463         (-[WebFrameView acceptsFirstResponder]):
464         return what the contained scrollview says
465         (-[WebFrameView becomeFirstResponder]):
466         in previous direction, use previousValidKeyView (follows normal
467         NSView keyview links); in forward direction, hand first
468         responder-ness to contained scrollview (which will in turn hand
469         it down to clipview, which will in turn hand it down to document)
470         (-[WebFrameView setNextKeyView:]):
471         wire up scrollview instead of self, if it exists
472
473         * WebView.subproj/WebImageView.m:
474         (-[WebImageView acceptsFirstResponder]):
475         overridden to return YES; this fixes 3461398 and puts the finishing
476         touches on 3179062
477
478         * WebView.subproj/WebView.m:
479         (-[WebView _commonInitializationWithFrameName:groupName:]):
480         wire our nextKeyView link to the contained webframeview (so
481         previousKeyView will work correctly from webframeview). Also,
482         if there's a nextKeyView already set (in a nib, e.g.), wire
483         it to our contained webframeview.
484         (-[WebView acceptsFirstResponder]):
485         return what the contained webframeview says
486         (-[WebView becomeFirstResponder]):
487         in previous direction, use previousValidKeyView (follows normal
488         NSView keyview links); in forward direction, hand first
489         responder-ness to contained webframeview (which will in turn hand
490         it down to scrollview, etc.)
491         (-[WebView setNextKeyView:]):
492         wire up webframeview instead of self, if it exists
493
494 2003-10-22  Richard Williamson   <rjw@apple.com>
495
496         Match WebCore's notion of distributing linegap between top and bottom of 
497         line.  WebKit used to put it all at the bottom of the line.
498
499         Reviewed by Hyatt.
500
501         * WebCoreSupport.subproj/WebTextRenderer.h:
502         * WebCoreSupport.subproj/WebTextRenderer.m:
503         (-[WebTextRenderer initWithFont:usingPrinterFont:]):
504         (-[WebTextRenderer _CG_drawHighlightForRun:style:atPoint:]):
505
506 2003-10-21  Maciej Stachowiak  <mjs@apple.com>
507
508         Reviewed by Dave.
509
510         Finished exception blocking changes, so now I can finally say:
511
512         - fixed 3137084 - Many non-reproducible crashers in ContextImp::mark / ScopeChain::mark
513         - fixed 3308848 - nil-deref in KHTMLView::topLevelWidget
514         - fixed 3311511 - nil deref inside KJS::Screen
515         - fixed 3397422 - 7B51: Safari crashed in KJS::ObjectImp::mark()
516         - fixed 3408373 - Panther7B58 : Safari Crashed in KJS::ObjectImp::mark
517         - fixed 3409307 - 7B55: safari crashed in KJS::Interpreter::globalExec() (idle, nothing particular going on)
518         - fixed 3410160 - 7B60 Safari crashed in KHTMLPart::parentPart called from JS while in the background
519         - fixed 3413224 - unrepro crash in KJS::Window::mark
520         - fixed 3419940 - unrepro crash in KJS::Collector::allocate trying to access http://www.lindyinthepalms.com
521         - fixed 3420123 - Panther7B66: Safari crashed while going to http://www.tangents.co.uk/index2.html
522         - fixed 3423225 - Safari crash in vtable for KWQMapImpl (vtable for KWQMapImpl + 8).
523         - fixed 3437190 - nil-deref on quit in calling marked() from ScopeChain::mark()
524
525         * WebCoreSupport.subproj/WebTextRenderer.m:
526         (-[WebTextRenderer ascent]):
527         (-[WebTextRenderer descent]):
528         (-[WebTextRenderer lineSpacing]):
529         (-[WebTextRenderer xHeight]):
530         (-[WebTextRenderer drawLineForCharacters:yOffset:withWidth:withColor:]):
531         (-[WebTextRenderer _smallCapsRenderer]):
532         (-[WebTextRenderer _initializeATSUStyle]):
533         (-[WebTextRenderer _createATSUTextLayoutForRun:]):
534         (-[WebTextRenderer _trapezoidForRun:style:atPoint:]):
535         (-[WebTextRenderer _ATSU_drawHighlightForRun:style:atPoint:]):
536         (-[WebTextRenderer _ATSU_drawRun:style:atPoint:]):
537         (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:]):
538
539 2003-10-22  Richard Williamson   <rjw@apple.com>
540
541         Fixed 3458715.  Reset to 0, not .1 when done.
542
543         Reviewed by Chris.
544
545         * WebView.subproj/WebView.m:
546         (-[WebView _resetProgress]):
547         (-[WebView _progressStarted:]):
548
549 2003-10-21  Richard Williamson   <rjw@apple.com>
550
551         Don't use small caps font for characters that don't have an
552         uppercase counterpart (i.e. punctuation marks).
553
554         Reviewed by Hyatt.
555
556         * WebCoreSupport.subproj/WebTextRenderer.m:
557         (widthForNextCharacter):
558
559 2003-10-21  Chris Blumenberg  <cblu@apple.com>
560
561         Fixed: <rdar://problem/3176170>: OBJECT tag with no or empty TYPE is mishandled
562         
563         Reviewed by rjw.
564
565         * Plugins.subproj/WebPluginDatabase.m:
566         (-[WebPluginDatabase pluginForExtension:]): If no plug-in is found from the extension, attempt to map from the extension to a MIME type using our mappings and find a plug-in from the MIME type. This improves our chances of finding a plug-in when no MIME type is specified.
567         * WebCoreSupport.subproj/WebBridge.m:
568         (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]): If the passed MIME is empty, nil it out so that clients only need to check for nil. This avoids error sheets complaining about "" MIME types.
569         (-[WebBridge frameRequiredForMIMEType:URL:]): Renamed to include URL. If no MIME is specified, only create a plug-in view if we can map from the extension.
570
571 2003-10-20  Chris Blumenberg  <cblu@apple.com>
572
573         Fixed: <rdar://problem/3457627>: empty Flash plugin at tvguide.com
574         Fixed issues with plug-in stream error handling.
575         Improved plug-in logging.
576
577         Reviewed by kocienda.
578
579         * Misc.subproj/WebKitLogging.h: added WebKitLogPluginEvents
580         * Misc.subproj/WebKitLogging.m:
581         * Plugins.subproj/WebBaseNetscapePluginStream.h:
582         * Plugins.subproj/WebBaseNetscapePluginStream.m:
583         (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]): improved logging
584         (-[WebBaseNetscapePluginStream destroyStream]): improved logging
585         (-[WebBaseNetscapePluginStream destroyStreamWithFailingReason:]): renamed from cancelWithReason to avoid confusion
586         (-[WebBaseNetscapePluginStream receivedError:]): calls destroyStreamWithFailingReason after determining a reason from the NSError
587         (-[WebBaseNetscapePluginStream cancelWithReason:]): calls destroyStreamWithFailingReason, this method is overriden by subclasses to cancel the actual load
588         (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): call destroyStreamWithFailingReason, not cancelWithReason because the loaded has already ended here
589         (-[WebBaseNetscapePluginStream deliverData]): improved logging
590         * Plugins.subproj/WebBaseNetscapePluginView.m:
591         (-[WebBaseNetscapePluginView sendActivateEvent:]): use even logging
592         (-[WebBaseNetscapePluginView sendUpdateEvent]): ditto
593         (-[WebBaseNetscapePluginView becomeFirstResponder]): ditto
594         (-[WebBaseNetscapePluginView resignFirstResponder]): ditto
595         (-[WebBaseNetscapePluginView mouseDown:]): ditto
596         (-[WebBaseNetscapePluginView mouseUp:]): ditto
597         (-[WebBaseNetscapePluginView mouseEntered:]): ditto
598         (-[WebBaseNetscapePluginView mouseExited:]): ditto
599         (TSMEventHandler): ditto
600         (-[WebBaseNetscapePluginView destroyStream:reason:]): call cancelWithReason so the reason is passed back to the plug-in
601         * Plugins.subproj/WebNetscapePluginDocumentView.m:
602         (-[WebNetscapePluginDocumentView setDataSource:]): tweak
603         * Plugins.subproj/WebNetscapePluginRepresentation.m:
604         (-[WebNetscapePluginRepresentation receivedError:withDataSource:]): call receivedError
605         (-[WebNetscapePluginRepresentation cancelWithReason:]): override, cancel the load, call super
606         * Plugins.subproj/WebNetscapePluginStream.m:
607         (-[WebNetscapePluginStream cancelWithReason:]): override, cancel the load, call super
608         (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): be sure to call the stream before calling super because the stream can be cleared out when calling super 
609         (-[WebNetscapePluginConnectionDelegate connection:didReceiveData:lengthReceived:]): ditto
610         (-[WebNetscapePluginConnectionDelegate connectionDidFinishLoading:]): ditto
611         (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]): ditto
612
613 2003-10-20  Richard Williamson   <rjw@apple.com>
614
615         Conditionally excluded fix for 3446192.  We'll enable the fix once 3446669
616         has been fixed.  This patch switches to the new UTI typing API for pasteboard types.
617  
618         Reviewed by Ken.
619
620         * Misc.subproj/WebNSPasteboardExtras.m:
621         (+[NSPasteboard initialize]):
622
623 2003-10-20  Richard Williamson   <rjw@apple.com>
624
625         Fixed 3456103.  Don't assert, just check for inappropriate state.
626         Reviewed by Hyatt
627
628         Add a debug menu item to always use ATSU text drawing.  This will be helpful
629         to the ATSU folks in performance tuning there API.  Right now I see approx.
630         2X slowdown using ATSU.
631
632         Also did some shuffling around of inline related stuff.
633
634         Reviewed by Chris.
635
636         * WebCoreSupport.subproj/WebTextRenderer.h:
637         * WebCoreSupport.subproj/WebTextRenderer.m:
638         (isControlCharacter):
639         (isAlternateSpace):
640         (isSpace):
641         (getUncachedWidth):
642         (widthFromMap):
643         (widthForGlyph):
644         (+[WebTextRenderer _setAlwaysUseATSU:]):
645         (glyphForCharacter):
646         (glyphForUnicodeCharacter):
647         (shouldUseATSU):
648         * WebView.subproj/WebView.m:
649         (+[WebView _setAlwaysUseATSU:]):
650         (-[WebView _progressCompleted:]):
651         * WebView.subproj/WebViewPrivate.h:
652
653 2003-10-19  Chris Blumenberg  <cblu@apple.com>
654
655         Fixed: <rdar://problem/3442218>: crash due to infinite recursion trying to load standalone plug-in content
656
657         Reviewed by darin.
658
659         * WebView.subproj/WebFrame.m:
660         (-[WebFrame stopLoading]): manage the isStoppingLoad ivar, return if isStoppingLoad is YES
661         * WebView.subproj/WebFramePrivate.h: added the isStoppingLoad ivar
662
663 2003-10-19  Darin Adler  <darin@apple.com>
664
665         Reviewed by Dave and Ken.
666
667         - fixed 3457066 -- REGRESSION (91-92): command-left-arrow causes a scroll to the left before going back
668
669         * WebView.subproj/WebFrameView.m: (-[WebFrameView keyDown:]): Add an else so that we don't fall into the
670         scrolling code when the command key is down for right and left arrow.
671
672 2003-10-18  Chris Blumenberg  <cblu@apple.com>
673
674         Fixed: <rdar://problem/3229530>: Dragging standalone image to desktop should save it, not re-download it
675
676         Reviewed by darin.
677
678         * English.lproj/Localizable.strings:
679         * WebKit.pbproj/project.pbxproj:
680         * WebView.subproj/WebDocumentPrivate.h: Added.
681         * WebView.subproj/WebImageRepresentation.h:
682         * WebView.subproj/WebImageRepresentation.m:
683         (-[WebImageRepresentation dealloc]): release new filename and data ivars
684         (-[WebImageRepresentation doneLoading]): return YES if data is non-nil
685         (-[WebImageRepresentation setDataSource:]): store the filename
686         (-[WebImageRepresentation receivedError:withDataSource:]): store the data
687         (-[WebImageRepresentation finishedLoadingWithDataSource:]): store the data
688         (-[WebImageRepresentation data]): new
689         (-[WebImageRepresentation filename]): new
690         * WebView.subproj/WebImageView.m:
691         (-[WebImageView namesOfPromisedFilesDroppedAtDestination:]): just save the image, don't download it
692         (-[WebImageView image]): new
693
694 2003-10-17  Chris Blumenberg  <cblu@apple.com>
695
696         Fixed: <rdar://problem/3456176>: Assertion failure when loading atomfilms.com
697
698         Reviewed by kocienda.
699
700         * Plugins.subproj/WebNetscapePluginStream.m:
701         (-[WebNetscapePluginConnectionDelegate connection:didReceiveData:lengthReceived:]): call super before calling plug-in code as we do in other callbacks
702         (-[WebNetscapePluginConnectionDelegate connectionDidFinishLoading:]): ditto
703         (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]): ditto
704
705 2003-10-16  Richard Williamson   <rjw@apple.com>
706
707         Fixed 3455306.  Ensure that progress is correctly ended when a load is interupted (i.e. becomes a download).
708
709         Reviewed by mjs.
710
711         * WebView.subproj/WebFrame.m:
712         (-[WebFrame _isLoadComplete]):
713
714 2003-10-16  Chris Blumenberg  <cblu@apple.com>
715
716         Fixed: <rdar://problem/3455176>: Assertion failure when loading non-existant plug-in content
717
718         Reviewed by rjw.
719
720         * Misc.subproj/WebDownload.m: fixed build failure when using new Foundation. We are overriding and calling a renamed method. Continue to override the old method, override the new method and declare their interfaces to avoid build failures. 
721         * Plugins.subproj/WebNetscapePluginStream.m:
722         (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): cancel the load before telling the plug-in about the error so plug-in code doesn't attempt to cancel the load twice
723
724 2003-10-16  Richard Williamson   <rjw@apple.com>
725
726         Fixed 3453991.  We weren't setting the array cursor correctly after changing
727         capacity.
728
729         Reviewed by John.
730
731         * ChangeLog:
732         * History.subproj/WebBackForwardList.m:
733         (-[WebBackForwardList setCapacity:]):
734
735 === Safari-110 ===
736
737 2003-10-16  Richard Williamson   <rjw@apple.com>
738
739         Tweaked the progress behavior and factored cleanup of progress
740         related ivars.
741
742         Reviewed by Hyatt.
743
744         * WebView.subproj/WebDataSource.m:
745         (-[WebDataSource _startLoading:]):
746         * WebView.subproj/WebFrame.m:
747         (-[WebFrame _isLoadComplete]):
748         * WebView.subproj/WebView.m:
749         (-[WebView _resetProgress]):
750         (-[WebView _progressStarted:]):
751         (-[WebView _finalProgressComplete]):
752         (-[WebView _progressCompleted:]):
753         (-[WebView _incrementProgressForConnection:data:]):
754         * WebView.subproj/WebViewPrivate.h:
755
756 2003-10-14  Richard Williamson   <rjw@apple.com>
757
758         Added logging for estimated progress.
759         
760         Added a time delta to the throttler, so we now send notifications
761         if a delta amount has been exceeded OR a delta between notifications
762         has been exceeded.
763
764         Reviewed by Chris.
765
766         * Misc.subproj/WebKitLogging.h:
767         * Misc.subproj/WebKitLogging.m:
768         * WebView.subproj/WebView.m:
769         (-[WebViewPrivate init]):
770         (-[WebView _progressStarted]):
771         (-[WebView _progressCompleted]):
772         (-[WebView _incrementProgressForConnection:data:]):
773         * WebView.subproj/WebViewPrivate.h:
774
775 2003-10-14  Ken Kocienda  <kocienda@apple.com>
776
777         Reviewed by Darin
778
779         Fix for this bug:
780
781         <rdar://problem/3450449>: assertion failure in WebBridge 
782         _retrieveKeyboardUIModeFromPreferences
783
784         Can't assert that the preference always exists and is valid as I
785         thought you could. This could just mean that the a preference for full
786         keyboard access has not been specified by the user yet. If this is so,
787         just return the default keyboard access mode.
788
789         * WebCoreSupport.subproj/WebBridge.m:
790         (-[WebBridge _retrieveKeyboardUIModeFromPreferences:])
791
792 2003-10-13  Richard Williamson  <rjw@apple.com>
793
794         Added support for small-caps.
795
796         Reworked drawing and measuring to use new iterators.  Position checking was already using
797         the new iterator code, but I was reluctant to switch the mainline drawing and measuring
798         code over to the new approach until now.
799
800         Lots of other code cleanup.
801
802         Reviewed by John.
803
804         * Misc.subproj/WebUnicode.m:
805         (initializeCharacterShapeIterator):
806         * WebCoreSupport.subproj/WebTextRenderer.h:
807         * WebCoreSupport.subproj/WebTextRenderer.m:
808         (+[WebTextRenderer shouldBufferTextDrawing]):
809         (+[WebTextRenderer initialize]):
810         (-[WebTextRenderer initWithFont:usingPrinterFont:]):
811         (-[WebTextRenderer dealloc]):
812         (-[WebTextRenderer widthForCharacters:length:]):
813         (-[WebTextRenderer widthForString:]):
814         (-[WebTextRenderer ascent]):
815         (-[WebTextRenderer descent]):
816         (-[WebTextRenderer lineSpacing]):
817         (-[WebTextRenderer xHeight]):
818         (-[WebTextRenderer drawRun:style:atPoint:]):
819         (-[WebTextRenderer floatWidthForRun:style:widths:]):
820         (-[WebTextRenderer drawLineForCharacters:yOffset:withWidth:withColor:]):
821         (-[WebTextRenderer drawHighlightForRun:style:atPoint:]):
822         (-[WebTextRenderer pointToOffset:style:position:reversed:]):
823         (-[WebTextRenderer _setIsSmallCapsRenderer:]):
824         (-[WebTextRenderer _isSmallCapsRenderer]):
825         (-[WebTextRenderer _smallCapsRenderer]):
826         (-[WebTextRenderer _smallCapsFont]):
827         (-[WebTextRenderer _substituteFontForString:families:]):
828         (-[WebTextRenderer _substituteFontForCharacters:length:families:]):
829         (-[WebTextRenderer _convertCharacters:length:toGlyphs:skipControlCharacters:]):
830         (-[WebTextRenderer _convertUnicodeCharacters:length:toGlyphs:]):
831         (-[WebTextRenderer _computeWidthForSpace]):
832         (-[WebTextRenderer _setupFont]):
833         (_drawGlyphs):
834         (-[WebTextRenderer _CG_drawHighlightForRun:style:atPoint:]):
835         (-[WebTextRenderer _CG_drawRun:style:atPoint:]):
836         (-[WebTextRenderer _floatWidthForRun:style:widths:fonts:glyphs:startPosition:numGlyphs:]):
837         (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startPosition:numGlyphs:]):
838         (-[WebTextRenderer _extendUnicodeCharacterToGlyphMapToInclude:]):
839         (-[WebTextRenderer _updateGlyphEntryForCharacter:glyphID:font:]):
840         (-[WebTextRenderer _extendCharacterToGlyphMapToInclude:]):
841         (-[WebTextRenderer _extendGlyphToWidthMapToInclude:font:]):
842         (-[WebTextRenderer _trapezoidForRun:style:atPoint:]):
843         (-[WebTextRenderer _ATSU_floatWidthForRun:style:]):
844         (-[WebTextRenderer _ATSU_drawHighlightForRun:style:atPoint:]):
845         (-[WebTextRenderer _ATSU_drawRun:style:atPoint:]):
846         (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:]):
847         (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:]):
848         (freeWidthMap):
849         (freeGlyphMap):
850         (glyphForCharacter):
851         (glyphForUnicodeCharacter):
852         (mapForSubstituteFont):
853         (widthFromMap):
854         (widthForGlyph):
855         (initializeCharacterWidthIterator):
856         (widthAndGlyphForSurrogate):
857         (ceilCurrentWidth):
858         (widthForNextCharacter):
859         (fillStyleWithAttributes):
860         (findLengthOfCharacterCluster):
861         (shouldUseATSU):
862         (isControlCharacter):
863         (isAlternateSpace):
864         (isSpace):
865         (fontContainsString):
866         (GetScratchUniCharString):
867         (toUpper):
868         (isUpper):
869
870 2003-10-10  Maciej Stachowiak  <mjs@apple.com>
871
872         * English.lproj/StringsNotToBeLocalized.txt: Fixed for Private
873         change from a while back.
874
875 2003-10-10  David Hyatt  <hyatt@apple.com>
876
877         Patch to move widgets during layout instead of waiting until paint time.
878         
879         Reviewed by darin
880
881         * WebView.subproj/WebDataSource.m:
882         * WebView.subproj/WebDataSourcePrivate.h:
883         * WebView.subproj/WebFrame.m:
884         (-[WebFrame _isLoadComplete]):
885         * WebView.subproj/WebHTMLView.m:
886         * WebView.subproj/WebHTMLViewPrivate.h:
887
888 2003-10-09  Richard Williamson   <rjw@apple.com>
889
890         Ensure that the autoscroll timer is always stopped if a mouse up event is lost.
891
892         Reviewed by John.
893
894         * WebView.subproj/WebHTMLView.m:
895         (-[WebHTMLViewPrivate dealloc]):
896         (-[WebHTMLView _startAutoscrollTimer:]):
897         (-[WebHTMLView _stopAutoscrollTimer]):
898         (-[WebHTMLView _autoscroll]):
899         (-[WebHTMLView mouseDown:]):
900         * WebView.subproj/WebHTMLViewPrivate.h:
901
902 2003-10-09  Chris Blumenberg  <cblu@apple.com>
903
904         Fixed: <rdar://problem/3333897>: should support navigator.plugins.refresh as a way to add a plugin without restarting Safari
905
906         Reviewed by rjw.
907
908         * Plugins.subproj/WebBaseNetscapePluginView.m:
909         (-[WebBaseNetscapePluginView dealloc]): release the plug-in object
910         * Plugins.subproj/WebBasePluginPackage.h:
911         * Plugins.subproj/WebBasePluginPackage.m:
912         (-[WebBasePluginPackage initWithPath:]): store the last mod date
913         (-[WebBasePluginPackage dealloc]): release the last mod date
914         (-[WebBasePluginPackage lastModifiedDate]): new
915         (-[WebBasePluginPackage isEqual:]): new
916         (-[WebBasePluginPackage hash]): new
917         * Plugins.subproj/WebNetscapePluginPackage.m:
918         (-[WebNetscapePluginPackage load]): convert the NPP_Shutdown proc pointer so that we can use it later
919         (-[WebNetscapePluginPackage unload]): added log message
920         * Plugins.subproj/WebPluginDatabase.h:
921         * Plugins.subproj/WebPluginDatabase.m:
922         (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): tweak
923         (-[WebPluginDatabase plugins]): tweak
924         (-[WebPluginDatabase init]): call refresh
925         (-[WebPluginDatabase refresh]): new
926         (-[WebPluginDatabase loadPluginIfNeededForMIMEType:]): tweak
927         * WebCoreSupport.subproj/WebViewFactory.m:
928         (-[WebViewFactory refreshPlugins:]): new
929         * WebView.subproj/WebControllerSets.h:
930         * WebView.subproj/WebControllerSets.m:
931         (+[WebViewSets makeWebViewsPerformSelector:]): new
932         * WebView.subproj/WebFrame.m:
933         (-[WebFrame _reloadForPluginChanges]): new
934         * WebView.subproj/WebFramePrivate.h:
935         * WebView.subproj/WebView.m:
936         (-[WebView _reloadForPluginChanges]): new
937         * WebView.subproj/WebViewPrivate.h:
938
939 === Safari-109 ===
940
941 2003-10-03  Richard Williamson <rjw@apple.com>
942
943         Fix part of 3438071.  Creating an instance of WebPreferences using init
944         will do the expected thing:  that is, create a new instance!  We used to
945         always return standardPreferences.
946
947         Reviewed by Chris.
948
949         * WebView.subproj/WebPreferences.m:
950         (-[WebPreferences init]):
951         (+[WebPreferences standardPreferences]):
952
953 2003-10-03  David Hyatt  <hyatt@apple.com>
954
955         Fix for numerous regressions caused by an inadvertent renaming of the recursiveDisplay
956         override method.
957         
958         Reviewed by darin
959
960         * WebView.subproj/WebHTMLView.m:
961         (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
962
963 2003-10-03  Richard Williamson (Home0  <rjw@apple.com>
964
965         Fixed some edge case issue (control characters after end of word) with our rounding hack.
966
967         Reviewed by Darin.
968
969         * WebCoreSupport.subproj/WebTextRenderer.m:
970         (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
971
972 2003-10-03  Ken Kocienda  <kocienda@apple.com>
973
974         Reviewed by Darin, with much help from Maciej and Hyatt
975
976         Fix for this bug:
977
978         <rdar://problem/3441321>: Form buttons do not respond to key events when focused
979
980         * WebView.subproj/WebFrameView.m:
981         (-[WebFrameView _firstResponderIsControl]): Added to tell if the focus
982         is on a form control.
983         (-[WebFrameView keyDown:]): Call new _firstResponderIsControl method to see
984         whether space bar key events should propagate. Adding this check keeps us
985         from blocking the event here and allows AppKit to handle it.
986         * WebView.subproj/WebFrameViewPrivate.h: Add new _firstResponderIsControl 
987         method.
988
989 2003-10-02  Maciej Stachowiak  <mjs@apple.com>
990
991         Folded Private implementation files into the regular ones as the
992         first step towards pulling in our SPI exposure and other code
993         cleanup.
994
995         * History.subproj/WebHistory.m:
996         * History.subproj/WebHistoryPrivate.m: Removed.
997         * Misc.subproj/WebIconDatabasePrivate.h:
998         * WebKit.pbproj/project.pbxproj:
999         * WebView.subproj/WebDataSource.m:
1000         * WebView.subproj/WebDataSourcePrivate.m: Removed.
1001         * WebView.subproj/WebFrame.m:
1002         * WebView.subproj/WebFramePrivate.m: Removed.
1003         * WebView.subproj/WebFrameView.m:
1004         * WebView.subproj/WebFrameViewPrivate.m: Removed.
1005         * WebView.subproj/WebHTMLView.m:
1006         * WebView.subproj/WebHTMLViewPrivate.m: Removed.
1007         * WebView.subproj/WebView.m:
1008         * WebView.subproj/WebViewPrivate.m: Removed.
1009
1010 2003-10-02  Chris Blumenberg  <cblu@apple.com>
1011
1012         Fixed: <rdar://problem/3440063>: Safari 1.1 won't load new pages after visiting adultswim.com, assertion failure on debug build
1013
1014         Reviewed by rjw.
1015
1016         * Plugins.subproj/WebBaseNetscapePluginStream.m:
1017         (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): if not data was received for a stream, create the temp file anyway. Plug-ins expect this.
1018
1019 === Safari-108 ===
1020
1021 2003-10-02  Darin Adler  <darin@apple.com>
1022
1023         * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
1024
1025 2003-10-01  Maciej Stachowiak  <mjs@apple.com>
1026
1027         Reviewed by Darin.
1028
1029         - fixed 3441466 - REGRESSION: http://www.meyerweb.com/eric/css/edge/complexspiral/glassy.html broken on scroll
1030         
1031         * WebView.subproj/WebFramePrivate.m:
1032         (-[WebFrame _setState:]): Don't turn on scroll-blitting here when the page is done...
1033         (-[WebFrame _transitionToCommitted:]): Instead do it here, when the page is committed.
1034
1035 2003-10-02  Darin Adler  <darin@apple.com>
1036
1037         Reviewed by Ken.
1038
1039         - in preparation for a WebCore whitespace-handling change, made WebTextRenderer draw and measure
1040           newline characters as if they are spaces (just as we already do with non-breaking spaces)
1041         - removed some unused stuff from WebTextRenderer
1042         - other unimportant tweaks (e.g. unsigned int -> unsigned)
1043
1044         * WebCoreSupport.subproj/WebTextRenderer.m:
1045         (kFixedOne), (fixed1), (FixToFloat), (FloatToFixed): Removed these. We can use the standard ones
1046         from <FixMath.h> instead of defining our own.
1047         (isControlCharacter): Added. Inline function that we can use instead of the macro we had before.
1048         (isAlternateSpace): Added. Returns YES for newlines and non-breaking spaces.
1049         (isSpace): Added. Returns YES for real spaces and the two alternate spaces as well.
1050         (initializeCharacterWidthIterator): Use isSpace.
1051         (-[WebTextRenderer convertCharacters:length:toGlyphs:skipControlCharacters:]): Use isAlternateSpace
1052         and isControlCharacter.
1053         (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
1054         Use isControlCharacter, isAlternateSpace, and isSpace. Also fix a small bug where numGlyphs would
1055         not get set up properly when the run length is 0, and used local variables when possible instead
1056         of going back at the run structure.
1057         (-[WebTextRenderer _ATSU_floatWidthForRun:style:]): Use the standard FixedToFloat instead of our
1058         own FixToFloat.
1059         (-[WebTextRenderer _ATSU_drawHighlightForRun:style:atPoint:]): Ditto.
1060
1061 2003-10-02  David Hyatt  <hyatt@apple.com>
1062
1063         Work on exposing elements to the Acc API.  This patch gets us to the point where text
1064         under the mouse is voiced.
1065         
1066         Reviewed by darin
1067
1068         * WebView.subproj/WebHTMLView.m:
1069         (-[WebHTMLView accessibilityAttributeValue:]):
1070         (-[WebHTMLView accessibilityHitTest:]):
1071
1072 2003-10-01  John Sullivan  <sullivan@apple.com>
1073
1074         Reviewed by Darin
1075
1076         * WebView.subproj/WebHTMLView.m:
1077         (-[WebHTMLView viewDidMoveToSuperview]):
1078         skip some work when when we've been removed. This wasn't
1079         causing any trouble before, but was at least conceptually
1080         inefficient.
1081
1082 2003-10-01  John Sullivan  <sullivan@apple.com>
1083
1084         - fixed 3441372: REGRESSION (107+): Plain text document is 
1085         initially drawn with proportional font
1086
1087         Reviewed by Hyatt
1088
1089         * WebView.subproj/WebTextView.m:
1090         (-[WebTextView setDataSource:]):
1091         Changed a != to an ==
1092
1093 2003-10-01  Richard Williamson   <rjw@apple.com>
1094
1095         Fixed 3438441.  If a load is triggered by a onload handling, don't add an entry for it into the b/f or history.  The new Google ads use this technique.
1096
1097         Reviewed by Ken.
1098
1099         * Misc.subproj/WebKitLogging.h:
1100         * Misc.subproj/WebKitLogging.m:
1101         * WebCoreSupport.subproj/WebBridge.m:
1102         (-[WebBridge loadURL:referrer:reload:onLoadEvent:target:triggeringEvent:form:formValues:]):
1103         * WebView.subproj/WebFramePrivate.h:
1104         * WebView.subproj/WebFramePrivate.m:
1105         (-[WebFrame _addBackForwardItemClippedAtTarget:]):
1106         (-[WebFrame _transitionToCommitted:]):
1107         (-[WebFrame _isLoadComplete]):
1108         (-[WebFrame _loadItem:withLoadType:]):
1109         (-[WebFrame _itemForRestoringDocState]):
1110
1111 2003-10-01  Darin Adler  <darin@apple.com>
1112
1113         Reviewed by John.
1114
1115         * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _webView]):
1116         Fixed problem where we'd get a nil WebView and pass crazy values for subframe
1117         text multipliers.
1118
1119 2003-10-01  David Hyatt  <hyatt@apple.com>
1120
1121         Fix for 3440804, broken scrollbars in downloads window.  Make Auto be the default
1122         value in the enum, so that all scrollviews will be automatically initialized to be
1123         auto.
1124         
1125         Reviewed by cblu
1126
1127         * WebView.subproj/WebDynamicScrollBarsView.m:
1128
1129 2003-09-30  Richard Williamson   <rjw@apple.com>
1130
1131         Attempt to find a reasonable font using a simple string matching heuristic if 
1132         none of the fonts actually specified are found.  In particular we will use
1133         Geeza Pro if "arabic", "urdu", or "pashto" is contained (case-insensitive) in
1134         any of the requested font family names.  Geeza Pro is a much better fallback
1135         font for Arabic (and variant languages) than Helvetica.
1136
1137         Reviewed by Chris.
1138
1139         * WebCoreSupport.subproj/WebTextRendererFactory.m:
1140         (-[WebTextRendererFactory fontWithFamilies:traits:size:]):
1141
1142 2003-09-30  John Sullivan  <sullivan@apple.com>
1143
1144         - fixed 3045617 -- Make Text Bigger/Smaller doesn't affect non-html documents.
1145         
1146         I added an internal protocol inside WebKit to make this work, and implemented
1147         it for plain text and RTF. I also slightly shuffled the existing code to
1148         handle this for HTML so that it goes through the new protocol in that case
1149         also.
1150
1151         Reviewed by NOBODY (OOPS!).
1152
1153         * WebView.subproj/WebDocumentInternal.h: Added.
1154         New header file, holds definition of 
1155         _web_WebDocumentTextSizing protocol.
1156
1157         * WebView.subproj/WebFramePrivate.m:
1158         (-[WebFrame _textSizeMultiplierChanged]):
1159         if the document view conforms to the new protocol,
1160         tell it that the multiplier has changed. Also, don't
1161         tell the bridge here anymore; let WebHTMLView do that.
1162
1163         * WebView.subproj/WebHTMLView.m:
1164         (-[WebHTMLView _updateTextSizeMultiplier]):
1165         tell the bridge here instead of having WebFrame do so
1166         (-[WebHTMLView viewDidMoveToSuperview]):
1167         call _updateTextSizeMultiplier (in case it changed while we were switched out)
1168         (-[WebHTMLView _web_textSizeMultiplierChanged]):
1169         call _updateTextSizeMultiplier
1170         
1171         * WebView.subproj/WebTextRepresentation.m:
1172         (-[WebTextRepresentation receivedData:withDataSource:]):
1173         
1174         * WebView.subproj/WebTextView.h:
1175         now implements _web_WebDocumentTextSizing protocol;
1176         new ivar for holding local copy of text size multiplier;
1177         new public method appendReceivedData:fromDataSource:
1178         
1179         * WebView.subproj/WebTextView.m:
1180         (-[WebTextView initWithFrame:]):
1181         set local copy of text size multiplier to 1.0
1182         (-[WebTextView _textSizeMultiplierFromWebView]):
1183         new method, asks the webview's opinion of the text size multiplier
1184         (-[WebTextView setFixedWidthFont]):
1185         use the text size multiplier when setting font size
1186         (-[WebTextView _adjustRichTextFontSizeByRatio:]):
1187         new method, borrowed from Mail and tweaked, that walks through
1188         the rich text and adjusts the font sizes
1189         (-[WebTextView _updateTextSizeMultiplier]):
1190         new method, updates local copy of text size multiplier to
1191         match webview's opinion
1192         (-[WebTextView setDataSource:]):
1193         set the text size multiplier appropriately before setting the
1194         fixed-width font; this is too early for the RTF case though
1195         since the fonts are embedded in the data
1196         (-[WebTextView appendReceivedData:fromDataSource:]):
1197         new method. Most of this logic was in WebTextRepresentation, but
1198         it's a little better encapsulated here, plus now it handles the
1199         text multiplier for RTF.
1200         (-[WebTextView defaultsChanged:]):
1201         added comment
1202         (-[WebTextView _web_textSizeMultiplierChanged]):
1203         call updateTextSizeMultiplier
1204         
1205         * WebView.subproj/WebView.m:
1206         (-[WebView canMakeTextSmaller]):
1207         (-[WebView canMakeTextLarger]):
1208         return NO if the main frame doesn't support the text sizing protocol. This means
1209         that if the main frame doesn't support it but a subframe does, you can't adjust
1210         the text size. This seems fine for now since the only case with subframes is
1211         HTML, where the main frame does support changing text size.
1212         
1213         * WebKit.pbproj/project.pbxproj:
1214         updated for new file
1215
1216 2003-09-30  Chris Blumenberg  <cblu@apple.com>
1217
1218         Fixed: <rdar://problem/3428262>: Plugin loads for static files, but not PHP scripts
1219
1220         Reviewed by rjw.
1221
1222         * WebCoreSupport.subproj/WebBridge.m:
1223         (-[WebBridge frameRequiredForMIMEType:]): load the plug-in DB so this method returns reliable results.
1224
1225 2003-09-30  Chris Blumenberg  <cblu@apple.com>
1226
1227         Fixed: <rdar://problem/3006869>: show image dimensions in title bar when single image is loaded
1228
1229         Reviewed by rjw.
1230
1231         * English.lproj/Localizable.strings:
1232         * WebView.subproj/WebImageRepresentation.m:
1233         (-[WebImageRepresentation title]): return "foo.jpg 50x50 pixels"
1234
1235 2003-09-30  Richard Williamson   <rjw@apple.com>
1236
1237         Fixed 3420396.  If a frame targets _top and a URL that contains a fragment (very unusual, it's meaningless for a frameset to contain a named anchor point) the frameset won't be reloaded.  Our normal path is to just scroll to the anchor point.  This is only important because our Help folks oddly depend on the behavior.
1238
1239         Reviewed by Chris.
1240
1241         * WebView.subproj/WebFramePrivate.m:
1242         (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
1243
1244 2003-09-30  Ken Kocienda  <kocienda@apple.com>
1245
1246         Reviewed by Maciej
1247         
1248         Fix for this bug:
1249         
1250         <rdar://problem/3439688>: WebKit needs to retrieve full keyboard access preference
1251         
1252         * WebCoreSupport.subproj/WebBridge.h: Add two ivars: one to track the keyboard
1253         UI mode, the other a flag we use to register for notifications.
1254         * WebCoreSupport.subproj/WebBridge.m:
1255         (-[WebBridge dealloc]): Remove the notification observer to keyboard UI mode changes.
1256         (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]): New method. Accesses the
1257         preferences to get the current keyboard UI mode.
1258         (-[WebBridge keyboardUIMode]): Returns the current keyboard UI mode. Registers for
1259         notifications of keyboard UI mode changes when called the first time.
1260         
1261 2003-09-30  Maciej Stachowiak  <mjs@apple.com>
1262
1263         Reviewed by Ken.
1264
1265         - fixed 3375281 - Keyboard event handlers not fired if focus not in form field
1266         - fixed 3242927 - KeyPressed Event in Javascript don't work
1267         - fixed 3375353 - keyboard event.target not updated when blurring from form items
1268         - fixed 3183754 - returning false from key press handlers does not prevent typing or form submission
1269
1270         * WebView.subproj/WebHTMLView.m:
1271         (-[WebHTMLView keyDown:]): Ask the bridge before passing the event along.
1272         (-[WebHTMLView keyUp:]): Likewise.
1273         * WebView.subproj/WebHTMLViewPrivate.h:
1274         * WebView.subproj/WebHTMLViewPrivate.m: Remove dead code.
1275
1276 2003-09-30  Richard Williamson   <rjw@apple.com>
1277
1278         Fixed 3422138.  We weren't sending a didChange call for isLoading until the load was complete!  Also [WebView isLoading] wasn't accounting for provisional datasources.
1279
1280         Reviewed by Chris.
1281
1282         * WebView.subproj/WebView.m:
1283         (-[WebView isLoading]):
1284         * WebView.subproj/WebViewPrivate.h:
1285         * WebView.subproj/WebViewPrivate.m:
1286         (-[WebView _didStartProvisionalLoadForFrame:]):
1287         (-[WebView _didCommitLoadForFrame:]):
1288         (-[WebView _didFinishLoadForFrame:]):
1289         (-[WebView _didFailLoadWithError:forFrame:]):
1290         (-[WebView _didFailProvisionalLoadWithError:forFrame:]):
1291
1292 2003-09-30  David Hyatt  <hyatt@apple.com>
1293
1294         Improvements to scrolling and layout.  Also fixing 3264346, body overflow should
1295         apply to document's scrollbars.
1296         
1297         Reviewed by darin
1298
1299         * WebView.subproj/WebDynamicScrollBarsView.h:
1300         * WebView.subproj/WebDynamicScrollBarsView.m:
1301         (-[WebDynamicScrollBarsView initWithFrame:]):
1302         (-[WebDynamicScrollBarsView setScrollBarsSuppressed:repaintOnUnsuppress:]):
1303         (-[WebDynamicScrollBarsView updateScrollers]):
1304         (-[WebDynamicScrollBarsView reflectScrolledClipView:]):
1305         (-[WebDynamicScrollBarsView setAllowsScrolling:]):
1306         (-[WebDynamicScrollBarsView allowsScrolling]):
1307         (-[WebDynamicScrollBarsView setAllowsHorizontalScrolling:]):
1308         (-[WebDynamicScrollBarsView setAllowsVerticalScrolling:]):
1309         (-[WebDynamicScrollBarsView allowsHorizontalScrolling]):
1310         (-[WebDynamicScrollBarsView allowsVerticalScrolling]):
1311         (-[WebDynamicScrollBarsView horizontalScrollingMode]):
1312         (-[WebDynamicScrollBarsView verticalScrollingMode]):
1313         (-[WebDynamicScrollBarsView setHorizontalScrollingMode:]):
1314         (-[WebDynamicScrollBarsView setVerticalScrollingMode:]):
1315         (-[WebDynamicScrollBarsView setScrollingMode:]):
1316
1317 2003-09-29  Chris Blumenberg  <cblu@apple.com>
1318
1319         Fixed: <rdar://problem/3422739>: Plug-in streams not cancelled when plug-in returns error from NPP_NewStream
1320
1321         Reviewed by mjs.
1322
1323         * Plugins.subproj/WebBaseNetscapePluginStream.h: renamed receivedError to cancelWithReason
1324         * Plugins.subproj/WebBaseNetscapePluginStream.m:
1325         (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]): call cancelWithReason if NPP_NewStream returns an error
1326         (-[WebBaseNetscapePluginStream cancelWithReason:]): renamed
1327         (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): tweak
1328         * Plugins.subproj/WebNetscapePluginRepresentation.m:
1329         (-[WebNetscapePluginRepresentation receivedError:withDataSource:]): call renamed cancelWithReason
1330         (-[WebNetscapePluginRepresentation cancelWithReason:]): new override, stop load then call super
1331         * Plugins.subproj/WebNetscapePluginStream.m:
1332         (-[WebNetscapePluginStream cancelWithReason:]): new override, stop load then call super
1333         (-[WebNetscapePluginStream stop]): call cancelWithReason
1334         (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): call renamed cancelWithReason
1335         (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]): call renamed cancelWithReason
1336
1337 2003-09-25  Maciej Stachowiak  <mjs@apple.com>
1338
1339         Roll out build system change since it did not actually work. :-(
1340         
1341         * WebKit.pbproj/project.pbxproj:
1342
1343 2003-09-25  David Hyatt  <hyatt@apple.com>
1344
1345         Change layout so that it is called from the private _recursive functions instead of
1346         inside drawRect.
1347         
1348         Reviewed by kocienda
1349
1350         * WebView.subproj/WebHTMLView.m:
1351         (-[WebHTMLView layoutToPageWidth:adjustingViewSize:]):
1352         (-[WebHTMLView drawRect:]):
1353         * WebView.subproj/WebHTMLViewPrivate.m:
1354         (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:testDirtyRect:]):
1355         (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]):
1356         (-[WebHTMLView _web_setPrintingModeRecursive]):
1357         (-[WebHTMLView _web_clearPrintingModeRecursive]):
1358         (-[WebHTMLView _web_layoutIfNeededRecursive:testDirtyRect:]):
1359         (-[NSView _web_setPrintingModeRecursive]):
1360         (-[NSView _web_clearPrintingModeRecursive]):
1361         (-[NSView _web_layoutIfNeededRecursive:testDirtyRect:]):
1362
1363 2003-09-25  Richard Williamson   <rjw@apple.com>
1364
1365         Fixed 3433802.  Written by Ed.  Carbon WebView doesn't detach native view when removed.
1366
1367         Reviewed by Richard.
1368
1369         * Carbon.subproj/HIWebView.m:
1370         (OwningWindowChanged):
1371
1372 2003-09-25  Richard Williamson   <rjw@apple.com>
1373
1374         Fixed 3433488.  Written by Ed.  WebKit doesn't sync window visibility when new webview added to visible window.
1375
1376         Reviewed by Richard.
1377
1378         * Carbon.subproj/CarbonWindowAdapter.m:
1379         (-[CarbonWindowAdapter initWithCarbonWindowRef:takingOwnership:disableOrdering:carbon:]):
1380
1381 2003-09-25  Richard Williamson   <rjw@apple.com>
1382
1383         Fixed 3434854.  Written by Ed.  Correctly handle window modality in carbon.
1384
1385         Reviewed by Richard.
1386
1387         * Carbon.subproj/CarbonWindowAdapter.m:
1388         (-[CarbonWindowAdapter initWithCarbonWindowRef:takingOwnership:disableOrdering:carbon:]):
1389
1390 2003-09-25  Maciej Stachowiak  <mjs@apple.com>
1391
1392         Reviewed by Darin.
1393
1394         Updated setup for engineering builds. Don't embed the framework
1395         into Safari or hack the install name. However, do copy WebCore and
1396         JavaScriptCore into the proper sub-umbrella locations.
1397         
1398         * WebKit.pbproj/project.pbxproj:
1399         * embed-frameworks.sh: Added.
1400
1401 === Safari-107 ===
1402
1403 2003-09-25  Ken Kocienda  <kocienda@apple.com>
1404
1405         Reviewed by Darin
1406
1407         Fix for this bug:
1408         
1409         <rdar://problem/3341222>: WebView doesn't follow AppKit default nextKeyView pattern
1410         
1411         * WebCoreSupport.subproj/WebBridge.h: Added a variable to guard against recursion
1412         in -[WebBridge inNextKeyViewOutsideWebFrameViews].
1413         * WebCoreSupport.subproj/WebBridge.m:
1414         (-[WebBridge inNextKeyViewOutsideWebFrameViews]): Accessor for recursion guard.
1415         (-[WebBridge nextKeyViewOutsideWebFrameViews]): Do not ask webView for its
1416         next key view, but rather, ask it for the next key view of the last view in
1417         its key view loop. This is what will get us to the next view outside of the
1418         webView.
1419         * WebView.subproj/WebHTMLView.m:
1420         (-[WebHTMLView nextKeyView]): Ask AppKit, rather than khtml, for the next key
1421         key view if -[WebBridge inNextKeyViewOutsideWebFrameViews] returns YES. Doing
1422         so gives us the correct answer as calculated by AppKit, and makes HTML views
1423         behave like other views. This check also heads off an infinite recursion 
1424         through -[WebBridge nextKeyViewOutsideWebFrameViews].
1425
1426         Also did some cleanup of some code that was marked for removal "some day".
1427         That "some day" is today.
1428         
1429 2003-09-25  Darin Adler  <darin@apple.com>
1430
1431         Reviewed by John.
1432
1433         - fixed 3176853 -- can't attach files that have no extensions with Yahoo mail (bad Content-Type headers)
1434
1435         * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge MIMETypeForPath:]):
1436         Return @"application/octet-stream" rather than nil or empty string when the type is not known.
1437
1438 2003-09-24  Darin Adler  <darin@apple.com>
1439
1440         Reviewed by Maciej.
1441
1442         * WebView.subproj/WebHTMLView.m:
1443         (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]):
1444         Added one more call to _stopAutoscrollTimer for when drags begin.
1445
1446 2003-09-24  Richard Williamson   <rjw@apple.com>
1447
1448         Fixed 3420736.  Clear renderer caches when get an ATS font changed notification.  This fix may be moot depending on progress toward fixing 2695906.  Also 3428451 needs to should be resolved.
1449
1450         Also added code to get and log entry point for the function used to get a Java class from plugins.  That class is used for LiveConnect support.
1451
1452         Reviewed by John.
1453
1454         * Misc.subproj/WebKitLogging.h:
1455         * Misc.subproj/WebKitLogging.m:
1456         * Plugins.subproj/WebNetscapePluginPackage.h:
1457         * Plugins.subproj/WebNetscapePluginPackage.m:
1458         (-[WebNetscapePluginPackage load]):
1459         * Plugins.subproj/npapi.h:
1460         * WebCoreSupport.subproj/WebTextRenderer.m:
1461         (FillStyleWithAttributes):
1462         * WebCoreSupport.subproj/WebTextRendererFactory.m:
1463         (-[WebTextRendererFactory clearCaches]):
1464         (fontsChanged):
1465         (+[WebTextRendererFactory createSharedFactory]):
1466         (-[WebTextRendererFactory fontWithFamily:traits:size:]):
1467         (-[WebTextRendererFactory cachedFontFromFamily:traits:size:]):
1468
1469 2003-09-23  Darin Adler  <darin@apple.com>
1470
1471         Reviewed by John and Richard.
1472
1473         - fixed 3127833 -- autoscroll only works when mouse is moving
1474
1475         * WebView.subproj/WebHTMLView.m:
1476         (-[WebHTMLView viewDidMoveToWindow]): Stop the auto-scroll timer. This covers
1477         the case where a view is removed from the view hierarchy while the mouse is down.
1478         (-[WebHTMLView mouseDown:]): Start the auto-scroll timer.
1479         (-[WebHTMLView mouseUp:]): Stop the auto-scroll timer.
1480         * WebView.subproj/WebHTMLViewPrivate.h: Add an auto-scroll timer, and methods
1481         to start and stop it.
1482         * WebView.subproj/WebHTMLViewPrivate.m:
1483         (-[WebHTMLView _startAutoscrollTimer]): Create and schedule a timer. It uses the
1484         same 1/10 second interval that NSTextView uses for its scrolling timer.
1485         (-[WebHTMLView _stopAutoscrollTimer]): Invalidate and release the timer.
1486         (-[WebHTMLView _autoscroll]): Check for a mouse up event in the queue; if one is
1487         there, then no autoscrlling. But if not, then create a fake mouse dragged event
1488         and dispatch it; that will lead to autoscrolling.
1489
1490 2003-09-22  Darin Adler  <darin@apple.com>
1491
1492         Reviewed by Dave.
1493
1494         - worked around 3429631 -- window stops getting mouse moved events after first tooltip appears
1495
1496         * WebView.subproj/WebHTMLViewPrivate.m: (-[NSToolTipPanel setAcceptsMouseMovedEvents:]):
1497         Do nothing, preventing the real setAcceptsMouseMovedEvents: (in class NSWindow) from being called.
1498
1499 2003-09-22  Darin Adler  <darin@apple.com>
1500
1501         Reviewed by Dave.
1502
1503         - fixed 3431033 -- crash in -[NSToolTipManager _shouldInstallToolTip:]
1504
1505         * WebView.subproj/WebHTMLViewPrivate.m:
1506         (-[WebHTMLView _addTrackingRect:owner:userData:assumeInside:useTrackingNum:]):
1507         Override this alternate version of addTrackingRect. If I don't do this, we might
1508         create a real tracking rect, which we would then never remove.
1509         (-[WebHTMLView removeTrackingRect:]): Added assertions.
1510
1511 2003-09-22  Darin Adler  <darin@apple.com>
1512
1513         * WebKit.pbproj/project.pbxproj: Rename Mixed build style to OptimizedWithSymbols.
1514
1515 2003-09-21  Darin Adler  <darin@apple.com>
1516
1517         * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView removeTrackingRect:]): Remove bogus assert.
1518
1519 2003-09-21  Darin Adler  <darin@apple.com>
1520
1521         Reviewed by Dave.
1522
1523         - fixed 3106411 -- show title attribute for page elements in tooltip on mouseover (important for PeopleSoft)
1524
1525         * WebView.subproj/WebHTMLViewPrivate.h: Added fields needed for tool tip implementation.
1526         * WebView.subproj/WebHTMLViewPrivate.m:
1527         (-[WebHTMLViewPrivate dealloc]): Release the tool tip string.
1528         (-[WebHTMLView addTrackingRect:owner:userData:assumeInside:]): Override the default NSView
1529         tracking rectangle implementation so we can trick the tool tip manager into trusting us about
1530         when you leave and enter the rectangle for each element.
1531         (-[WebHTMLView removeTrackingRect:]): The other half of the above stuff.
1532         (-[WebHTMLView _sendToolTipMouseExited]): Added. Makes an event just good enough to fool the tool tip
1533         manager, and send it on.
1534         (-[WebHTMLView _sendToolTipMouseEntered]): Ditto.
1535         (-[WebHTMLView _setToolTip:]): Added. Manages the new and old tool tips in a way that fools the tool
1536         tip manager into working even though we don't know the rectangles of the tool tips beforehand. The
1537         advantage of using AppKit tool tips is that they have all sorts of nice little features, like wrapping
1538         to a nice rectangular shape and fading out when you move away.
1539         (-[WebHTMLView view:stringForToolTip:point:userData:]): This is how the tool tip manager gets the actual
1540         tool tip text.
1541         (-[WebHTMLView _updateMouseoverWithEvent:]): Call _setToolTip method, using the value passed along with the
1542         WebCoreElementTitleKey in the dictionary.
1543
1544         - unrelated code cleanup
1545
1546         * WebView.subproj/WebFramePrivate.h: Don't define WebCorePageCacheStateKey here; instead use
1547         a definition exported from WebCore.
1548         * WebView.subproj/WebFramePrivate.m: Ditto.
1549         * English.lproj/StringsNotToBeLocalized.txt: Update for above changes.
1550
1551 2003-09-19  Maciej Stachowiak  <mjs@apple.com>
1552
1553         Reviewed by Darin.
1554
1555         Roll out old fix for 3410980.
1556
1557         * WebCoreSupport.subproj/WebBridge.m:
1558         (-[WebBridge goBackOrForward:]):
1559
1560 2003-09-19  Darin Adler  <darin@apple.com>
1561
1562         Reviewed by Dave.
1563
1564         - do the prep work for the mini controls feature; Dave will finish this
1565
1566         * WebCoreSupport.subproj/WebFileButton.m:
1567         (-[WebFileButton isFlipped]): Make this flipped, easier to understand coordinates that way.
1568         (-[WebFileButton drawRect:]): Update for flipped-ness.
1569         (-[WebFileButton visualFrame]): Update for flipped-ness.
1570         (-[WebFileButton setVisualFrame:]): Update for flipped-ness.
1571         (-[WebFileButton baseline]): Update for flipped-ness.
1572
1573 2003-09-19  Maciej Stachowiak  <mjs@apple.com>
1574
1575         Reviewed by Darin.
1576
1577         - fixed 3410980 - FileMaker: going forward with an empty forward list makes a frame come out blank sometimes
1578
1579         * WebCoreSupport.subproj/WebBridge.m:
1580         (-[WebBridge backOrForwardItemWithDistance:]): Factored out from goBackOrForward.
1581         (-[WebBridge canGoBackOrForward:]): Use the new method.
1582         (-[WebBridge goBackOrForward:]): Likewise.
1583
1584 2003-09-17  John Sullivan  <sullivan@apple.com>
1585
1586         - WebKit part of fix for 3157018 -- Would like option to
1587         not print backgrounds   
1588
1589         Reviewed by Darin
1590
1591         * WebView.subproj/WebPreferences.h:
1592         new accessor methods for new shouldPrintBackgrounds preference
1593         * WebView.subproj/WebPreferences.m:
1594         (+[WebPreferences initialize]):
1595         set initial value for WebKitShouldPrintBackgroundsPreferenceKey
1596         to NO
1597         (-[WebPreferences shouldPrintBackgrounds]):
1598         new method, read NSUserDefaults value
1599         (-[WebPreferences setShouldPrintBackgrounds:]):
1600         new method, write NSUserDefault value
1601
1602         * WebView.subproj/WebViewPrivate.m:
1603         (-[WebView _updateWebCoreSettingsFromPreferences:]):
1604         tell WebCore about value of shouldPrintBackgrounds
1605
1606         * English.lproj/StringsNotToBeLocalized.txt:
1607         Updated for these and other recent changes
1608
1609 2003-09-17  Darin Adler  <darin@apple.com>
1610
1611         Reviewed by Maciej.
1612
1613         * Plugins.subproj/WebBasePluginPackage.m:
1614         (-[WebBasePluginPackage pathByResolvingSymlinksAndAliasesInPath:]): Pass the
1615         "no UI" flag, so we don't prompt the user when we're trying to load plug-ins.
1616         Also use OSStatus rather than OSErr so we don't miss error codes that just
1617         happen to have zeroes in the low 16 bits.
1618
1619 2003-09-17  Darin Adler  <darin@apple.com>
1620
1621         Reviewed by John.
1622
1623         * WebCoreSupport.subproj/WebFileButton.m: (-[WebFileButton setFilename:]):
1624         Don't call -[NSWorkspace iconForFile:] on a path that does not start with a '/'.
1625         This can happen if JavaScript or the web page sets the path explicitly, and
1626         adding this check avoids an unpleasant warning on the console.
1627
1628 === WebKit-106 ===
1629
1630 2003-09-16  Richard Williamson   <rjw@apple.com>
1631
1632         Backed out fix to 3412062 to resolve 3424197.
1633
1634         Many sites use a technique of posting forms the same URL to generate content server side.  The fix to 3412062 broke those sites.
1635
1636         Reviewed by Darin.
1637
1638         * WebView.subproj/WebFramePrivate.m:
1639         (-[WebFrame _transitionToCommitted:]):
1640
1641 === WebKit-105 ===
1642
1643 === WebKit-104 ===
1644
1645 2003-09-12  Richard Williamson   <rjw@apple.com>
1646
1647         Fixed 3420097.  If redirects are cancelled during a pending load don't reset the quickRedirect flag.
1648
1649         Reviewed by Darin.
1650
1651         * WebCoreSupport.subproj/WebBridge.m:
1652         (-[WebBridge reportClientRedirectCancelled:]):
1653         * WebView.subproj/WebFramePrivate.h:
1654         * WebView.subproj/WebFramePrivate.m:
1655         (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]):
1656         (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
1657         (-[WebFrame _clientRedirectedTo:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
1658         (-[WebFrame _clientRedirectCancelled:]):
1659
1660 === WebKit-103 ===
1661
1662 2003-09-12  Richard Williamson   <rjw@apple.com>
1663
1664         Fixed 3412062.  Don't allow pages with the same URL as the current URL to enter b/f or history.
1665
1666         Reviewed by Maciej.
1667
1668         * WebView.subproj/WebFramePrivate.m:
1669         (-[WebFrame _transitionToCommitted:]):
1670
1671 2003-09-11  Maciej Stachowiak  <mjs@apple.com>
1672
1673         Reviewed by Darin.
1674
1675         - fixed 3413463 - QuickTime plug-in content doesn't load in Safari (NPP_Write not called)
1676         
1677         * Plugins.subproj/npapi.h: Fix erroneous function pointer
1678         declarations that led to an int16/int32 mismatch.
1679
1680 2003-09-12  Chris Blumenberg  <cblu@apple.com>
1681
1682         Fixed: <rdar://problem/3420112>: Reproducible Safari crash in in -[WebBaseNetscapePluginView sendEvent:]
1683
1684         Reviewed by darin.
1685
1686         * Plugins.subproj/WebBaseNetscapePluginView.m:
1687         (-[WebBaseNetscapePluginView sendEvent:]): temporarily retain self in case the plug-in view is released while sending an event. 
1688         (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:targetFrame:]): don't deliver the return value of the JS evaluation if stringByEvaluatingJavaScriptFromString caused the plug-in to stop.
1689
1690 === WebKit-102 ===
1691
1692 2003-09-11  Maciej Stachowiak  <mjs@apple.com>
1693
1694         Reviewed by Ken.
1695
1696         - fixed 3417486 - after logging off from secure Etrade website, going back returns you to secure page
1697
1698         * WebView.subproj/WebFramePrivate.m:
1699         (-[WebFrame _loadItem:withLoadType:]): Don't request stale data
1700         for https pages, as this could be a security risk.
1701
1702 2003-09-11  Richard Williamson   <rjw@apple.com>
1703
1704         Fixed 3406671.  Added a private method for Mail to get selection
1705         rect.
1706
1707         Reviewed by Darin Adler.
1708
1709         * WebView.subproj/WebHTMLView.m:
1710         (-[WebHTMLView updateTextBackgroundColor]):
1711         * WebView.subproj/WebHTMLViewPrivate.h:
1712         * WebView.subproj/WebHTMLViewPrivate.m:
1713         (-[WebHTMLView _handleMouseDragged:]):
1714         (-[WebHTMLView _pluginController]):
1715         (-[WebHTMLView _selectionRect]):
1716
1717 2003-09-10  Richard Williamson   <rjw@apple.com>
1718
1719         Fixed 3231031.  Use the normal methodology for displaying each frame of a GIF.  That is,
1720         just call setNeedsDisplayInRect, rather than drawing directly.  Drawing directly violates
1721         layering/clipping.
1722
1723         Reviewed by Dave Hyatt.
1724
1725         * WebCoreSupport.subproj/WebImageRenderer.m:
1726         (-[WebImageRenderer nextFrame:]):
1727
1728 === Safari-100 ===
1729
1730 2003-09-09  Richard Williamson   <rjw@apple.com>
1731
1732         Fixed 3414988.  Don't store absolute path to home directory.
1733         Reviewed by Chris Blumenberg.
1734
1735         Fixed 3414319.  Send correct WebView back as parameter to webViewShow:
1736         Review by Darin.
1737
1738         Fixed 3095029.  Draw a frame's border in WebFrameView, instead of WebHTMLView, and correctly inset the frame's scrollview to account for the border.  Mostly written by Darin.
1739         Reviewed by Darin (and Richard).
1740
1741         * Misc.subproj/WebIconDatabase.m:
1742         (-[WebIconDatabase _createFileDatabase]):
1743         Store @"~/Library/Icon" instead of absolute path, and always try to tilde expand stored path.
1744
1745         * WebCoreSupport.subproj/WebBridge.m:
1746         (-[WebBridge setHasBorder:]):
1747         * WebView.subproj/WebFrameView.m:
1748         (-[WebFrameView drawRect:]):
1749         (-[WebFrameView setFrameSize:]):
1750         * WebView.subproj/WebFrameViewPrivate.h:
1751         * WebView.subproj/WebFrameViewPrivate.m:
1752         (-[WebFrameView _isMainFrame]):
1753         (-[WebFrameView _tile]):
1754         (-[WebFrameView _drawBorder]):
1755         (-[WebFrameView _shouldDrawBorder]):
1756         (-[WebFrameView _setHasBorder:]):
1757         * WebView.subproj/WebHTMLView.m:
1758         (-[WebHTMLView drawRect:]):
1759         Changes to correct draw border in WebFrameView instead of WebHTMLView.
1760
1761         * WebView.subproj/WebViewPrivate.m:
1762         (-[WebView _openNewWindowWithRequest:]):
1763         Send correct parameter (returned from webView:createWebViewWithRequest:), rather than self, to webViewShow:.
1764
1765 2003-09-09  Chris Blumenberg  <cblu@apple.com>
1766
1767         Fixed: <rdar://problem/3412380>: REGRESSION (85-98): www.minoltan.com is decoded incorrectly on Japanese system
1768
1769         The default encoding that Safari uses is latin1 regardless of the current system encoding. This is how it's always been. The problem is that the UI is displaying shift JIS for the default text encoding instead of latin1. This is happening because WebKit is using "latin1" instead of "ISO-8859-1" for the default text encoding name. "ISO-8859-1" is the IANA character set name for latin1 and this is what the  WebKitDefaultTextEncodingNamePreferenceKey preference expects. This ends up confusing Safari, so Safari just ends up displaying the first item in the pop-up menu which is shift JIS.
1770
1771         Reviewed by rjw.
1772
1773         * WebView.subproj/WebPreferences.m:
1774         (+[WebPreferences initialize]): The WebKitDefaultTextEncodingNamePreferenceKey should be "ISO-8859-1" not "latin1" since "ISO-8859-1" is the IANA character set name for latin1.
1775
1776 === Safari-99 ===
1777
1778 2003-09-08  Darin Adler  <darin@apple.com>
1779
1780         Reviewed by Chris.
1781
1782         - fixed 3412726 -- some HTML messages in Mail lose a line at page breaks when printed (multipart/alternative)
1783
1784         * WebView.subproj/WebHTMLView.m: (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]):
1785         Go into printing mode when asked to adjust page height, if not already in it.
1786         We already have code in drawRect that does this when actually printing, but it's
1787         also important to lay out the same way when deciding where to break pages, otherwise
1788         the difference between printer and screen fonts can lead to page breaks that split a line
1789         of text across two pages, and that can lead to missing lines of text as well.
1790
1791 2003-09-07  Darin Adler  <darin@apple.com>
1792
1793         Reviewed by Maciej.
1794
1795         - fixed 3410939 -- disabling Geneva and Helvetica (by removing them, or by using Font Book) makes Safari crash
1796
1797         * WebCoreSupport.subproj/WebTextRendererFactory.m: (-[WebTextRendererFactory fallbackFontWithTraits:size:]):
1798         Fall back on Lucida Grande (plain, not bothering with traits) if Helvetica is not present.
1799
1800         * English.lproj/StringsNotToBeLocalized.txt: Update for this and other recent changes.
1801
1802 2003-09-07  Darin Adler  <darin@apple.com>
1803
1804         Reviewed by Ken.
1805
1806         - fixed 3406660 -- screen fonts are not being used for substitute fonts (Japanese text, Roman font)
1807
1808         * WebCoreSupport.subproj/WebTextRenderer.m:
1809         (-[WebTextRenderer substituteFontForString:families:]): Get a printer or screen font,
1810         based on the renderer's mode. The old code didn't do anything explicit.
1811         (-[WebTextRenderer _setupFont]): Remove ignored parameter for clarity.
1812         (-[WebTextRenderer initWithFont:usingPrinterFont:]): Fixed code paths that would not
1813         explicitly get a printer or screen font, and code paths that would get data from the
1814         original "before mapping to printer or screen font" NSFont object.
1815
1816 === Safari-98 ===
1817
1818 2003-09-05  Ken Kocienda  <kocienda@apple.com>
1819
1820         Reviewed by Darin
1821
1822         Incorporate releaseGState fix that Darin developed for 
1823         textareas and list boxes in WebCore. It turns out that 
1824         we this workaround in WebClipView as well to get proper 
1825         drawing of subframes.
1826
1827         In addition, removed some tests that which performed 
1828         runtime checks for code in AppKit. AppKit will have
1829         the checked-for code in all versions that will be used
1830         with the version of WebKit.
1831
1832         * WebView.subproj/WebClipView.m:
1833         (-[WebClipView initWithFrame:])
1834         (-[WebClipView resetAdditionalClip])
1835         (-[WebClipView setAdditionalClip:])
1836
1837 2003-09-04  John Sullivan  <sullivan@apple.com>
1838
1839         - fixed 3409011 -- the graphics views palette does not open
1840
1841         Reviewed by Maciej
1842
1843         * WebView.subproj/WebPreferences.m:
1844         (+[WebPreferences _removeReferenceForIdentifier:]):
1845         special-case nil, which is a magic initial identifier already
1846         special-cased in the other mutator
1847
1848 2003-09-05  Maciej Stachowiak  <mjs@apple.com>
1849
1850         Reviewed by Darin.
1851
1852         - fixed 3406140 - REGRESSION (7B52-7B55): time spent in NSFont makes Safari 50% slower in Five Apps test
1853         
1854         * WebCoreSupport.subproj/WebTextRendererFactory.m:
1855         (-[WebTextRendererFactory fontWithFamily:traits:size:]): Make font
1856         using the font name we found, not the one we were looking
1857         for. Since the compare is case-insensitive, it makes a
1858         difference. Also, don't make the font twice.
1859
1860 2003-09-04  Chris Blumenberg  <cblu@apple.com>
1861
1862         Fixed: <rdar://problem/3316704>: Shockwave: getnetText steam is not functioning correctly
1863
1864         Reviewed by mjs.
1865
1866         * Plugins.subproj/WebBaseNetscapePluginStream.m:
1867         (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]): if the content length is unknown, use 0 instead of -1
1868
1869 2003-09-04  Chris Blumenberg  <cblu@apple.com>
1870
1871         Fixed: <rdar://problem/3286922>: Shockwave: Using HTTP to stream .mp3 or .swa files fails at ~50%
1872
1873         Reviewed by mjs.
1874
1875         * Plugins.subproj/WebBaseNetscapePluginStream.h: new deliveryData and reason ivars
1876         * Plugins.subproj/WebBaseNetscapePluginStream.m:
1877         (-[WebBaseNetscapePluginStream dealloc]): release deliveryData ivar
1878         (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]): set new reason ivar
1879         (-[WebBaseNetscapePluginStream destroyStream]): new, calls NPP_StreamAsFile, NPP_DestroyStream and NPP_URLNotify
1880         (-[WebBaseNetscapePluginStream destroyStreamWithReason:]): set the reason, call destroyStream
1881         (-[WebBaseNetscapePluginStream receivedError:]): set deliveryData length to 0 so no more data is streamed, call destroyStreamWithReason
1882         (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): don't call NPP_StreamAsFile because this has to be called right before NPP_DestroyStream in destroyStream
1883         (-[WebBaseNetscapePluginStream deliverData]): new, call NPP_WriteReady and NPP_Write and properly obey their returned values
1884         (-[WebBaseNetscapePluginStream receivedData:]): call deliverData
1885         * Plugins.subproj/WebNetscapePluginStream.m:
1886         (-[WebNetscapePluginStream stop]): call receivedError here
1887         (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]): don't call receivedError here because after the load is complete, stream is set to nil and receivedError can be called after the completed load
1888
1889 2003-09-04  Chris Blumenberg  <cblu@apple.com>
1890
1891         * Plugins.subproj/WebBaseNetscapePluginView.m:
1892         (-[WebBaseNetscapePluginView postURL:target:len:buf:file:]): Fixed typo in newly added comment.
1893
1894 2003-09-04  Chris Blumenberg  <cblu@apple.com>
1895
1896         Fixed: <rdar://problem/3407328>: request headers at the start of the file passed to NPN_PostURL don't work for Acrobat plug-in?
1897
1898         Reviewed by john.
1899
1900         * Plugins.subproj/WebBaseNetscapePluginView.m:
1901         (-[WebBaseNetscapePluginView postURL:target:len:buf:file:]): As documented, allow headers to be specified via NPP_PostURL when using a file.
1902
1903 === Safari-97 ===
1904
1905 2003-09-03  John Sullivan  <sullivan@apple.com>
1906
1907         - fixed 3406411 -- infoseek.co.jp: many console errors about 
1908         attempting to set non-screen font (HiraMinPro-W3)
1909
1910         Reviewed by Ken
1911
1912         * WebCoreSupport.subproj/WebTextRenderer.m:
1913         (_drawGlyphs):
1914         use ERROR instead of NSLog for the printing-font-used-on-screen
1915         case, so it doesn't flood the world's console logs. We need to
1916         investigate why this is happening also, but that can probably
1917         be post-Panther.
1918
1919 2003-09-01  John Sullivan  <sullivan@apple.com>
1920
1921         - WebKit part of fix for 3402489 -- REGRESSION (7B48-7B55): Some        printed web pages are too small (width is half a page)
1922
1923         This was a regression caused by the fix for 3378810.
1924
1925         Reviewed by Maciej
1926
1927         * WebView.subproj/WebHTMLView.m:
1928         (-[WebHTMLView layoutToPageWidth:adjustingViewSize:]):
1929         now takes adjustViewSize flag, and passes it down to
1930         one of bridge's forceLayout calls.
1931         (-[WebHTMLView layout]):
1932         pass NO for adjustViewSize flag in this case
1933         (-[WebHTMLView _setPrinting:pageWidth:adjustViewSize:]):
1934         pass adjustViewSize flag down to layoutToPageWidth instead
1935         of using it directly here; this is the wrong level to use
1936         it directly since the bridge is no longer set up for
1937         printing after the layoutToPageWidth call completes.
1938
1939 2003-08-30  Maciej Stachowiak  <mjs@apple.com>
1940
1941         Reviewed by John.
1942
1943         - fixed 3401709 - [WebView searchFor:] with wrap:NO hangs if the search fails
1944         
1945         * WebView.subproj/WebView.m:
1946         (-[WebView searchFor:direction:caseSensitive:wrap:]): Fix for
1947         wrap:NO case as suggested by Darin.
1948
1949 === Safari-96 ===
1950
1951 2003-08-29  Richard Williamson   <rjw@apple.com>
1952
1953         Fixed 3401334.  Use IB document key when checking for reference removal on instances of WebPreferences.
1954
1955         Also removed _userDefaultsKeysForIB, no longer needed by IB.
1956
1957         Reviewed by John.
1958
1959         * WebView.subproj/WebPreferences.m:
1960         (+[WebPreferences _removeReferenceForIdentifier:]):
1961         (-[WebPreferences _postPreferencesChangesNotification]):
1962         * WebView.subproj/WebPreferencesPrivate.h:
1963
1964 2003-08-29  Richard Williamson   <rjw@apple.com>
1965
1966         Fixed 3400807.  Don't release state associated with the current b/f item.  We shouldn't normally have page cache state associated with the current item (3401376).  This fix guarantees that we won't prematurely release the page cache state for the current item.
1967
1968         Reviewed byJohn Sullivan.
1969
1970         * History.subproj/WebBackForwardList.m:
1971         (-[WebBackForwardList _clearPageCache]):
1972
1973 2003-08-28  Richard Williamson   <rjw@apple.com>
1974
1975         Fixed 3399736.  Fixed several problems with WebView/WebPreferences
1976         interaction.
1977
1978         Reviewed by Eric Seymour.
1979
1980         * Misc.subproj/WebKitLogging.h:
1981         * Misc.subproj/WebKitLogging.m:
1982         Added debug logging.
1983
1984         * WebCoreSupport.subproj/WebTextRenderer.m:
1985         (_drawGlyphs): Checkin for 3398229 below.
1986
1987         * WebView.subproj/WebPreferences.m:
1988         (-[WebPreferences initWithIdentifier:]):
1989         (-[WebPreferences initWithCoder:]):
1990         (-[WebPreferences encodeWithCoder:]):
1991         (+[WebPreferences standardPreferences]):
1992         (+[WebPreferences _getInstanceForIdentifier:]):
1993         (+[WebPreferences _setInstance:forIdentifier:]):
1994         (+[WebPreferences _concatenateKeyWithIBCreatorID:]):
1995         * WebView.subproj/WebView.m:
1996         (-[WebView _commonInitializationWithFrameName:groupName:]):
1997         (-[WebView initWithCoder:]):
1998         (-[WebView encodeWithCoder:]):
1999
2000 2003-08-27  Richard Williamson   <rjw@apple.com>
2001
2002         Fixed 3398229.  When we request a font from NSFont by name we should use a case specific name.  We do case insensitve comparsion, but once a match is found we should use the actual font name, not the requested name.  Two layout tests are still failing, but I don't think the failures are font related.
2003
2004         Reviewed by Hyatt.
2005
2006         * WebCoreSupport.subproj/WebTextRendererFactory.m:
2007         (-[WebTextRendererFactory fontWithFamily:traits:size:]):
2008
2009 === Safari-95 ===
2010
2011 2003-08-27  Richard Williamson   <rjw@apple.com>
2012
2013         Fixed 3397235.  WebView wasn't archiving useBackForwardList.
2014
2015         Reviewed by Eric Seymour.
2016
2017         * WebView.subproj/WebView.m:
2018         (-[WebView initWithCoder:]):
2019         (-[WebView encodeWithCoder:]):
2020
2021 2003-08-26  Richard Williamson   <rjw@apple.com>
2022
2023         Fixed 3385478.  Look for an exact match for font names (using PS names) before matching on family names.
2024
2025         Also added logging to help debug now resolved binding problem.
2026
2027         Reviewed by Maciej.
2028
2029         * Misc.subproj/WebKitLogging.h:
2030         * Misc.subproj/WebKitLogging.m:
2031         * WebCoreSupport.subproj/WebTextRendererFactory.m:
2032         (-[WebTextRendererFactory fontWithFamily:traits:size:]):
2033         * WebView.subproj/WebView.m:
2034         (-[WebView addObserver:forKeyPath:options:context:]):
2035         (-[WebView removeObserver:forKeyPath:]):
2036
2037 2003-08-26  Darin Adler  <darin@apple.com>
2038
2039         Reviewed by Maciej.
2040
2041         - fixed 3310943 -- REGRESSION (Panther): textareas in forms sometimes draw blank (bugreporter)
2042
2043         There are two fixes here. The more elegant and slightly faster one that requires a new AppKit,
2044         and the less elegant one that works without AppKit support. By including both we don't have to
2045         worry about timing of submission of WebKit vs. AppKit but we get the good, elegant fix. Later,
2046         we can delete the less elegant fix.
2047
2048         * WebView.subproj/WebClipView.m:
2049         (+[WebClipView initialize]): Set up a boolean global so we only hav to do the "does AppKit support
2050         _focusRingVisibleRect" check one time.
2051         (-[WebClipView resetAdditionalClip]): Only do the renewGState thing if we don't have the
2052         _focusRingVisibleRect method, but if we do the renewGState thing, do it to self and all descendants
2053         using _web_renewGStateDeep.
2054         (-[WebClipView setAdditionalClip:]): Ditto.
2055         (-[WebClipView visibleRect]): Only limit this based on the additional clip if we don't have the
2056         _focusRingVisibleRect method.
2057         (-[WebClipView _focusRingVisibleRect]): Override the new method. Harmless if it's an old AppKit
2058         that doesn't have the method yet.
2059         (-[NSView _web_renewGStateDeep]): Implemented this helper method. We can get rid of it once we
2060         are entirely on the new AppKit.
2061
2062 2003-08-26  Darin Adler  <darin@apple.com>
2063
2064         Reviewed by Maciej.
2065
2066         - fixed 3321247 -- window size box disappears from Help window (caused by WebKit NSView hackery)
2067
2068         * WebView.subproj/WebHTMLViewPrivate.m:
2069         (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]),
2070         (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]):
2071         Don't propagate dirty rects at all. This was causing problems because now the AppKit uses
2072         dirty regions, not dirty rects. In AppKit-722 and newer, _setDrawsDescendants: takes care of this
2073         for us so we don't have to do anything at all.
2074
2075 2003-08-26  Darin Adler  <darin@apple.com>
2076
2077         Reviewed by John.
2078
2079         - fixed 3392650 -- REGRESSION?: assertion fails trying Apple-hosted page load test while not on Apple network
2080
2081         * WebView.subproj/WebFramePrivate.m: (-[WebFrame _isLoadComplete]):
2082         Stop loading the provisional data source before blowing it away, in case
2083         there are some callbacks that haven't occurred yet. It's a waste of time to
2084         try to handle those additional callbacks, and can lead to failed assertions
2085         since the data source won't be hooked up to any frame any more.
2086
2087 2003-08-25  Richard Williamson   <rjw@apple.com>
2088
2089         Fix for 3391609.  Our rounding hack wasn't correctly reflected in the selection point
2090         code.  Piggy-backed on this fix are fixes for selection of letter-spacing, word-spacing
2091         and justified text.
2092
2093         Reviewed by Hyatt.
2094
2095         * WebCoreSupport.subproj/WebTextRenderer.m:
2096         (initializeCharacterWidthIterator):
2097         (widthAndGlyphForSurrogate):
2098         (widthForNextCharacter):
2099         (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
2100
2101 2003-08-25  John Sullivan  <sullivan@apple.com>
2102
2103         - fixed 3391264 -- REGRESSION (Panther): Back/Forward buttons not
2104         updating immediately after page load
2105
2106         The buttons are updated in response to window update notifications.
2107         Jaguar was sending so many extra bogus notifications that it
2108         masked the fact that we weren't ensuring that these notifications
2109         were sent at all in the case of non-event-based interesting
2110         changes that might affect menu items/toolbar items/etc.
2111
2112         Reviewed by Richard
2113
2114         * WebView.subproj/WebViewPrivate.m:
2115         (-[WebView _didStartProvisionalLoadForFrame:]):
2116         call -[NSApp setWindowsNeedUpdate:YES] so window update notices
2117         will be sent
2118         (-[WebView _didCommitLoadForFrame:]):
2119         ditto
2120         (-[WebView _didFinishLoadForFrame:]):
2121         ditto
2122         (-[WebView _didFailLoadWithError:forFrame:]):
2123         ditto
2124         (-[WebView _didFailProvisionalLoadWithError:forFrame:]):
2125         ditto
2126
2127 2003-08-24  Darin Adler  <darin@apple.com>
2128
2129         Reviewed by John.
2130
2131         - fixed 3382179 -- REGRESSION: many images scroll down while loading (e.g., homepage.mac.com slide show)
2132
2133         * WebCoreSupport.subproj/WebImageRenderer.m:
2134         (-[WebImageRenderer drawClippedToValidInRect:fromRect:]): While loading, always draw one less line than
2135         the number NSImage says we have, since that last line is a partial line and draws unwanted white. This
2136         is not what the bug report complains about, but is a longstanding and very minor issue. Remove the code
2137         that adjust the Y origin. This is what the bug report is about. That adjustment is incorrect and was
2138         unknowingly compensating for some kind of NSImage bug that is now fixed.
2139         (-[WebImageRenderer tileInRect:fromPoint:]): Added an assertion that the WebImageRenderer is flipped.
2140         The code does assume that it's flipped.
2141
2142 2003-08-22  John Sullivan  <sullivan@apple.com>
2143         
2144         - fixed 3385837 -- REGRESSION: can't paste link from Safari into 
2145         Keynote (paste at top level, not into text)
2146
2147         Reviewed by Darin
2148
2149         The problem was that we were using a single list of pasteboard
2150         types for both "types we can read" and "types we can write", but
2151         NSFilenamesPBoardType wasn't being written to, creating a bad
2152         pasteboard. The fix is to split this list in two. We could do
2153         this a little more elegantly if we weren't paranoid about 
2154         last-minute SPI changes breaking compatibility with Sherlock or
2155         some other internal client.
2156
2157         * Misc.subproj/WebNSPasteboardExtras.h:
2158         add new _web_writableDragTypesForURL, commented various methods
2159         better.
2160
2161         * Misc.subproj/WebNSPasteboardExtras.m:
2162         (+[NSPasteboard _web_writableDragTypesForURL]):
2163         implement _web_writableDragTypesForURL; it's just like
2164         _web_dragTypesForURL but without the NSFilenamesPBoardType
2165         (-[NSPasteboard _web_writeURL:andTitle:withOwner:]):
2166         use _web_writableDragTypesForURL
2167
2168         * Misc.subproj/WebNSViewExtras.m:
2169         (-[NSView _web_dragPromisedImage:rect:URL:title:event:]):
2170         use _web_writableDragTypesForURL
2171
2172 2003-08-22  Darin Adler  <darin@apple.com>
2173
2174         Reviewed by Dave.
2175
2176         - fixed 3386051 -- REGRESSION: text "too dark" after the page is deactivated and reactivated (bugweb)
2177
2178         Cached clips were causing us to draw nothing for the top frames of framesets, resulting in darkened
2179         text because we draw anti-aliased text twice without drawing a background.
2180
2181         * WebView.subproj/WebClipView.m:
2182         (-[WebClipView resetAdditionalClip]): Invalidate cached graphics state when changing the visible rect.
2183         (-[WebClipView setAdditionalClip:]): Ditto.
2184
2185 2003-08-21  Darin Adler  <darin@apple.com>
2186
2187         * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _setPrinting:pageWidth:adjustViewSize:]):
2188         Tweak to printing fix: Be sure to call adjustViewSize after applying styles and doing layout.
2189
2190 2003-08-21  Richard Williamson   <rjw@apple.com>
2191
2192         Fixed 3378810.  Avoid resizing frame from drawRect: when printing.  This will corrupt the graphics context.
2193
2194         Reviewed by Hyatt.
2195
2196         * WebView.subproj/WebHTMLView.m:
2197         (-[WebHTMLView layoutToPageWidth:]):
2198         (-[WebHTMLView drawRect:]):
2199         (-[WebHTMLView _setPrinting:pageWidth:adjustViewSize:]):
2200         (-[WebHTMLView beginDocument]):
2201         (-[WebHTMLView endDocument]):
2202
2203 === Safari-94 ===
2204
2205 2003-08-21  John Sullivan  <sullivan@apple.com>
2206
2207         - fixed 3387950 -- REGRESSION (85-89): Standalone image in Safari prints much 
2208         smaller than in Jaguar
2209
2210         Reviewed by Chris.
2211
2212         * WebView.subproj/WebImageView.m:
2213         (-[WebImageView adjustFrameSize]):
2214         renamed from setFrameSizeUsingImage; now sets the frame size to exactly
2215         the image size (as it did in Jaguar always) when we're not drawing to
2216         the screen.
2217         (-[WebImageView setFrameSize:]):
2218         updated for name change
2219         (-[WebImageView layout]):
2220         ditto
2221         (-[WebImageView beginDocument]):
2222         adjust frame size (before printing)
2223         (-[WebImageView endDocument]):
2224         adjust frame size (after printing)
2225
2226 2003-08-19  Richard Williamson   <rjw@apple.com>
2227
2228         Fixed 3383623 (and 3384896).  Remove our unbeknownst work-around for an NSImage bug that incorrectly flipped y coordinate when drawing a partial rect within the image.  This has been fixed in Panther, making our work-around no longer necessary.
2229
2230         Reviewed by Darin.
2231
2232         * WebCoreSupport.subproj/WebImageRenderer.m:
2233         (-[WebImageRenderer tileInRect:fromPoint:]):
2234         * WebKit.pbproj/project.pbxproj:
2235
2236 2003-08-18  Richard Williamson  <rjw@apple.com>
2237
2238         Fixed 3140065.  Bidi neutrals in RTL runs are now handled correctly.  Still have
2239         problem with bidi neutrals at directional boundaries 3382926.
2240
2241         Reviewed by Maciej.
2242
2243         * Misc.subproj/WebUnicode.h:
2244         * Misc.subproj/WebUnicode.m:
2245         (shapedString):
2246         * WebCoreSupport.subproj/WebTextRenderer.m:
2247         (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
2248
2249 2003-08-18  Darin Adler  <darin@apple.com>
2250
2251         Reviewed by Maciej.
2252
2253         - fixed 3299893 -- oncontextmenu support
2254
2255         * WebView.subproj/WebHTMLView.m:
2256         (-[WebHTMLView menuForEvent:]): Call sendContextMenuEvent: on the bridge, and
2257         don't show a menu if the event is handled over in WebCore.
2258         (-[WebHTMLView mouseDown:]): Don't send a mouse down event in the case where we
2259         already sent a context menu event and decided not to put up a real context menu.
2260
2261 2003-08-18  Richard Williamson  <rjw@apple.com>
2262
2263         Fix build problem from last checkin.
2264
2265         Reviewed by Darin.
2266
2267         * WebCoreSupport.subproj/WebImageRenderer.m:
2268         (-[WebImageRenderer initWithData:MIMEType:]):
2269         (-[WebImageRenderer initWithContentsOfFile:]):
2270
2271 2003-08-17  Darin Adler  <darin@apple.com>
2272
2273         Reviewed by Maciej.
2274
2275         - fixed 3376522 -- REGRESSION: uncaught exception from bad .ico causes crash (login window at 34sp.com)
2276
2277         I added exception handling in all the places we load images with NSImage.
2278
2279         * Misc.subproj/WebIconDatabase.m:
2280         (-[WebIconDatabase _iconsForIconURLString:]): Add exception handler.
2281         * Misc.subproj/WebIconLoader.m:
2282         (-[WebIconLoader connectionDidFinishLoading:]): Add exception handler.
2283         * WebCoreSupport.subproj/WebImageRenderer.m:
2284         (-[WebImageRenderer initWithData:MIMEType:]): Add exception handler.
2285         (-[WebImageRenderer initWithContentsOfFile:]): Add exception handler.
2286         (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]): Add exception handler.
2287
2288 2003-08-15  Richard Williamson  <rjw@apple.com>
2289
2290         Fixed 3378530.  Ensure that line is always drawn within bounds
2291         of element.
2292
2293         Reviewed by Chris.
2294
2295         * WebCoreSupport.subproj/WebTextRenderer.m:
2296         (-[WebTextRenderer drawLineForCharacters:yOffset:withWidth:withColor:]):
2297
2298 2003-08-15  Richard Williamson  <rjw@apple.com>
2299
2300         Fixed 3379439.  Remove checks for CG symbols.  No longer needed.
2301
2302         Reviewed by Darin.
2303
2304         * WebCoreSupport.subproj/WebTextRendererFactory.m:
2305         (+[WebTextRendererFactory createSharedFactory]):
2306
2307 === Safari-93 ===
2308
2309 2003-08-14  Vicki Murley  <vicki@apple.com>
2310
2311         Reviewed by John. 
2312
2313         * WebKit.pbproj/project.pbxproj: deleted WebKit.order from the project.
2314
2315 2003-08-14  Vicki Murley  <vicki@apple.com>
2316
2317         Reviewed by John. 
2318
2319         * WebKit.order: Removed. We now point to the WebKit order file in /AppleInternal/OrderFiles.
2320         * WebKit.pbproj/project.pbxproj: set sectorder flag to point to /AppleInternal/OrderFiles/WebKit.order
2321
2322 2003-08-14  Darin Adler  <darin@apple.com>
2323
2324         Reviewed by Chris.
2325
2326         - fixed 3344259 -- flipped image when copying from Safari in 1000s of colors mode
2327
2328         The workaround is to turn off the NSImage cache. Andrew says this won't have any
2329         practical repercussions other than making the bug go away.
2330         
2331         Seems to have a side effect of speeding up the cvs-base page load test!
2332
2333         * WebCoreSupport.subproj/WebImageRenderer.m:
2334         (-[WebImageRenderer initWithMIMEType:]): Set mode to NSImageCacheNever.
2335         (-[WebImageRenderer initWithData:MIMEType:]): Ditto.
2336         (-[WebImageRenderer initWithContentsOfFile:]): Ditto.
2337         (-[WebImageRenderer _adjustSizeToPixelDimensions]): Don't set mode to NSImageCacheDefault.
2338
2339 2003-08-14  Ken Kocienda  <kocienda@apple.com>
2340
2341         Reviewed by Darin
2342
2343         Fix for this bug:
2344
2345         <rdar://problem/3375042>: Change usages of NSURL absoluteString in WebKit 
2346         to use improved variants
2347
2348         * History.subproj/WebHistoryItem.m:
2349         (-[WebHistoryItem initWithURL:title:]): Use data-as-string.
2350         (-[WebHistoryItem initWithURL:target:parent:title:]): Use data-as-string.
2351         (-[WebHistoryItem setURL:]): Use data-as-string.
2352         * History.subproj/WebHistoryPrivate.m:
2353         (-[WebHistoryPrivate addItem:]): Remove FIX_VISITED ifdef
2354         (-[WebHistoryPrivate removeItem:]): Ditto
2355         (-[WebHistoryPrivate containsURL:]): Ditto. Use data-as-string.
2356         (-[WebHistoryPrivate itemForURL:]): Ditto. Ditto.
2357         (-[WebHistoryPrivate loadFromURL:error:]): Fix log message to URL.
2358         (-[WebHistoryPrivate _saveHistoryGuts:URL:error:]): Ditto.
2359         (-[WebHistoryPrivate saveToURL:error:]): Ditto.
2360         * History.subproj/WebURLsWithTitles.m:
2361         (+[WebURLsWithTitles writeURLs:andTitles:toPasteboard:]): Use visible-string.
2362         * Misc.subproj/WebIconLoader.m:
2363         (-[WebIconLoader connectionDidFinishLoading:]): Use data-as-string.
2364         * Misc.subproj/WebKitErrors.m:
2365         (+[NSError _webKitErrorWithDomain:code:URL:]): Added new convenience that takes
2366         a URL instead of a URL string.
2367         (-[NSError _initWithPluginErrorCode:contentURL:pluginPageURL:pluginName:MIMEType:]):
2368         Added new convenience that takes URLs instead of a URL stringis.
2369         * Misc.subproj/WebKitErrorsPrivate.h: Declared new conveniences.
2370         * Misc.subproj/WebNSPasteboardExtras.m:
2371         (-[NSPasteboard _web_writeURL:andTitle:withOwner:types:]): Use visible-string.
2372         * Misc.subproj/WebNSURLExtras.h:
2373         * Misc.subproj/WebNSURLExtras.m:
2374         (-[NSURL _web_originalDataAsString]): Added.
2375         (-[NSURL _webkit_isJavaScriptURL]): Use data-as-string.
2376         (-[NSURL _webkit_scriptIfJavaScriptURL]): Ditto
2377         (-[NSURL _webkit_isFTPDirectoryURL]): Ditto
2378         (-[NSURL _webkit_shouldLoadAsEmptyDocument]): Ditto. Also use _web_isEmpty.
2379         * Plugins.subproj/WebBaseNetscapePluginView.m:
2380         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): Use data-as-string.
2381         * Plugins.subproj/WebNetscapePluginDocumentView.m:
2382         (-[WebNetscapePluginDocumentView setDataSource:]): Use new error convenience.
2383         * Plugins.subproj/WebNetscapePluginStream.m:
2384         (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): Ditto.
2385         * WebCoreSupport.subproj/WebBridge.m:
2386         (-[WebBridge requestedURLString]): Use data-as-string.
2387         * WebCoreSupport.subproj/WebSubresourceClient.m:
2388         (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]): Use new error convenience.
2389         * WebView.subproj/WebBaseResourceHandleDelegate.m:
2390         (-[WebBaseResourceHandleDelegate cancelledError]): Ditto.
2391         * WebView.subproj/WebDataProtocol.m:
2392         (-[WebDataProtocol startLoading]): Ditto.
2393         * WebView.subproj/WebDataSourcePrivate.m:
2394         (-[WebDataSource _stopLoadingInternal]): Ditto.
2395         (-[WebDataSource _updateIconDatabaseWithURL:]): Use data-as-string.
2396         (-[WebDataSource _loadIcon]): Ditto.
2397         * WebView.subproj/WebFramePrivate.m:
2398         (-[WebFrame _createItem:]): Use data-as-string.
2399         (-[WebFrame _transitionToCommitted:]): Fix log message to use URL.
2400         (-[WebFrame _purgePageCache]): Use _web_isEmpty
2401         (-[WebFrame _setState:]): Fix log message to use URL.
2402         (-[WebFrame _handleUnimplementablePolicyWithErrorCode:forURL:]): Use new error convenience.
2403         (-[WebFrame _loadItem:withLoadType:]): Fix log message to use URL.
2404         (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]):
2405         (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): Fix log messages to use URL.
2406         (-[WebFrame _shouldTreatURLAsSameAsCurrent:]): Use data-as-string.
2407         * WebView.subproj/WebHTMLViewPrivate.m:
2408         (-[WebHTMLView _dragImageForLinkElement:]): Use visible-string.
2409         * WebView.subproj/WebMainResourceClient.m:
2410         (-[WebMainResourceClient interruptForPolicyChangeError]): Use new error convenience.
2411         * WebView.subproj/WebPreferences.m:
2412         (-[WebPreferences setUserStyleSheetLocation:]): Use data-as-string.
2413         * WebView.subproj/WebView.m:
2414         (-[WebView mainFrameURL]): Use data-as-string.
2415         (-[WebView mainFrameIcon]): Use data-as-string.
2416         * WebView.subproj/WebViewPrivate.m:
2417         (-[WebView _updateWebCoreSettingsFromPreferences:]): Use data-as-string.
2418
2419 2003-08-12  Maciej Stachowiak  <mjs@apple.com>
2420
2421         Reviewed by Ken.
2422
2423         - fixed 3365242 - non-repro abort in HTMLTokenizer at ajc.com
2424         
2425         * WebView.subproj/WebDataSourcePrivate.m:
2426         (-[WebDataSource _receivedData:]): ref the data source around
2427         processing the data and afterwards, to avoid crashing if a script
2428         in this chunk of data made the frame go away.
2429
2430 2003-08-13  Richard Williamson   <rjw@apple.com>
2431
2432         Fixed 3376077.  Override automaticallyNotifiesObserversForKey: to
2433         prevent unnecessary additional notifications from being sent.  Also
2434         added development-only logging (bulk of the change).
2435
2436         Reviewed by Chris.
2437
2438         * Misc.subproj/WebKitLogging.h:
2439         * Misc.subproj/WebKitLogging.m:
2440         * WebView.subproj/WebDataSourcePrivate.m:
2441         (-[WebDataSource _setTitle:]):
2442         (-[WebDataSource _updateIconDatabaseWithURL:]):
2443         * WebView.subproj/WebViewPrivate.h:
2444         * WebView.subproj/WebViewPrivate.m:
2445         (-[WebView _didChangeValueForKey:]):
2446         (-[WebView _willChangeValueForKey:]):
2447         (-[WebView _progressStarted]):
2448         (-[WebView _progressCompleted]):
2449         (-[WebView _incrementProgressForConnection:data:]):
2450         (+[WebView automaticallyNotifiesObserversForKey:]):
2451         (-[WebView _willChangeBackForwardKeys]):
2452         (-[WebView _didChangeBackForwardKeys]):
2453         (-[WebView _didStartProvisionalLoadForFrame:]):
2454         (-[WebView _didCommitLoadForFrame:]):
2455         (-[WebView _didFinishLoadForFrame:]):
2456         (-[WebView _didFailLoadWithError:forFrame:]):
2457         (-[WebView _didFailProvisionalLoadWithError:forFrame:]):
2458
2459 2003-08-13  Chris Blumenberg  <cblu@apple.com>
2460
2461         Fixed: <rdar://problem/3347134>: After first successful POST in Flash, Safari does not repeat POST and gives cached reply
2462
2463         Reviewed by kocienda.
2464
2465         * Plugins.subproj/WebBaseNetscapePluginView.m:
2466         (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]): call [request setCachePolicy:NSURLRequestReloadIgnoringCacheData]
2467
2468 2003-08-13  Ken Kocienda  <kocienda@apple.com>
2469
2470         Reviewed by Darin
2471
2472         Fix for this bug:
2473
2474         <rdar://problem/3366441>: URL strings with UTF-8 characters 
2475         processed improperly for display by WebKit
2476
2477         * Misc.subproj/WebNSURLExtras.h:
2478         * Misc.subproj/WebNSURLExtras.m:
2479         (isHexDigit): Added
2480         (hexDigitValue): Added
2481         (-[NSURL _web_userVisibleString]): Added. Produces a string that
2482         is suitable for display to a user in the UI.
2483         (-[NSURL _web_isEmpty]): Convenience to check for an empty URL
2484         * WebCoreSupport.subproj/WebBridge.m:
2485         (-[WebBridge requestedURLString]): Now calls _web_userVisibleString
2486
2487 2003-08-13  Ken Kocienda  <kocienda@apple.com>
2488
2489         Reviewed by Darin
2490
2491         Fix for this bug:
2492
2493         <rdar://problem/3374458>: Choose UTF-8 for encoding when calling 
2494         CFURLCreateAbsoluteURLWithBytes in WebKit
2495
2496         Calling CFURLCreateAbsoluteURLWithBytes with ISO Latin 1 string
2497         encoding results in some issues when trying to decode a URL path in
2498         preparation for doing file I/O. Instead of doing a redecoding step
2499         whenever a path is needed to perform I/O, use UTF-8 as the encoding
2500         right from the start. This will mean that illegal UTF-8 sequences will
2501         be rejected by CFURLCreateAbsoluteURLWithBytes. However, we can work
2502         around this by falling back on ISO Latin1 in this case. The end result
2503         is that existing code throughout the URL loading system can remain
2504         unchanged and simply call the path method on NSURL as it does now and
2505         get the right result for its I/O requirements.
2506
2507         * Misc.subproj/WebNSURLExtras.m:
2508         (+[NSURL _web_URLWithData:relativeToURL:])
2509
2510 2003-08-13  Ken Kocienda  <kocienda@apple.com>
2511
2512         Reviewed by Darin
2513
2514         Fix for this bug:
2515
2516         <rdar://problem/3374487>: URLs with UTF-8 escape sequences can't be accessed         
2517         when typed in the Safari location bar
2518
2519         * Misc.subproj/WebNSPasteboardExtras.m:
2520         (-[NSPasteboard _web_bestURL]): Call _web_URLWithUserTypedString: to make a
2521         URL from this type of string.
2522         * Misc.subproj/WebNSURLExtras.h:
2523         * Misc.subproj/WebNSURLExtras.m:
2524         (hexDigit): Added.
2525         (+[NSURL _web_URLWithUserTypedString:]): Added. Creates a URL from a string
2526         that is typed in a user, for example, in the Safari location bar.
2527
2528 2003-08-12  John Sullivan  <sullivan@apple.com>
2529
2530         - fixed 3369505 -- leaks of NSCFTimer after running through the 
2531         cvs-base test suite
2532
2533         Reviewed by Richard
2534
2535         * WebView.subproj/WebFrame.m:
2536         (-[WebFrame stopLoading]):
2537         release timer before nil'ing it out
2538
2539 2003-08-12  Ed Voas  <voas@apple.com>
2540
2541         Reviewed by Richard.
2542
2543                 Make sure to override the standard behavior for ordering windows to do nothing for Carbon stuff.
2544
2545         * Carbon.subproj/CarbonWindowAdapter.m:
2546         (-[CarbonWindowAdapter _reallyDoOrderWindow:relativeTo:findKey:forCounter:force:isModal:]):
2547
2548 2003-08-11  Chris Blumenberg  <cblu@apple.com>
2549
2550         Fixed: <rdar://problem/3163589>: Macromedia Flash 6 cannot take Asian text entry in Safari
2551
2552         Revidewed by darin.
2553
2554         * Plugins.subproj/WebBaseNetscapePluginView.m:
2555         (-[WebBaseNetscapePluginView installKeyEventHandler]): new
2556         (-[WebBaseNetscapePluginView removeKeyEventHandler]): new
2557         (-[WebBaseNetscapePluginView becomeFirstResponder]): call installKeyEventHandler
2558         (-[WebBaseNetscapePluginView resignFirstResponder]): call removeKeyEventHandler
2559         (-[WebBaseNetscapePluginView keyUp:]): call TSMProcessRawKeyEvent so key events go through the machinery and UI that plug-ins expect
2560         (-[WebBaseNetscapePluginView keyDown:]): call TSMProcessRawKeyEvent so key events go through the machinery and UI that plug-ins expect
2561         (TSMEventHandler): turn the TSM event into a series of EventRecords and pass them to the plug-in
2562         (-[WebBaseNetscapePluginView stop]): call removeKeyEventHandler because resignFirstResponder may not get called
2563
2564 2003-08-08  Richard Williamson  <rjw@apple.com>
2565         
2566         Lots of healthy cleanup.  Introduced width and shaping iterators
2567         to simplify code and remove allocations for large text runs.  Should
2568         go further and make more use of these in the future (post panther).
2569
2570         Fixed 3369608.  Crash in -[WebTextRenderer _CG_drawRun:style:atPoint:] at lovepucca.net
2571         Fixed 3118050.  Crash selecting text at http://www.faqs.org/rfcs/rfc2849.html (SELECTION)
2572         Fixed 3371115.  Can't correctly select text that contains surrogate pairs
2573
2574         Reviewed by darin.
2575
2576         * Misc.subproj/WebUnicode.h:
2577         * Misc.subproj/WebUnicode.m:
2578         (prevChar):
2579         (nextChar):
2580         (prevLogicalCharJoins):
2581         (nextLogicalCharJoins):
2582         (glyphVariantLogical):
2583         (hasShapeForNextCharacter):
2584         (shapeForNextCharacter):
2585         (initializeCharacterShapeIterator):
2586         (shapedString):
2587         * WebCoreSupport.subproj/WebTextRenderer.h:
2588         * WebCoreSupport.subproj/WebTextRenderer.m:
2589         (initializeCharacterWidthIterator):
2590         (widthAndGlyphForSurrogate):
2591         (widthForNextCharacter):
2592         (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
2593         (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:]):
2594
2595         Just formatting changed here
2596         * WebView.subproj/WebHTMLViewPrivate.m:
2597         (-[WebHTMLView _dragImageForLinkElement:]):
2598
2599 2003-08-08  Darin Adler  <darin@apple.com>
2600
2601         Reviewed by Maciej.
2602
2603         - fixed 3368236 -- NSURL exception going back at http://derstandard.at/
2604
2605         * WebView.subproj/WebFramePrivate.m: (-[WebFrame _createItem:]): Put "about:blank" in
2606         the back/forward item if there is no URL (which happens because there is no data source
2607         because the frame has never successfully loaded anything). Perhaps we can do better
2608         some day, but this avoids all the major bad effects in a safe way.
2609
2610         * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
2611
2612 === Safari-92 ===
2613
2614 2003-08-07  Richard Williamson   <rjw@apple.com>
2615
2616         Fixed 3362939.  Checked flippyness of view and adjust y coord accordingly.
2617
2618         Reviewed by John.
2619
2620         * Misc.subproj/WebKitNSStringExtras.m:
2621
2622 2003-08-07  Chris Blumenberg  <cblu@apple.com>
2623
2624         Fixed: <rdar://problem/3330742>: 1.0 Safari fails to send NPP_URLNotify with the error of NPRES_NETWORK_ERR to Flash
2625
2626         Reviewed by darin.
2627
2628         * Plugins.subproj/WebBaseNetscapePluginStream.m:
2629         (-[WebBaseNetscapePluginStream destroyStreamWithReason:]): call NPP_URLNotify so we cover both the failure and successful cases
2630         (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): have destroyStreamWithReason call NPP_URLNotify
2631
2632 2003-08-07  Ken Kocienda  <kocienda@apple.com>
2633
2634         Reviewed by Darin
2635         
2636         Fix for this bug:
2637
2638         <rdar://problem/3368552>: Fix inappropriate use of NSURL creation methods in WebKit
2639
2640         Change calls to URLWithString: or URLWithString:relativeToURL to
2641         _web_URLWithDataAsString: and _web_URLWithDataAsString:relativeToURL,
2642         respectively.
2643
2644         * WebView.subproj/WebFramePrivate.m:
2645         (-[WebFrame _loadItem:withLoadType:]):
2646         (-[WebFrame _loadURL:intoChild:]):
2647         * WebView.subproj/WebPreferences.m:
2648         (-[WebPreferences userStyleSheetLocation]):
2649         * WebView.subproj/WebView.m:
2650         (-[WebView takeStringURLFrom:]):
2651         (-[WebView setMainFrameURL:]):
2652
2653 2003-08-06  Darin Adler  <darin@apple.com>
2654
2655         Reviewed by Richard.
2656
2657         - fixed 3347114 -- remove vestiges of posing, including init routine, from WebKit
2658
2659         * WebView.subproj/WebHTMLViewPrivate.m: Removed WebNSTextView, WebNSView, and WebNSWindow,
2660         removed the code to have them pose as NSTextView, NSView, and NSWindow, and removed excess
2661         imports that are no longer needed.
2662
2663 2003-08-06  Richard Williamson   <rjw@apple.com>
2664
2665         Fixed 3365378.  Edge case text run > 1024 hit by JS generated string.  We weren't correctly checking size of string length.  Used /2 instead of *2.
2666
2667         Reviewed by Vicki (and Dan!).
2668
2669         * WebCoreSupport.subproj/WebTextRenderer.m:
2670         (-[WebTextRenderer _CG_drawHighlightForRun:style:atPoint:]):
2671         (-[WebTextRenderer _CG_drawRun:style:atPoint:]):
2672
2673 2003-08-06  Richard Williamson   <rjw@apple.com>
2674
2675         Fixed 3348630.  Pick up about 1% by moving implementation of _unicodeDirection to WebCore and inlining.
2676
2677         Reviewed by Ken.
2678
2679         * Misc.subproj/WebUnicode.h:
2680         * Misc.subproj/WebUnicode.m:
2681         (_unicodeDirection):
2682         (_unicodeJoining):
2683         (_unicodeMirrored):
2684         (WebKitInitializeUnicode):
2685         * Misc.subproj/WebUnicodeTables.m:
2686
2687 2003-08-06  Chris Blumenberg  <cblu@apple.com>
2688
2689         Fixed: <rdar://problem/3161102>: Avoid retain cycles by destroying plug-ins in the page cache before dealloc
2690
2691         Reviewed by rjw.
2692
2693         * History.subproj/WebHistoryItemPrivate.h: added declaration for [WebBackForwardList _clearPageCache]
2694         * WebView.subproj/WebViewPrivate.m:
2695         (-[WebView _close]): clear the page cache when we are closing the web view so we call destroy on all the plug-ins on the page cache to break any retain cycles.
2696
2697 2003-08-04  Chris Blumenberg  <cblu@apple.com>
2698
2699         Fixed: <rdar://problem/3106525>: Results of JavaScript requests are not returned to plug-ins
2700
2701         Reviewed by darin.
2702
2703         * Plugins.subproj/WebBaseNetscapePluginStream.h:
2704         * Plugins.subproj/WebBaseNetscapePluginStream.m:
2705         (-[WebBaseNetscapePluginStream setNotifyData:]): new
2706         (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]): renamed from setResponse
2707         (-[WebBaseNetscapePluginStream startStreamWithResponse:]): new
2708         (-[WebBaseNetscapePluginStream receivedData:]): tweak
2709         (-[WebBaseNetscapePluginStream destroyStreamWithReason:]): tweak
2710         (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): tweak
2711         * Plugins.subproj/WebBaseNetscapePluginView.m:
2712         (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:targetFrame:]): new
2713         (-[WebBaseNetscapePluginView loadPluginRequest:]): call evaluateJavaScriptPluginRequest::
2714         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): call loadPluginRequest for JS requests
2715         * Plugins.subproj/WebNetscapePluginRepresentation.m:
2716         (-[WebNetscapePluginRepresentation receivedData:withDataSource:]): call renamed startStreamWithResponse
2717         * Plugins.subproj/WebNetscapePluginStream.m:
2718         (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]): call setNotifyData
2719         (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): call renamed startStreamWithResponse
2720
2721 2003-08-05  Ken Kocienda  <kocienda@apple.com>
2722
2723         Reviewed by Richard
2724
2725         Plugins in WebKit need to store URLs in the form of "C-style" strings. 
2726         Create and use a new, improved method to make these strings, and do 
2727         not traverse through the NSURL absoluteString method, since that can i
2728         introduce errors.
2729
2730         * Misc.subproj/WebNSURLExtras.h: Added _web_URLCString method.
2731         * Misc.subproj/WebNSURLExtras.m:
2732         (-[NSURL _web_URLCString]): Added.
2733         * Plugins.subproj/WebBaseNetscapePluginStream.m:
2734         (-[WebBaseNetscapePluginStream setResponse:]): Call new _web_URLCString method.
2735         (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): Ditto.
2736         * Plugins.subproj/WebBaseNetscapePluginView.m:
2737         (-[WebBaseNetscapePluginView frameStateChanged:]): Ditto.
2738         (-[WebBaseNetscapePluginView loadPluginRequest:]): Ditto.
2739
2740 2003-08-05  Ken Kocienda  <kocienda@apple.com>
2741
2742         Reviewed by John
2743
2744         Fix for this bug:
2745
2746         <rdar://problem/3365035>: Modify WebNSURLExtras to call improved NSURL creation API
2747
2748         * Misc.subproj/WebNSURLExtras.m:
2749         (+[NSURL _web_URLWithDataAsString:]): Call through to _web_URLWithDataAsString:relativeToURL:.
2750         (+[NSURL _web_URLWithDataAsString:relativeToURL:]): Call through to _web_URLWithData:relativeToURL:.
2751         (+[NSURL _web_URLWithData:]): Ditto.
2752         (+[NSURL _web_URLWithData:relativeToURL:]): Call CFURLCreateAbsoluteURLWithBytes API in
2753         CoreFoundation.
2754         (-[NSURL _web_originalData]): Use CFURLGetBytes API in CoreFoundation. Also make sure
2755         that a relative URL is resolved against its base.
2756         (-[NSURL _web_displayableString]): Call _web_originalData to get bytes to use
2757         to create the string.
2758         (-[NSURL _web_URLStringLength]): Use CFURLGetBytes API in CoreFoundation.
2759
2760 2003-08-04  Richard Williamson  <rjw@apple.com>
2761
2762         Fixed 3363011.  Pass b/f related key down events to super if b/f is disabled.
2763
2764         Reviewed by Chris.
2765
2766         * WebView.subproj/WebFrameView.m:
2767         (-[WebFrameView keyDown:]):
2768
2769
2770         Fixed 3363345.  Retain static array used by IB to present WebView's bindable keys.
2771
2772         Review by Maciej
2773
2774         * WebView.subproj/WebViewPrivate.m:
2775         (-[WebView _declaredKeys]):
2776
2777 2003-08-04  Ken Kocienda  <kocienda@apple.com>
2778
2779         Reviewed by Darin
2780
2781         Fix for this bug:
2782
2783         <rdar://problem/3363318>: REGRESSION: Plug-in content doesn't show up, animate etc
2784
2785         WebNetscapePluginConnectionDelegate must implement this method:
2786
2787         - (void)connection:(NSURLConnection *)con didReceiveData:(NSData *)data lengthReceived:(long long)lengthReceived
2788
2789         * Plugins.subproj/WebNetscapePluginStream.m:
2790         (-[WebNetscapePluginConnectionDelegate connection:didReceiveData:lengthReceived:])
2791
2792 2003-08-04  Darin Adler  <darin@apple.com>
2793
2794         Reviewed by Richard.
2795
2796         - fixed 3298153 -- get "screen font while printing" error, bad stuff happens after that (Sherlock, Safari)
2797
2798         * WebView.subproj/WebHTMLView.m: (-[WebHTMLView drawRect:]):
2799         If we find ourselves in drawRect with the wrong printing mode, that usually
2800         means we're being printed as part of some larger print process, so do the
2801         layout in printing mode.
2802
2803 2003-08-04  Chris Blumenberg  <cblu@apple.com>
2804
2805         Fixed: <rdar://problem/3360977>: REGRESSION (7B28-7B29): main webview rejects drop of doc icon from BBEdit
2806
2807         Reviewed by darin.
2808
2809         * Misc.subproj/WebNSPasteboardExtras.m:
2810         (+[NSPasteboard _web_dragTypesForURL]): we handle NSFilenamesPboardType
2811         * WebKit.pbproj/project.pbxproj:
2812
2813 2003-08-04  Richard Williamson   <rjw@apple.com>
2814
2815         Fixed 3223989.  Pass key down events to super if scrolling is disabled.
2816
2817         Reviewed by Chris (Welcome back!).
2818
2819         * WebView.subproj/WebFrameView.m:
2820         (-[WebFrameView keyDown:]):
2821
2822 2003-08-01  Richard Williamson   <rjw@apple.com>
2823
2824         Fixed 3095376.  Implemented correct selection behavior for rtl scripts.
2825         We still use our Arabic and Hebrew layout scheme.
2826
2827         Fixed 3360487.  Implemented selection of ATSU rendered code.
2828
2829         Fixed 3360242.  Return nil from _bodyBackgroundColor when no 
2830         background color specified.  This was requested by Doug D.
2831
2832         Reviewed by Maciej.
2833
2834         * WebCoreSupport.subproj/WebTextRenderer.m:
2835         (-[WebTextRenderer drawHighlightForRun:style:atPoint:]):
2836         (-[WebTextRenderer _CG_drawHighlightForRun:style:atPoint:]):
2837         (-[WebTextRenderer drawRun:style:atPoint:]):
2838         (-[WebTextRenderer _CG_drawRun:style:atPoint:]):
2839         (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
2840         (-[WebTextRenderer _ATSU_drawHighlightForRun:style:atPoint:]):
2841         (-[WebTextRenderer _ATSU_drawRun:style:atPoint:]):
2842         (-[WebTextRenderer pointToOffset:style:position:reversed:]):
2843         (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:]):
2844         (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:]):
2845
2846 2003-08-01  Maciej Stachowiak  <mjs@apple.com>
2847
2848         Reviewed by Darin.
2849
2850         - fixed 3339255 - REGRESSION (73-85): javascript failure at gia.apple.com
2851
2852         * WebView.subproj/WebFramePrivate.m:
2853         (-[WebFrame _setState:]): When going to provisional state, tell the bridge that
2854         a provisional load started, so it can cancel any pending redirects.
2855
2856 === Safari-91 ===
2857
2858 2003-07-31  Richard Williamson   <rjw@apple.com>
2859
2860         Make sure width is initialized for monospace optimizations.
2861         Reviewed by Vicki.
2862
2863         * WebCoreSupport.subproj/WebTextRenderer.m:
2864         (-[WebTextRenderer checkSelectionPoint:style:position:reversed:]):
2865
2866 2003-07-31  Richard Williamson   <rjw@apple.com>
2867
2868         Fixed 3359152.  SPI to get the background color for a frame.
2869
2870         Reviewed by hyatt.
2871
2872         * WebCoreSupport.subproj/WebTextRenderer.m:
2873         (-[WebTextRenderer checkSelectionPoint:style:position:reversed:]):
2874         * WebView.subproj/WebFramePrivate.h:
2875         * WebView.subproj/WebFramePrivate.m:
2876         (-[WebFrame _bodyBackgroundColor]):
2877
2878 2003-07-31  Richard Williamson   <rjw@apple.com>
2879
2880         Fixed 3358870.  Fall back on 'user defaults' values when a value
2881         in a custom instance of WebPreferences hasn't been overriden.
2882
2883         Reviewed by Eric Seymour.
2884
2885         * WebView.subproj/WebPreferences.m:
2886         (-[WebPreferences _stringValueForKey:]):
2887         (-[WebPreferences _integerValueForKey:]):
2888         (-[WebPreferences _boolValueForKey:]):
2889
2890 2003-07-30  Richard Williamson   <rjw@apple.com>
2891
2892         Preparation for 3095376.
2893
2894         Reviewed by Maciej.
2895
2896         * Misc.subproj/WebKitNSStringExtras.m:
2897         (-[NSString _web_widthWithFont:]):
2898         * Misc.subproj/WebStringTruncator.m:
2899         (stringWidth):
2900         * WebCoreSupport.subproj/WebTextRenderer.m:
2901         (shouldUseATSU):
2902         (-[WebTextRenderer widthForCharacters:length:]):
2903         (-[WebTextRenderer drawRun:style:atPoint:]):
2904         (-[WebTextRenderer _CG_drawRun:style:atPoint:]):
2905         (-[WebTextRenderer floatWidthForCharacters:stringLength:characterPosition:]):
2906         (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:]):
2907         (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:widths:letterSpacing:wordSpacing:smallCaps:fontFamilies:]):
2908         (-[WebTextRenderer floatWidthForRun:style:widths:]):
2909         (-[WebTextRenderer _floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
2910         (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
2911         (-[WebTextRenderer _createATSUTextLayoutForRun:]):
2912         (-[WebTextRenderer _trapezoidForRun:style:atPoint:]):
2913         (-[WebTextRenderer _ATSU_floatWidthForRun:style:]):
2914         (-[WebTextRenderer _ATSU_drawRun:style:atPoint:]):
2915         (-[WebTextRenderer checkSelectionPoint:style:position:reversed:]):
2916
2917 2003-07-30  Richard Williamson   <rjw@apple.com>
2918
2919         Fixed 3356518.  Added private method called by IB to ensure
2920         that autoresizeSubviews flag is turned on correctly.
2921
2922         Reviewed by mjs.
2923
2924         * WebView.subproj/WebViewPrivate.m:
2925         (-[WebView _finishedMakingConnections]):
2926
2927 2003-07-28  Richard Williamson   <rjw@apple.com>
2928
2929         Fixed 3323866.  Provide SPI to IB to enable scoping of preferences
2930         values on a document-by-document basis.
2931
2932         Reviewed by Maciej.
2933
2934         * WebView.subproj/WebPreferences.m:
2935         (-[WebPreferencesPrivate dealloc]):
2936         (-[WebPreferences initWithIdentifier:]):
2937         (-[WebPreferences initWithCoder:]):
2938         (+[WebPreferences _userDefaultsKeysForIB]):
2939         (+[WebPreferences _setIBCreatorID:]):
2940         (+[WebPreferences _IBCreatorID]):
2941         (-[WebPreferences _concatenateKeyWithIBCreatorID:]):
2942         * WebView.subproj/WebPreferencesPrivate.h:
2943
2944 2003-07-28  Darin Adler  <darin@apple.com>
2945
2946         Reviewed by Maciej.
2947
2948         - fixed 3344647 -- reachedTerminalState assertion in WebBaseResourceHandleDelegate.m
2949
2950         * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient cancelWithError:]):
2951         Use [super cancelWithError:] rather than [self receivedError:]. I checked carefully to
2952         see that this code now does everything the old code did (and a bit more).
2953
2954 2003-07-28  Richard Williamson   <rjw@apple.com>
2955
2956         Fixed 3341859. 
2957         Check that the WebHTMLView is initialized in viewWillMoveToWindow: and
2958         viewDidMoveToWindow.  Don't do anything if we aren't initialized.  This
2959         happens when decoding a WebView.  When WebViews are decoded their subviews
2960         are created by initWithCoder: and so won't be normally initialized.  The 
2961         stub views are discarded by WebView.
2962
2963         Reviewed by John.
2964
2965         * WebView.subproj/WebHTMLView.m:
2966         (-[WebHTMLView viewWillMoveToWindow:]):
2967         (-[WebHTMLView viewDidMoveToWindow]):
2968
2969 2003-07-28  Darin Adler  <darin@apple.com>
2970
2971         Reviewed by John.
2972
2973         - fixed 3279864 -- remove class_poseAs calls from WebKit
2974
2975         * WebView.subproj/WebHTMLView.m: (-[WebHTMLView initWithFrame:]):
2976         Call _setDrawsOwnDescendants, if we have a new enough AppKit.
2977         * WebView.subproj/WebHTMLViewPrivate.m: (+[WebHTMLView load]):
2978         Don't pose as NSView, if we have a new enough AppKit.
2979
2980 2003-07-28  Ken Kocienda  <kocienda@apple.com>
2981
2982         Reviewed by John
2983
2984         Fix for this bug:
2985
2986         <rdar://problem/3336933>: REGRESSION (Panther): Mozilla build downloaded
2987         with wrong extension, bad file size (gzip)
2988
2989         Use new delegate methods that allow for the correct reporting
2990         of progress in cases where Foundation-level content decoding    
2991         has been performed on data received
2992
2993         * WebCoreSupport.subproj/WebSubresourceClient.m:
2994         (-[WebSubresourceClient connection:didReceiveData:lengthReceived:]):
2995         * WebView.subproj/WebBaseResourceHandleDelegate.m:
2996         (-[WebBaseResourceHandleDelegate connection:didReceiveData:]):
2997         (-[WebBaseResourceHandleDelegate connection:didReceiveData:lengthReceived:]):
2998         * WebView.subproj/WebMainResourceClient.m:
2999         (-[WebMainResourceClient connection:didReceiveData:lengthReceived:]):
3000
3001 2003-07-28  Darin Adler  <darin@apple.com>
3002
3003         Reviewed by Richard.
3004
3005         - fixed leak of WebDataRequestParameters objects
3006
3007         * WebView.subproj/WebDataProtocol.m:
3008         (-[NSMutableURLRequest _webDataRequestParametersForWriting]):
3009         Release the WebDataRequestParameters object after putting it in the dictionary.
3010
3011 2003-07-28  John Sullivan  <sullivan@apple.com>
3012
3013         - fixed 3236815 -- bitmap TIFFs at > 72 dpi are scaled incorrectly 
3014         in Safari when viewed standalone (uspto.gov)
3015
3016         Reviewed by Darin
3017
3018         * WebCoreSupport.subproj/WebImageRenderer.m:
3019         (-[WebImageRenderer _adjustSizeToPixelDimensions]):
3020         call setScalesWhenResized:YES
3021
3022 2003-07-25  Richard Williamson   <rjw@apple.com>
3023
3024         Fixed 3344519.  Prevent infinite recursion attempting font substitution.
3025
3026         Reviewed by Darin.
3027
3028         * WebCoreSupport.subproj/WebTextRenderer.m:
3029         (-[WebTextRenderer _floatWidthForRun:style:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
3030
3031 2003-07-25  Maciej Stachowiak  <mjs@apple.com>
3032
3033         Reviewed by John.
3034
3035         - fixed 3280582 - REGRESSION (74-85): authentication sheet doesn't state that previous login was incorrect
3036
3037         * Panels.subproj/WebAuthenticationPanel.m:
3038         (-[WebAuthenticationPanel setUpForChallenge:]): Use chall, the
3039         parameter, not challenge, the not-yet-set ivar so we get the right
3040         failure count &c.
3041
3042 2003-07-25  Richard Williamson   <rjw@apple.com>
3043
3044         Use 11 point bold, instead of 12 point bold to draw dragged link
3045         labels.  This matches the text drawn in the bookmarks bar.
3046
3047         Reviewed by John.
3048
3049         * WebView.subproj/WebHTMLViewPrivate.m:
3050         (-[WebHTMLView _dragImageForLinkElement:]):
3051
3052 2003-07-24  Richard Williamson   <rjw@apple.com>
3053
3054         Fixed 3279910.  Change the way we draw dragged link to use
3055         WebKit's measurement and drawing.  Also made the look match
3056         the bookmarks bar text.
3057
3058         Reviewed by Maciej.
3059
3060         * Misc.subproj/WebKitNSStringExtras.h:
3061         * Misc.subproj/WebKitNSStringExtras.m:
3062         (-[NSString _web_drawDoubledAtPoint:withTopColor:bottomColor:font:]):
3063         * WebView.subproj/WebHTMLViewPrivate.h:
3064         * WebView.subproj/WebHTMLViewPrivate.m:
3065         (-[WebHTMLView _dragImageForLinkElement:]):
3066         (-[WebHTMLView _handleMouseDragged:]):
3067
3068 2003-07-24  Richard Williamson   <rjw@apple.com>
3069
3070         Removed unnecessary log.
3071
3072         Reviewed by John.
3073
3074         * WebCoreSupport.subproj/WebImageRendererFactory.m:
3075         (-[WebImageRendererFactory imageRendererWithData:MIMEType:]):
3076         
3077         Add another check to use ATSU for Limbu (Unicode 4.0) script.
3078         Also made shouldUseATSU inline.
3079
3080         * WebCoreSupport.subproj/WebTextRenderer.m:
3081         (shouldUseATSU):
3082
3083 === Safari-90 ===
3084
3085 2003-07-23  Maciej Stachowiak  <mjs@apple.com>
3086
3087         Build breakage fix:
3088         
3089         Fix WebKit to build with the latest Foundation.
3090         
3091         * Misc.subproj/WebNSURLExtras.h:
3092         * Misc.subproj/WebNSURLExtras.m:
3093         (-[NSURL _webkit_isJavaScriptURL]):
3094         (-[NSURL _webkit_scriptIfJavaScriptURL]):
3095         (-[NSURL _webkit_isFTPDirectoryURL]):
3096         (-[NSString _webkit_isFTPDirectoryURL]):
3097
3098 2003-07-23  Richard Williamson   <rjw@apple.com>
3099
3100         Fixed 3311725:  Added support for key/value binding. 
3101         (As a side effect also made icon loading work!  In 1.0
3102         it doesn't work unless a secret preference value is set.)
3103
3104         Reviewed by Ken.
3105
3106         * Misc.subproj/WebIconDatabase.m:
3107         (-[WebIconDatabase _createFileDatabase]):
3108         * WebView.subproj/WebDataSourcePrivate.m:
3109         (-[WebDataSource _startLoading:]):
3110         (-[WebDataSource _setTitle:]):
3111         (-[WebDataSource _updateIconDatabaseWithURL:]):
3112         * WebView.subproj/WebFramePrivate.m:
3113         (-[WebFrame _transitionToCommitted:]):
3114         (-[WebFrame _isLoadComplete]):
3115         * WebView.subproj/WebView.m:
3116         (-[WebView setMainFrameURL:]):
3117         (-[WebView mainFrameURL]):
3118         (-[WebView isLoading]):
3119         (-[WebView mainFrameTitle]):
3120         (-[WebView mainFrameIcon]):
3121         * WebView.subproj/WebViewPrivate.h:
3122         * WebView.subproj/WebViewPrivate.m:
3123         (-[WebView _progressStarted]):
3124         (-[WebView _progressCompleted]):
3125         (-[WebView _incrementProgressForConnection:data:]):
3126         (-[WebView _completeProgressForConnection:]):
3127         (-[WebView _declaredKeys]):
3128         (-[WebView setObservationInfo:]):
3129         (-[WebView observationInfo]):
3130         (-[WebView _willChangeBackForwardKeys]):
3131         (-[WebView _didChangeBackForwardKeys]):
3132         (-[WebView _didStartProvisionalLoadForFrame:]):
3133         (-[WebView _didCommitLoadForFrame:]):
3134         (-[WebView _didFinishLoadForFrame:]):
3135         (-[WebView _didFailLoadWithError:forFrame:]):
3136         (-[WebView _didFailProvisionalLoadWithError:forFrame:]):
3137
3138 2003-07-23  Richard Williamson   <rjw@apple.com>
3139
3140         Fixed 3341119:  Crash when content contains nil (0x0) characters.
3141
3142         Reviewed by Ken.
3143
3144         * WebCoreSupport.subproj/WebTextRenderer.m:
3145         (-[WebTextRenderer _CG_drawRun:style:atPoint:]):
3146
3147 2003-07-23  Darin Adler  <darin@apple.com>
3148
3149         Reviewed by John.
3150
3151         - fixed 2/3 of 3279864 -- remove class_poseAs calls from WebKit (will also remove init routine)
3152
3153         * WebView.subproj/WebHTMLViewPrivate.m: (+[WebHTMLView load]):
3154         Only pose as NSTextView and NSWindow if we have an older AppKit.
3155         If we have a new enough AppKit, the code in WebCore now takes care of things.
3156
3157 2003-07-23  Richard Williamson   <rjw@apple.com>
3158
3159         Fixed for 3259840.  Use ATSU for scripts we don't handle internally,
3160         i.e.:  Syriac, Thaana, Devanagari, Bengali, Gurmukhi, Gujarati, Oriya, Tamil, Telugu, Kannada, Malayalam, Sinhala, Thai, Lao, Tibetan, Myanmar, Hangul Jamo, Khmer, Mongolian
3161
3162         Also fixed issues with our rendering of Arabic.
3163
3164         Changed the internal API to take WebCoreTextRun and WebCoreTextStyle
3165         parameters instead of scads on individual parameters.  Much cleaner.
3166
3167         Reviewed by Maciej.
3168
3169         * Misc.subproj/WebKitNSStringExtras.m:
3170         (-[NSString _web_widthWithFont:]):
3171         * Misc.subproj/WebStringTruncator.m:
3172         (stringWidth):
3173         * WebCoreSupport.subproj/WebTextRenderer.h:
3174         * WebCoreSupport.subproj/WebTextRenderer.m:
3175         (shouldUseATSU):
3176         (-[WebTextRenderer _setupFont:]):
3177         (-[WebTextRenderer dealloc]):
3178         (-[WebTextRenderer widthForCharacters:length:]):
3179         (-[WebTextRenderer drawRun:style:atPoint:]):
3180         (-[WebTextRenderer _CG_drawRun:style:atPoint:]):
3181         (-[WebTextRenderer floatWidthForCharacters:stringLength:characterPosition:]):
3182         (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:]):
3183         (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:letterSpacing:wordSpacing:smallCaps:fontFamilies:]):
3184         (-[WebTextRenderer floatWidthForRun:style:applyRounding:attemptFontSubstitution:widths:]):
3185         (-[WebTextRenderer _floatWidthForRun:style:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
3186         (-[WebTextRenderer _CG_floatWidthForRun:style:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
3187         (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]):
3188         (-[WebTextRenderer _initializeATSUStyle]):
3189         (-[WebTextRenderer _createATSUTextLayoutForRun:]):
3190         (-[WebTextRenderer _trapezoidForRun:style:atPoint:]):
3191         (-[WebTextRenderer _ATSU_floatWidthForRun:style:]):
3192         (-[WebTextRenderer _ATSU_drawRun:style:atPoint:]):
3193
3194 2003-07-23  Ken Kocienda  <kocienda@apple.com>
3195
3196         Reviewed by Darin
3197         
3198         Removed dependency on Foundation NSURL_NSURLExtras file.
3199         Copied the required methods from that file to WebNSURLExtras,
3200         temporarily renaming the methods that are now in both
3201         places to have a _webkit_ prefix. The names will be changed
3202         back once every one is living on a Foundation version that
3203         no longer contains these methods.
3204
3205         The files below were changed in one of three ways:
3206         1. Rename _web_URLWithString: to _web_URLWithDataAsString:
3207         2. Tweak headers to depend on WebNSURLExtras instead of NSURL_NSURLExtras.
3208         3. At call sites, tweak names of methods that moved to WebKit (_web_ -> _webkit_).
3209
3210         * History.subproj/WebHistory.m:
3211         * History.subproj/WebHistoryItem.m:
3212         (-[WebHistoryItem URL]):
3213         * History.subproj/WebHistoryPrivate.m:
3214         * History.subproj/WebURLsWithTitles.m:
3215         (+[WebURLsWithTitles URLsFromPasteboard:]):
3216         * Misc.subproj/WebIconDatabase.m:
3217         (-[WebIconDatabase _iconForFileURL:withSize:]):
3218         * Misc.subproj/WebIconLoader.m:
3219         * Misc.subproj/WebNSPasteboardExtras.m:
3220         (-[NSPasteboard _web_bestURL]):
3221         * Misc.subproj/WebNSURLExtras.h:
3222         * Misc.subproj/WebNSURLExtras.m:
3223         (ReleaseIfNotNULL):
3224         (+[NSURL _web_URLWithDataAsString:]):
3225         (+[NSURL _web_URLWithDataAsString:relativeToURL:]):
3226         (+[NSURL _web_URLWithData:]):
3227         (+[NSURL _web_URLWithData:relativeToURL:]):
3228         (-[NSURL _web_originalData]):
3229         (-[NSURL _web_displayableString]):
3230         (-[NSURL _web_URLStringLength]):
3231         (-[NSURL _webkit_canonicalize]):
3232         (-[NSURL _webkit_URLByRemovingFragment]):
3233         (-[NSURL _webkit_isJavaScriptURL]):
3234         (-[NSURL _webkit_scriptIfJavaScriptURL]):
3235         (-[NSURL _webkit_isFTPDirectoryURL]):
3236         (-[NSURL _webkit_shouldLoadAsEmptyDocument]):
3237         (isHexDigit):
3238         (hexDigitValue):
3239         (-[NSString _webkit_isJavaScriptURL]):
3240         (-[NSString _webkit_stringByReplacingValidPercentEscapes]):
3241         (-[NSString _webkit_scriptIfJavaScriptURL]):
3242         * Misc.subproj/WebNSViewExtras.m:
3243         * Panels.subproj/WebAuthenticationPanel.m:
3244         * Plugins.subproj/WebBaseNetscapePluginView.m:
3245         (-[WebBaseNetscapePluginView requestWithURLCString:]):
3246         (-[WebBaseNetscapePluginView loadPluginRequest:]):
3247         (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]):
3248         * Plugins.subproj/WebNullPluginView.m:
3249         * WebCoreSupport.subproj/WebBridge.m:
3250         (-[WebBridge requestedURLString]):
3251         * WebCoreSupport.subproj/WebCookieAdapter.m:
3252         (-[WebCookieAdapter cookiesForURL:]):
3253         (-[WebCookieAdapter setCookies:forURL:policyBaseURL:]):
3254         * WebKit.pbproj/project.pbxproj:
3255         * WebView.subproj/WebDataSourcePrivate.m:
3256         (-[WebDataSource _setTitle:]):
3257         (-[WebDataSource _loadIcon]):
3258         * WebView.subproj/WebFrame.m:
3259         * WebView.subproj/WebFramePrivate.m:
3260         (-[WebFrame _transitionToCommitted:]):
3261         (-[WebFrame _shouldReloadForCurrent:andDestination:]):
3262         (-[WebFrame _URLsMatchItem:]):
3263         * WebView.subproj/WebFrameView.m:
3264         * WebView.subproj/WebHTMLViewPrivate.m:
3265         (-[WebHTMLView _elementAtPoint:]):
3266         * WebView.subproj/WebMainResourceClient.m:
3267         (-[WebMainResourceClient continueAfterContentPolicy:response:]):
3268         (-[WebMainResourceClient loadWithRequest:]):
3269         (-[WebMainResourceClient setDefersCallbacks:]):
3270
3271 2003-07-22  Darin Adler  <darin@apple.com>
3272
3273         * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
3274
3275 2003-07-21  Ken Kocienda  <kocienda@apple.com>
3276
3277         Reviewed by me.
3278
3279         Fixed build breaker.
3280
3281         Removed glyphCountFromFont function. It was used only in an
3282         ERROR function, which does not compile in on deployment
3283         builds, causing a "defined, but not used warning".
3284
3285         As this function is only a one-liner call into ATS, I 
3286         replaced the usage in the ERROR call with a call to the 
3287         ATS function directly.
3288
3289         * WebCoreSupport.subproj/WebTextRenderer.m:
3290         (-[WebTextRenderer initWithFont:usingPrinterFont:])
3291
3292 2003-07-18  Richard Williamson   <rjw@apple.com>
3293
3294         Fixed 3283594.  "Times RO" appears to have a corrupt regular variant.  Added
3295         additional bullet proofing to catch corrupt fonts.  Also added a special case
3296         hack to map "Times RO" to "Time New Roman" if the variant doesn't have valid
3297         glyphs.
3298
3299         Fixed 3319846.  The page mentioned in this bug required > 10 substitute fonts for
3300         the same base font.  This triggered some buggy code that hasn't been exercise before.
3301         Specifically the code that resizes the substitute fonts array was incorrect.
3302
3303         Reviewed by mjs.
3304
3305         * Misc.subproj/WebAssertions.h:  Added FATAL_ALWAYS macro that logs and CRASHES
3306         even in deployment builds.
3307
3308         * WebCoreSupport.subproj/WebTextRenderer.m:
3309         (mapForSubstituteFont):
3310         (widthFromMap):
3311         (FillStyleWithAttributes):
3312         (-[WebTextRenderer convertCharacters:length:toGlyphs:skipControlCharacters:]):
3313         (-[WebTextRenderer convertUnicodeCharacters:length:toGlyphs:]):
3314         (-[WebTextRenderer _computeWidthForSpace]):
3315         (-[WebTextRenderer _setupFont:]):
3316         (pathFromFont):
3317         (glyphCountFromFont):
3318         (-[WebTextRenderer initWithFont:usingPrinterFont:]):
3319         (-[WebTextRenderer extendUnicodeCharacterToGlyphMapToInclude:]):
3320         (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]):
3321
3322 2003-07-17  Darin Adler  <darin@apple.com>
3323
3324         Reviewed by John.
3325
3326         - fixed 3250608 -- REGRESSION (74-85): reproducible Safari crash in blinkCaretTimerAction
3327
3328         * WebView.subproj/WebHTMLViewPrivate.m:
3329         (-[WebNSTextView drawInsertionPointInRect:color:turnedOn:]):
3330         Use NSView's setNeedsDisplayInRect: instead of the one in NSTextView.
3331         This avoids the layout that the NSTextView version of the call might do.
3332         By definition, we don't need layout to draw the insertion point, because we did
3333         the layout to find where the insertion point should display. If we do the layout
3334         we can end up recursing into the insertion point drawing code, which wreaks major
3335         havoc. Still no idea why this happened less in version 74.
3336
3337 2003-07-17  Ken Kocienda  <kocienda@apple.com>
3338
3339         Reviewed by John
3340
3341         * WebCoreSupport.subproj/WebBridge.m:
3342         (-[WebBridge startLoadingResource:withURL:]): Now uses NSURL instead of NSString
3343         (-[WebBridge objectLoadedFromCacheWithURL:response:size:]): Ditto
3344         (-[WebBridge reportClientRedirectToURL:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
3345         Ditto
3346         (-[WebBridge setIconURL:]): Ditto
3347         (-[WebBridge setIconURL:withType:]): Ditto
3348         (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]): Ditto
3349         (-[WebBridge userAgentForURL:]): Ditto
3350         (-[WebBridge requestedURL]): Now returns string using _web_absoluteString
3351         * WebView.subproj/WebDataSourcePrivate.m:
3352         (-[WebDataSource _receivedError:complete:]): Now uses NSURL instead of NSString
3353         * WebView.subproj/WebFramePrivate.m:
3354         (-[WebFrame _opened]): Ditto
3355         (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]): Ditto
3356         (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): Ditto
3357
3358 2003-07-17  Ken Kocienda  <kocienda@apple.com>
3359
3360         Reviewed by me
3361
3362         * Misc.subproj/WebNSURLExtras.m:
3363         (-[NSURL _web_URLStringLength]): Fix premature use of new CFURL API.
3364         New code is ifdef'ed out for now until everyone has revved.
3365
3366 2003-07-17  Ken Kocienda  <kocienda@apple.com>
3367
3368         Reviewed by Darin
3369
3370         * WebCoreSupport.subproj/WebBridge.m:
3371         (-[WebBridge createWindowWithURL:frameName:]): Now uses NSURL in API instead of NSString
3372         (-[WebBridge loadURL:referrer:reload:target:triggeringEvent:form:formValues:]): Ditto
3373         (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): Ditto
3374         * WebKit.pbproj/project.pbxproj: Added WebNSURLExtras file
3375         * WebView.subproj/WebDataSourcePrivate.m:
3376         (-[WebDataSource _commitIfReady:]): Now uses NSURL in API instead of NSString
3377
3378 2003-07-15  Richard Williamson   <rjw@apple.com>
3379
3380         Fixed 3315952:  Add support for <IMG> in attributed string conversion.
3381         
3382         Added RTFD pasteboard type.
3383
3384         Reviewed by John.
3385
3386         * WebView.subproj/WebHTMLViewPrivate.m:
3387         (+[WebHTMLView _pasteboardTypes]):
3388         (-[WebHTMLView _writeSelectionToPasteboard:]):
3389
3390 2003-07-14  Darin Adler  <darin@apple.com>
3391
3392         Reviewed by Maciej.
3393
3394         - make some improvements to handling of the timer, inspired by some bug reports
3395
3396         * WebView.subproj/WebFramePrivate.m:
3397         (-[WebFramePrivate dealloc]): Instead of releasing the timer, assert it is nil.
3398         (-[WebFrame _detachFromParent]): Invalidate and release the timer after finishing
3399         dealing with self, in case the reference from the timer is the last one.
3400         (-[WebFrame _timedLayout:]): Release the timer after doing all the other work,
3401         in case the reference from the timer is the last one.
3402         (-[WebFrame _setState:]): Release the timer after doing all the other work,
3403         in case the reference from the timer is the last one.
3404
3405 2003-07-14  Darin Adler  <darin@apple.com>
3406
3407         Rolled out workaround to bug 3298153 -- get "screen font while printing"
3408         error, bad stuff happens after that (Sherlock, Safari). It turns out the
3409         real fix was on the WebCore side. Now that we have that fix we don't need
3410         these extra calls to printerFont, which is a relatively slow call that
3411         may need to look up a font by name each time it's called.
3412
3413         * WebCoreSupport.subproj/WebTextRenderer.m: (_drawGlyphs):
3414         Remove code to look up the printer font.
3415
3416 2003-07-14  Maciej Stachowiak  <mjs@apple.com>
3417
3418         Rolled in fix from Safari-89-branch
3419         
3420     2003-07-12  Maciej Stachowiak  <mjs@apple.com>
3421
3422         Try to fix OS build by making the Frameworks link in both SYMROOT
3423         and DSTROOT, and at both build time and install time.
3424
3425         * WebKit.pbproj/project.pbxproj:
3426
3427 2003-07-14  Dave Hyatt  <hyatt@apple.com>
3428
3429         Roll this change out.  It was a bad change that I only made
3430         because I was using the opacity APIs wrong.
3431         
3432         Reviewed by (nobody, just a straight backout of a previous checkin)
3433
3434         * WebCoreSupport.subproj/WebImageRenderer.m:
3435         (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
3436
3437 2003-07-13  Darin Adler  <darin@apple.com>
3438
3439         * WebKit.pbproj/project.pbxproj: Add command to prevent build from failing if symlink
3440         creation fails.
3441
3442 2003-07-13  Darin Adler  <darin@apple.com>
3443
3444         Fixed symbolic link path as Matt Reda suggested.
3445
3446         * WebKit.pbproj/project.pbxproj: Changed paths in both of Maciej's new build phases
3447         to use Versions/Current instead of Versions/A.
3448
3449 2003-07-13  Darin Adler  <darin@apple.com>
3450
3451         Fixed DSTROOT path as Eric Weiss suggested.
3452
3453         * WebKit.pbproj/project.pbxproj: Changed paths in both of Maciej's new build phases.
3454
3455 2003-07-12  Maciej Stachowiak  <mjs@apple.com>
3456
3457         Try to fix OS build by making the Frameworks link in both SYMROOT
3458         and DSTROOT, and at both build time and install time.
3459
3460         * WebKit.pbproj/project.pbxproj:
3461
3462 2003-07-11  Dave Hyatt  <hyatt@apple.com>
3463
3464         Make sure image compositing obeys the current global alpha that
3465         is in effect, e.g., if someone has set an opacity within the
3466         current layer.
3467
3468         It's worth noting that I'm not even sure *why* this patch works,
3469         but it does, even with nested opacity layers.
3470         
3471         Reviewed by darin
3472
3473         * WebCoreSupport.subproj/WebImageRenderer.m:
3474         (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
3475
3476 === Safari-89 ===
3477
3478 2003-07-10  Richard Williamson   <rjw@apple.com>
3479
3480         Fixed 3298153.  Force use of printer font when printing.
3481
3482         Reviewed by Chris.
3483
3484         * WebCoreSupport.subproj/WebTextRenderer.m:
3485         (_drawGlyphs):
3486
3487 2003-07-10  Chris Blumenberg  <cblu@apple.com>
3488
3489         Fixed: <rdar://problem/3161102>: Avoid retain cycles by destroying plug-ins in the page cache before dealloc
3490         Fixed: <rdar://problem/3320624>: WebElementImageAltStringKey is not exported :-(
3491         Unspoof freebsd since we now handle gzip'd content.
3492
3493         Reviewed by rjw.
3494
3495         * History.subproj/WebHistoryItem.m:
3496         (+[WebHistoryItem _destroyAllPluginsInPendingPageCaches]): new, destroys all plug-ins
3497         (+[WebHistoryItem _releaseAllPendingPageCaches]): call _destroyAllPluginsInPendingPageCaches
3498         * WebKit.exp: export WebElementImageAltStringKey
3499         * WebView.subproj/WebUserAgentSpoofTable.c: unspoof freebsd
3500         (hash):
3501         (_web_findSpoofTableEntry):
3502         * WebView.subproj/WebUserAgentSpoofTable.gperf: unspoof freebsd
3503
3504 2003-07-10  John Sullivan  <sullivan@apple.com>
3505
3506         Reviewed by Chris
3507
3508         * WebCoreSupport.subproj/WebImageRenderer.m:
3509         (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
3510         fixed copy/paste error in comment that I stumbled across
3511
3512 2003-07-09  Richard Williamson   <rjw@apple.com>
3513
3514         Fixed 3141257.  Animate multiple copies of the same
3515         image on the same page.
3516
3517         Reviewed by hyatt.
3518
3519         * WebCoreSupport.subproj/WebImageRenderer.h:
3520         * WebCoreSupport.subproj/WebImageRenderer.m:
3521         (+[WebImageRenderer stopAnimationsInView:]):
3522         (-[WebImageRenderer retainOrCopyIfNeeded]):
3523         (-[WebImageRenderer copyWithZone:]):
3524         (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
3525         (-[WebImageRenderer dealloc]):