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