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