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