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