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