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