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