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