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