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