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