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