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