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