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