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