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