JavaScriptCore:
[WebKit-https.git] / WebKit / ChangeLog
1 2005-07-21  Geoffrey Garen  <ggaren@apple.com>
2
3         Reviewed by NOBODY (OOPS!).
4
5         * WebKit.xcodeproj/.cvsignore: Added.
6
7 2005-07-21  Geoffrey Garen  <ggaren@apple.com>
8
9         Reviewed by NOBODY (OOPS!).
10
11         * WebKit.xcodeproj/project.pbxproj: Added.
12
13 2005-07-21  Geoffrey Garen  <ggaren@apple.com>
14
15         Reviewed by NOBODY (OOPS!).
16
17         * Makefile.am:
18
19 2005-07-20  John Sullivan  <sullivan@apple.com>
20
21         Reviewed by Vicki Murley.
22
23         - removed some form-related methods that weren't being used anywhere, in preparation
24         for weaning WebKit's WebFormDelegate protocol from NSView.
25
26         * WebCoreSupport.subproj/WebBridge.m:
27         * WebView.subproj/WebFormDelegate.h:
28         * WebView.subproj/WebFormDelegate.m:
29         removed these methods:
30         -control:didFailToFormatString:errorDescription:
31         -control:didFailToValidatePartialString:errorDescription:
32         -control:isValidObject:
33
34 2005-07-20  Adele Peterson  <adele@apple.com>
35
36           Merged fix for:
37           <rdar://problem/4125127> [WebKit] horizontal rulers don't render on Safari on web.apple.com
38
39           * WebCoreSupport.subproj/WebImageData.m:
40           (-[WebImageData _checkSolidColor:]):
41
42 2005-07-20  Adele Peterson  <adele@apple.com>
43
44         Merged fix for :
45         <rdar://problem/4118278> mail divide by zero navigating messages
46   
47         * WebCoreSupport.subproj/WebTextRenderer.m:
48         (-[WebTextRenderer _extendGlyphToWidthMapToInclude:font:]):
49
50 2005-07-20  John Sullivan  <sullivan@apple.com>
51
52         Reviewed by Adele Peterson.
53         
54         - added -[WebView selectedFrame] to SPI (pending public API), needed for 4180958
55
56         * WebView.subproj/WebView.m:
57         (-[WebView selectedFrame]):
58         new method, extracted from _selectedOrMainFrame
59         (-[WebView _selectedOrMainFrame]):
60         now calls extracted method
61         
62         * WebView.subproj/WebViewPrivate.h:
63         add -selectedFrame to PendingPublic category
64
65 2005-07-19  John Sullivan  <sullivan@apple.com>
66
67         Reviewed by Darin Adler.
68         
69         - cleaned up code related to dealing with the "selected frame"; fixes radar bugs 4118830 and 4118820
70
71         * WebView.subproj/WebTextView.m:
72         (-[WebTextView resignFirstResponder]):
73         call deselectAll here instead of replicating its guts, just for clarity
74         
75         * WebView.subproj/WebViewInternal.h:
76         eliminated category WebInternal; all of these methods were used only inside WebView.m, so I moved
77         them into the existing category WebFileInternal that was declared and implemented in WebView.m
78         
79         * WebView.subproj/WebView.m:
80         (-[WebView searchFor:direction:caseSensitive:wrap:]):
81         updated for name changes. Also, uses new _deselectFrame: to clear the selection if the found
82         text is in a different frame.
83         (-[WebView pasteboardTypesForSelection]):
84         (-[WebView writeSelectionWithPasteboardTypes:toPasteboard:]):
85         (-[WebView setSelectedDOMRange:affinity:]):
86         (-[WebView selectedDOMRange]):
87         (-[WebView selectionAffinity]):
88         (-[WebView setTypingStyle:]):
89         (-[WebView typingStyle]):
90         (-[WebView styleDeclarationWithText:]):        
91         (-[WebView replaceSelectionWithNode:]):
92         (-[WebView replaceSelectionWithText:]):
93         (-[WebView replaceSelectionWithMarkupString:]):
94         (-[WebView replaceSelectionWithArchive:]):
95         (-[WebView deleteSelection]):
96         (-[WebView applyStyle:]):
97         updated for name changes only
98         
99         (-[WebView _frameIsSelected:]):
100         new method, returns YES if given frame has a non-zero-length selection
101         (-[WebView _deselectFrame:]):
102         new method, clears selection from given frame
103         (-[WebView _findSelectedFrameStartingFromFrame:]):
104         new method, recursive helper used by _findSelectedFrame
105         (-[WebView _findSelectedFrame]):
106         new method, finds first frame that returns YES for _frameIsSelected, or nil
107         (-[WebView _debugCollectSelectedFramesIntoArray:startingFromFrame:]):
108         new method, recursive helper used by _debugCheckForMultipleSelectedFrames
109         (-[WebView _debugCheckForMultipleSelectedFrames]):
110         new method for debugging, fires an assertion if there's more than one selected frame.
111         (-[WebView _selectedOrMainFrame]):
112         renamed from _frameForCurrentSelection, which was a misleading name since the returned
113         frame does not necessarily have a selection (or even focus). Now checks for a selected
114         but non-focused frame if the first responder is not in any frame. Also, moved in file
115         from WebInternal category to WebFileInternal category.
116         (-[WebView _bridgeForSelectedOrMainFrame]):
117         renamed from _bridgeForCurrentSelection, which was a misleading name for the same
118         reasons as _frameForCurrentSelection. Also, moved in file from WebInternal category to
119         WebFileInternal category.
120         (-[WebView _isLoading]):
121         (-[WebView _frameViewAtWindowPoint:]):
122         (-[WebView _bridgeAtPoint:]):
123         just moved in file from WebInternal category to WebFileInternal category
124
125 2005-07-19  Darin Adler  <darin@apple.com>
126
127         Reviewed by Geoff Garen.
128
129         - improve handling of plug-ins when the WebView or a superview is hidden with -[NSView setHidden]
130
131         * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]):
132         Add "hidden" to the list of reasons to clip out all plug-in drawing.
133
134 2005-07-18  John Sullivan  <sullivan@apple.com>
135         
136         Written by Trey Matteson  <trey@usa.net>
137         Reviewed by John Sullivan.
138
139         Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=4049
140           scroll position not restored when going back/forward at ebay
141         Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=4061
142           When going back/forward to some pages, they redraw at top before restoring scroll position
143
144         The short story is that attempting to restore the scroll position
145         at the time when the first layout finishes addresses both of these
146         issues.  An explanation of the underlying race condition is in
147         a large comment near -_restoreScrollPosition.
148
149         * WebCoreSupport.subproj/WebBridge.m:
150         (-[WebBridge didFirstLayout]):  Pass through to WebFrame.
151         * WebView.subproj/WebFrame.m:
152         (-[WebFrame _transitionToCommitted:]):  Get rid of attempt to
153           restoreScrollPosition that never did anything because the
154           docView was always 0x0 size at that point.
155         (-[WebFrame _opened]):  Get rid of redundant call to restoreScrollPosition.
156           The imminent call to layoutCompleted makes the same call.
157         (-[WebFrame _didFirstLayout]):  Restore the scroll position on
158           first layout, if we're doing a b/f nav.
159         * WebView.subproj/WebFrameInternal.h:
160
161 2005-07-18  John Sullivan  <sullivan@apple.com>
162
163         Reviewed by Darin Adler.
164
165         - fixed these bugs:
166         <rdar://problem/4158121> context menu in PDF view should contain the selection-based items like Copy
167         <rdar://problem/4184691> WebPDFView should conform to the WebDocumentElement protocol
168         <rdar://problem/4184663> "Search in Spotlight" is present but dimmed in context menu for plain-text documents
169
170         * WebView.subproj/WebDefaultContextMenuDelegate.m:
171         (-[WebDefaultUIDelegate contextMenuItemsForElement:defaultMenuItems:]):
172         added ASSERT and comments
173
174         * WebView.subproj/WebHTMLView.m:
175         (-[WebHTMLView _searchWithGoogleFromMenu:]):
176         removed this method (now handled by WebView)
177         (-[WebHTMLView _searchWithSpotlightFromMenu:]):
178         ditto
179         (-[WebHTMLView validateUserInterfaceItem:]):
180         removed validation for removed items. The validation wasn't necessary anyway, since we only put these items
181         in the menu in the case where they should be enabled.
182
183         * WebView.subproj/WebPDFView.h:
184         now conforms to WebDocumentElement protocol (which lets [WebView elementAtPoint:] work better)
185         * WebView.subproj/WebPDFView.m:
186         (-[WebPDFView copy:]):
187         added, hands off to PDFView, needed to enable Copy in context menu
188         (-[WebPDFView _pointIsInSelection:]):
189         new method, checks whether given point is in the selected bounds
190         (-[WebPDFView elementAtPoint:]):
191         add WebElementIsSelectedKey to returned element
192         (-[WebPDFView menuForEvent:]):
193         use actual point instead of dummy placeholder, now that we have code that pays attention to the point
194
195         * WebView.subproj/WebView.m:
196         (-[WebView _searchWithGoogleFromMenu:]):
197         moved here from WebHTMLView so it will work for any documentView that conforms to WebDocumentText.
198         Rewrote slightly to be non-WebHTMLView-specific. (This menu item was always enabled in Safari because
199         Safari replaces its action, but it would not have been always enabled in other WebKit clients, though
200         it should have been.)
201         (-[WebView _searchWithSpotlightFromMenu:]):
202         moved here from WebHTMLView so it will work for any documentView that conforms to WebDocumentText.
203         Rewrote slightly to be non-WebHTMLView-specific.
204
205 2005-07-18  John Sullivan  <sullivan@apple.com>
206
207         Reviewed by Richard Williamson.
208         
209         - fixed <rdar://problem/4184366> WebPDFView should conform to the WebDocumentSelection protocol
210
211         * Misc.subproj/WebNSAttributedStringExtras.h: Added.
212         * Misc.subproj/WebNSAttributedStringExtras.m: Added.
213         (-[NSAttributedString _web_attributedStringByStrippingAttachmentCharacters]):
214         New category on NSAttributedString, initially contains this one method that had been in WebHTMLView.
215         
216         * WebView.subproj/WebHTMLView.m:
217         (-[WebHTMLView _writeSelectionWithPasteboardTypes:toPasteboard:cachedAttributedString:]):
218         now uses _web_attributedStringByStrippingAttachmentCharacters
219         
220         * WebView.subproj/WebPDFView.h:
221         now conforms to WebDocumentSelection protocol
222         * WebView.subproj/WebPDFView.m:
223         (-[WebPDFView selectionRect]):
224         new, implementation of WebDocumentSelection protocol method
225         (-[WebPDFView pasteboardTypesForSelection]):
226         ditto
227         (-[WebPDFView writeSelectionWithPasteboardTypes:toPasteboard:]):
228         ditto
229
230         * WebKit.pbproj/project.pbxproj:
231         updated for new files
232
233 2005-07-18  John Sullivan  <sullivan@apple.com>
234
235         Reviewed by Chris Blumenberg.
236         
237         - some refactoring cleanup in the selection/searching code
238
239         * Misc.subproj/WebSearchableTextView.h:
240         moved WebDocumentSelection protocol conformation to this class, was in subclass WebTextView
241         * Misc.subproj/WebSearchableTextView.m:
242         (-[WebSearchableTextView selectionRect]):
243         new method (moved here from Safari) to return a single rect encompassing all selected text
244         (-[WebSearchableTextView pasteboardTypesForSelection]):
245         moved here from WebTextView
246         (-[WebSearchableTextView writeSelectionWithPasteboardTypes:toPasteboard:]):
247         ditto
248         
249         * WebView.subproj/WebDocumentInternal.h:
250         moved WebDocumentSelection protocol out of here
251         
252         * WebView.subproj/WebDocumentPrivate.h:
253         moved WebDocumentSelection protocol into here, added selectionRect method
254         
255         * WebView.subproj/WebHTMLView.m:
256         (-[WebHTMLView selectionRect]):
257         new method, calls existing bridge method formerly called by _selectionRect
258         (-[WebHTMLView _selectionRect]):
259         now calls [self selectionRect]. We can't just delete _selectionRect because it's used by Mail.
260         
261         * WebView.subproj/WebHTMLViewPrivate.h:
262         removed _selectionRect since it's in WebDocumentSelection now
263         
264         * WebView.subproj/WebTextView.h:
265         removed WebDocumentSelection from protocol list since it's in superclass now
266         
267         * WebView.subproj/WebTextView.m:
268         removed old WebDocumentSelection methods because they are in superclass now
269
270 2005-07-15  Adele Peterson  <adele@apple.com>
271
272         Written by Trey Matteson  <trey@usa.net>
273         Reviewed by John Sullivan.
274
275         Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=3910 - REGRESSION: Replying "Cancel" to the form repost nag leaves wrong b/f cursor
276
277         * WebView.subproj/WebFrame.m:
278         (-[WebFrame _resetBackForwardList]):  new helper method
279         (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
280           If the delegate bailed on the navigation, tell the main frame
281           to reset the b/f cursor back to where it was before we started.
282
283 2005-07-15  John Sullivan  <sullivan@apple.com>
284
285         Written by Trey Matteson
286         Reviewed by me.
287
288         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=4013
289                 text find doesn't wrap in PDF files
290
291         This just works once WebPDFView implements the WebDocumentText protocol, which is
292         mostly just a matter of forwarding the methods to PDFKit appropriately.
293
294         * WebView.subproj/WebPDFView.h:
295         * WebView.subproj/WebPDFView.m:
296         (-[WebPDFView supportsTextEncoding]):
297         (-[WebPDFView string]):
298         (-[WebPDFView attributedString]):
299         (-[WebPDFView selectedString]):
300         (-[WebPDFView selectedAttributedString]):
301         (-[WebPDFView selectAll]):
302         (-[WebPDFView deselectAll]):
303
304 2005-07-15  John Sullivan  <sullivan@apple.com>
305
306         Reviewed by Kevin Decker.
307         
308         - fixed <rdar://problem/4181884> Searching for text that overlaps selection works 
309         differently in PDFView than in HTMLView
310
311         * WebView.subproj/WebPDFView.m:
312         (PDFSelectionsAreEqual):
313         new function, stand-in for nonexistent -[PDFSelection isEqual:] since calling isEqual:
314         on two identical PDFSelections returns NO
315         (-[WebPDFView searchFor:direction:caseSensitive:wrap:]):
316         Make search algorithm match that in WebCore: initially search inside selection, then check for the case
317         where the found text exactly matches the previous selection, and search from past the selection if so.
318         The implementation is slightly more complicated than it should be due to PDFKit API limitations (about
319         which I added FIXMEs and filed bugs)
320
321 2005-07-15  John Sullivan  <sullivan@apple.com>
322
323         Reviewed by Maciej Stachowiak.
324         
325         - fixed these bugs:
326         <rdar://problem/4181875> Searching for text that overlaps selection works differently in WebTextView than in HTMLView
327         <rdar://problem/3393678> Find not finding text in plain (non-HTML) if all text is selected
328
329         * Misc.subproj/WebSearchableTextView.m:
330         (-[NSString findString:selectedRange:options:wrap:]):
331         Make search algorithm match that in WebCore: initially search inside selection, then check for the case
332         where the found text exactly matches the previous selection, and search from past the selection if so.
333
334 2005-07-14  John Sullivan  <sullivan@apple.com>
335
336         Reviewed by Dave Hyatt.
337
338         - WebKit part of fix for: 
339         <rdar://problem/4181227> webpages incorrectly use standard instead of secondary highlighting in certain cases
340
341         * WebCoreSupport.subproj/WebBridge.m:
342         (-[WebBridge formControlIsResigningFirstResponder:]):
343         Implementation of new method defined in WebCore, passes call along to WebHTMLView
344         
345         * WebView.subproj/WebHTMLViewInternal.h:
346         declare _formControlIsResigningFirstResponder: so bridge can call it
347
348         * WebView.subproj/WebHTMLView.m:
349         (-[WebHTMLView updateFocusState]):
350         just moved in file so it could be called from a different category
351         (-[WebHTMLView _formControlIsResigningFirstResponder:]):
352         new method, updates focus state
353
354 2005-07-14  John Sullivan  <sullivan@apple.com>
355
356         added missing #import to fix build
357         * WebView.subproj/WebPDFView.m
358
359 2005-07-14  Kevin Decker  <kdecker@apple.com>
360
361         Reviewed by cblu
362
363         Fixed: <rdar://problem/4122282> clicking a link in an PDF file opens the link with NSWorkspace without the usual security checks or WebView delegate control
364
365         * WebView.subproj/WebFrame.m:
366         (-[WebFrame _safeLoadURL:]): added
367         * WebView.subproj/WebFrameInternal.h:
368         * WebView.subproj/WebPDFView.m:
369         (-[WebPDFView initWithFrame:]):
370         (-[WebPDFView PDFViewWillClickOnLink:withURL:]): prevents evilness with a call to _safeLoadURL
371         * WebView.subproj/WebTextView.m:
372         (-[WebTextView clickedOnLink:atIndex:]): factored calling out to the bridge, and instead call _safeLoadURL
373
374 2005-07-14  Vicki Murley  <vicki@apple.com>
375
376         Reviewed by Kocienda.
377
378         - WebKit part of fix for  <rdar://problem/4172380> [GENENTECH] window.opener 
379         not available when child opened via target="_new"
380
381         Add a setOpener function to the WebCore bridge, and call this function when opening
382         new windows through Web Kit.
383
384         * WebView.subproj/WebFrame.m:
385         (-[WebFrame _continueLoadRequestAfterNewWindowPolicy:frameName:formState:]):
386
387 2005-07-13  Justin Garcia  <justin.garcia@apple.com>
388
389         Reviewed by John
390         
391         Rolling in changes necessary to build with newer versions of gcc 4.0
392
393         * History.subproj/WebHistoryItem.m:
394         (-[WebHistoryItem copyWithZone:]):
395         * Misc.subproj/WebNSPasteboardExtras.m:
396         (-[NSPasteboard _web_writeImage:URL:title:archive:types:]):
397         * Misc.subproj/WebNSURLExtras.m:
398         (-[NSURL _web_URLWithLowercasedScheme]):
399         (-[NSString _web_mapHostNameWithRange:encode:makeString:]):
400         * WebCoreSupport.subproj/WebBridge.m:
401         (-[WebBridge MIMETypeForPath:]):
402         * WebCoreSupport.subproj/WebImageRendererFactory.m:
403         (-[WebImageRendererFactory imageRendererWithBytes:length:MIMEType:]):
404         * WebCoreSupport.subproj/WebTextRenderer.m:
405         (-[WebTextRenderer initWithFont:usingPrinterFont:]):
406         * WebView.subproj/WebFrame.m:
407         (-[WebFrame _webDataRequestForData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
408         * WebView.subproj/WebHTMLView.m:
409         (-[WebHTMLView _styleFromFontAttributes:]):
410         * WebView.subproj/WebView.m:
411         (-[WebView _writeImageElement:withPasteboardTypes:toPasteboard:]):
412         (-[WebView mainFrameTitle]):
413
414 2005-07-13  John Sullivan  <sullivan@apple.com>
415
416         Reviewed by Maciej Stachowiak.
417
418         - cleaned up Find-related experimental code that I checked in a while back
419
420         * WebView.subproj/WebHTMLView.m:
421         (-[WebHTMLView searchFor:direction:caseSensitive:wrap:]):
422         remove variant of this method that had findInSelection flag; this method is now
423         the same as it was on Tiger.
424         
425         * WebView.subproj/WebView.m:
426         (-[WebView searchFor:direction:caseSensitive:wrap:]):
427         ditto
428
429 2005-07-12  Geoffrey Garen  <ggaren@apple.com>
430
431         -rolled in patch by opendarwin.org@mitzpettel.com 
432         for http://bugzilla.opendarwin.org/show_bug.cgi?id=3435
433         Parentheses are backwards in Hebrew text (no bidi mirroring?)
434         
435         Reviewed by mjs.
436
437         Layout test added to WebCore.
438
439         * WebCoreSupport.subproj/WebTextRenderer.h:
440         * WebCoreSupport.subproj/WebTextRenderer.m:
441         (-[WebTextRenderer _initializeATSUStyle]):
442         (applyMirroringToRun):
443         (-[WebTextRenderer _ATSU_drawHighlightForRun:style:geometry:]):
444         (-[WebTextRenderer _ATSU_drawRun:style:geometry:]):
445         (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]):
446
447 2005-07-12  Ken Kocienda  <kocienda@apple.com>
448
449         Reviewed by Chris Blumenberg
450
451         * WebCoreSupport.subproj/WebBridge.m: Removed some glue that allowed one
452         of two unicode (TEC or ICU ) to be chosen at runtime. I just added this
453         dual support yesterday, and while Maciej and I agreed that it was good
454         to land in the tree in case we run into problems in the near future, we
455         also agreed that cutting over to using ICU full time right now is
456         probably the best way to find bugs.
457
458 2005-07-11  Ken Kocienda  <kocienda@apple.com>
459
460         Reviewed by Richard
461
462         * WebCoreSupport.subproj/WebBridge.m:
463         (+[WebBridge setTextConversionMethod:]): New method to support switching text conversion method.
464         (+[WebBridge textConversionMethod]): Returns current text conversion method.
465
466 2005-07-11  Kevin Decker  <kdecker@apple.com>
467
468         Reviewed by cblu and mjs.
469
470         Fixed: <rdar://problem/4099552> REGRESSION: Safari 1.3 Netscape API NPN_PostURL[Notify] no longer allows manual headers
471         
472         Most plugins (flash) send 2 CRFL's between the header and body of their POST requests, while the adboe plugin sends two LF's. This caused us to send custom headers as part of the actual POST data itself, and correspondently, would skew Content-Length.
473
474         * Plugins.subproj/WebBaseNetscapePluginView.m:
475         (-[NSData _web_locationAfterFirstBlankLine]): Look for two LF's as well
476
477 2005-07-09  Maciej Stachowiak  <mjs@apple.com>
478
479         - back out my revent page cache changes, turns out they cause a
480         major performance regression on PLT
481
482         * WebView.subproj/WebFrame.m:
483         (-[WebFrame _purgePageCache]):
484
485 2005-07-09  Maciej Stachowiak  <mjs@apple.com>
486
487         Reviewed by hyatt.
488
489         Replace int with unsigned, to avoid going into a huge loop when
490         back list count is 0.
491
492         * WebView.subproj/WebFrame.m:
493         (-[WebFrame _purgePageCache]):
494
495 2005-07-09  Maciej Stachowiak  <mjs@apple.com>
496
497         - fixed broken Development build
498
499         * WebView.subproj/WebFrame.m:
500         (-[WebFrame _purgePageCache]):
501
502 2005-07-09  Maciej Stachowiak  <mjs@apple.com>
503
504         Reviewed by hyatt.
505
506         - fix page cache purging logic; this gets rid of a bug where the
507         page cache would grow without bound if the oldest page cache item
508         was the snapback item, and changed the rule a bit so page cache
509         items farther back than the max size get purged, even if fewer
510         than the max size are in current use.
511
512         * WebView.subproj/WebFrame.m:
513         (-[WebFrame _purgePageCache]):
514
515 2005-07-08  Geoffrey Garen  <ggaren@apple.com>
516
517         Rolled in patch by opendarwin.org@mitzpettel.com
518
519         -fixes http://bugzilla.opendarwin.org/show_bug.cgi?id=3818
520         Fallback font doesn't have requested weight in ATSUI-rendered text
521
522         (See WebCore Changelog for layout test)
523
524         Reviewed by mjs.
525
526         * WebCoreSupport.subproj/WebTextRenderer.m:
527         (-[WebTextRenderer _createATSUTextLayoutForRun:style:]):
528
529 2005-07-05  Adele Peterson  <adele@apple.com>
530
531        Rolling out changes for <rdar://problem/3792529> REGRESSION (Mail): Tabs do not work the way they did in Panther (especially useful in plain text mail)
532        since it caused a 2% performance regression.
533
534         * WebCoreSupport.subproj/WebTextRenderer.m:
535         (isSpace):
536         (-[WebTextRenderer _CG_drawHighlightForRun:style:geometry:]):
537         (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startPosition:numGlyphs:]):
538         (-[WebTextRenderer _extendCharacterToGlyphMapToInclude:]):
539         (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:includePartialGlyphs:]):
540         (initializeCharacterWidthIterator):
541         (widthForNextCharacter):
542
543 2005-07-05  John Sullivan  <sullivan@apple.com>
544
545         Reviewed by Chris Blumenberg.
546         
547         - fixed <rdar://problem/4158230> Zoom In/Zoom Out in PDF context menu don't update window's notion of text size
548
549         * WebView.subproj/WebPDFView.m:
550         (-[WebPDFView _menuItemsFromPDFKitForEvent:]):
551         Redirect Actual Size, Zoom In, and Zoom Out context menu items so that they behave exactly like Make Text Standard Size,
552         Make Text Larger, and Make Text Smaller.
553
554 2005-07-01  John Sullivan  <sullivan@apple.com>
555
556         Reviewed by Darin Adler.
557         
558         - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=3711: Displayed PDF have limited options in contextual menu
559         
560         This was a problem with using Tiger's version of Safari with tip of tree WebKit.
561
562         * WebView.subproj/WebPDFView.m:
563         (-[WebPDFView _anyPDFTagsFoundInMenu:]):
564         new method, returns YES if the menu contains any items with any of the new PDF-related tags.
565         (-[WebPDFView menuForEvent:]):
566         If the executable was linked on Tiger or older (but it will never be older, since this code is
567         new to Tiger), force all of the PDF-related items into the menu if none of them were there 
568         after processing by the delegate.
569
570 2005-06-30  Darin Adler  <darin@apple.com>
571
572         Reviewed by John Sullivan.
573
574         - fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=3774>
575           do renaming so that loaders are called "loader", not "client" or "delegate"
576
577         * Misc.subproj/WebIconLoader.h:
578         * Plugins.subproj/WebNetscapePluginStream.h:
579         * Plugins.subproj/WebNetscapePluginStream.m:
580         (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
581         (-[WebNetscapePluginStream start]):
582         (-[WebNetscapePlugInStreamLoader didFinishLoading]):
583         (-[WebNetscapePlugInStreamLoader didFailWithError:]):
584         (-[WebNetscapePlugInStreamLoader cancelWithError:]):
585         * WebCoreSupport.subproj/WebBridge.m:
586         (-[WebBridge startLoadingResource:withURL:customHeaders:]):
587         (-[WebBridge startLoadingResource:withURL:customHeaders:postData:]):
588         (-[WebBridge canRunModalNow]):
589         * WebCoreSupport.subproj/WebSubresourceClient.h: Removed.
590         * WebCoreSupport.subproj/WebSubresourceClient.m: Removed.
591         * WebCoreSupport.subproj/WebSubresourceLoader.h:
592         * WebCoreSupport.subproj/WebSubresourceLoader.m:
593         (-[WebSubresourceLoader initWithLoader:dataSource:]):
594         (-[WebSubresourceLoader dealloc]):
595         (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]):
596         (+[WebSubresourceLoader startLoadingResource:withURL:customHeaders:referrer:forDataSource:]):
597         (+[WebSubresourceLoader startLoadingResource:withURL:customHeaders:postData:referrer:forDataSource:]):
598         (-[WebSubresourceLoader didReceiveResponse:]):
599         (-[WebSubresourceLoader didReceiveData:lengthReceived:]):
600         (-[WebSubresourceLoader didFinishLoading]):
601         (-[WebSubresourceLoader didFailWithError:]):
602         (-[WebSubresourceLoader cancel]):
603         * WebKit.pbproj/project.pbxproj:
604         * WebView.subproj/WebBaseResourceHandleDelegate.h: Removed.
605         * WebView.subproj/WebBaseResourceHandleDelegate.m: Removed.
606         * WebView.subproj/WebDataSource.m:
607         (-[WebDataSourcePrivate dealloc]):
608         (-[WebDataSource _setLoading:]):
609         (-[WebDataSource _updateLoading]):
610         (-[WebDataSource _setPrimaryLoadComplete:]):
611         (-[WebDataSource _startLoading:]):
612         (-[WebDataSource _addSubresourceLoader:]):
613         (-[WebDataSource _removeSubresourceLoader:]):
614         (-[WebDataSource _addPlugInStreamLoader:]):
615         (-[WebDataSource _removePlugInStreamLoader:]):
616         (-[WebDataSource _stopLoadingInternal]):
617         (-[WebDataSource _defersCallbacksChanged]):
618         (-[WebDataSource _stopLoadingWithError:]):
619         (-[WebDataSource data]):
620         (-[WebDataSource isLoading]):
621         * WebView.subproj/WebDataSourcePrivate.h:
622         * WebView.subproj/WebLoader.h:
623         * WebView.subproj/WebLoader.m:
624         * WebView.subproj/WebMainResourceClient.h: Removed.
625         * WebView.subproj/WebMainResourceClient.m: Removed.
626         * WebView.subproj/WebMainResourceLoader.h:
627         * WebView.subproj/WebMainResourceLoader.m:
628         (-[WebMainResourceLoader didReceiveResponse:]):
629
630 2005-06-29  David Harrison  <harrison@apple.com>
631
632         Reviewed by Dave Hyatt (rendering) and Maciej (editing).
633
634         Test cases added:  Coming soon.  Will include with next round of changes for this bug.
635
636         This is the first checkin for...
637         
638         <rdar://problem/3792529> REGRESSION (Mail): Tabs do not work the way they did in Panther (especially useful in plain text mail)
639         
640         Basic strategy is to put tabs into spans with white-space:pre style, and
641         render them with tabs stops every 8th space, where the space width and
642         the left margin are those of the enclosing block.
643         
644         What's left is to switch to implement white-space:pre-wrap so
645         that we can coalesce consecutive tabs while maintaining proper
646         line breaking.  That will keep the markup smaller.
647
648         * WebCoreSupport.subproj/WebTextRenderer.m:
649         (isSpace):
650         (-[WebTextRenderer _CG_drawHighlightForRun:style:geometry:]):
651         (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startPosition:numGlyphs:]):
652         (-[WebTextRenderer _extendCharacterToGlyphMapToInclude:]):
653         (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:includePartialGlyphs:]):
654         (initializeCharacterWidthIterator):
655         (widthForNextCharacter):
656
657 2005-06-29  John Sullivan  <sullivan@apple.com>
658
659         Reviewed by Kevin.
660         
661         - deleted some never-used stub code
662
663         * WebView.subproj/WebView.m:
664         * WebView.subproj/WebViewInternal.h:
665         * WebView.subproj/WebViewPrivate.h:
666
667 2005-06-27  Justin Garcia  <justin.garcia@apple.com>
668
669         Patch by Anders Carlsson <andersca@mac.com>
670
671         Reviewed by Darin.
672
673         - Fixes <http://bugzilla.opendarwin.org/show_bug.cgi?id=3489>
674         WebView's setSelectedDOMRange doesn't not implement clearing the selection as described in the WebView documentation:
675         <http://developer.apple.com/documentation/Cocoa/Reference/WebKit/ObjC_classic/Classes/WebView.html>
676         
677         * WebView.subproj/WebView.m:
678         (-[WebView setSelectedDOMRange:affinity:]):
679         If range is nil, call deselectText.
680
681 2005-06-24  Justin Garcia  <justin.garcia@apple.com>
682
683         Patch contributed by Duncan Wilcox <duncan@mclink.it>
684
685         Reviewed by Darin
686
687         - Fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=3535>
688             Spelling suggestions in the context menu don't call the should* delegate methods
689
690         * WebView.subproj/WebHTMLView.m:
691         (-[WebHTMLView _changeSpellingFromMenu:]):
692         give delegate's webView:shouldInsertText:replacingDOMRange:givenAction: a chance
693         to prevent replacing of selected text
694
695 2005-06-22  John Sullivan  <sullivan@apple.com>
696
697         Reviewed by Chris Blumenberg.
698         
699         - fixed <rdar://problem/3764645> please add a way to allow WebKit clients to override the WebPDFView context menu
700
701         * PublicHeaderChangesFromTiger.txt: Added.
702         New file to keep track of changes made to public headers that haven't been through API review yet.
703         Initially lists the WebMenuItem enum tags added to WebUIDelegate.h as part of this change.
704         
705         * WebView.subproj/WebDefaultContextMenuDelegate.m:
706         (-[WebDefaultUIDelegate appendDefaultItems:toArray:]):
707         new method, handles initial separator
708         (-[WebDefaultUIDelegate contextMenuItemsForElement:defaultMenuItems:]):
709         now has defaultMenuItems: parameter. Any menu items in this array are appended at the end of
710         the standard set.
711         (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
712         ditto
713         (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
714         This had a defaultMenuItems parameter before but it was always nil. Now it passes the defaultMenuItems
715         parameter on to the two methods that construct lists (one for editing, the other for viewing). Also
716         tweaked variable name and type for clarity.
717         
718         * WebView.subproj/WebHTMLView.m:
719         (-[WebHTMLView menuForEvent:]):
720         passes nil for new defaultItems parameter of _menuForElement:
721         
722         * WebView.subproj/WebImageView.m:
723         (-[WebImageView menuForEvent:]):
724         ditto
725         
726         * WebView.subproj/WebTextView.m:
727         (-[WebTextView menuForEvent:]):
728         ditto
729
730         * WebView.subproj/WebPDFView.m:
731         (-[WebPDFView elementAtPoint:]):
732         new method to create the element dictionary needed for _menuForElement:defaultItems:. Only supplies the
733         webFrame at this point.
734         (-[WebPDFView _menuItemsFromPDFKitForEvent:]):
735         new method to return copies of the menu items that PDFKit would include in the context menu, with
736         WebKit tags applied
737         (-[WebPDFView menuForEvent:]):
738         now calls standard WebKit context menu mechanism, so clients' delegates can modify the context menu as
739         desired. The initial set of items are the ones WebKit was already displaying for PDF context menus.
740         
741         * WebView.subproj/WebUIDelegate.h:
742         added enum values for the menu items in the PDF context menu
743         
744         * WebView.subproj/WebViewPrivate.h:
745         * WebView.subproj/WebView.m:
746         (-[WebView _menuForElement:defaultItems:]):
747         Added the defaultItems: parameter to this method, which is then passed along to WebDefaultUIDelegate.
748         All callers pass nil except for WebPDFView, at least for now.
749
750 2005-06-22  Darin Adler  <darin@apple.com>
751
752         Change by Mitz Pettel.
753         Reviewed by me.
754
755         - fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=3618>
756           RTL runs drawn by CG not reversed properly
757
758         * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer _CG_drawRun:style:geometry:]):
759         Fix off-by-one mistake in order-swapping loops.
760
761 2005-06-22  Darin Adler  <darin@apple.com>
762
763         Change by Michael Gaiman.
764         Reviewed by me.
765
766         - fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=3436>
767           Missing implementation of -[NSData(WebNSDateExtras) _webkit_parseRFC822HeaderFields]
768
769         * Misc.subproj/WebNSDataExtras.h: Fixed name of category say NSData, not NSDate.
770         * Misc.subproj/WebNSDataExtras.m: (-[NSData _webkit_parseRFC822HeaderFields]): Fixed method name.
771
772 2005-06-21  John Sullivan  <sullivan@apple.com>
773
774         Reviewed by Vicki Murley
775         
776         - fixed assertion failure Vicki ran into
777
778         * Misc.subproj/WebIconDatabase.m:
779         (-[WebIconDatabase _forgetIconForIconURLString:]):
780         Handle the case where there are no associated page URLs for the icon URL
781
782 2005-06-20  John Sullivan  <sullivan@apple.com>
783
784         Reviewed by Chris Blumenberg.
785         
786         - fixed <rdar://problem/4155182> icon database retain counts can be incorrect after removing all icons
787         
788         Replaced the concept of "future retain count per page URL" with a simpler concept of "retain count per
789         page URL", which is maintained even after the icon is actually loaded (unlike the future retain count).
790         The total retain count for an icon is now the sum of the retain counts per page URL along with any retain
791         count not associated with a page URL -- this is still needed for some internal housekeeping purposes.
792
793         * Misc.subproj/WebIconDatabasePrivate.h:
794         renamed iconURLToURLs -> iconURLToPageURLs for clarity
795         renamed URLToIconURL -> pageURLToIconURL for clarity
796         renamed futureURLToRetainCount -> pageURLToRetainCount (there's no more "future" aspect)
797         renamed iconURLToRetainCount -> iconURLToExtraRetainCount (it now maintains only some of the retain count)
798         
799         * Misc.subproj/WebIconDatabase.m:
800         (+[WebIconDatabase sharedIconDatabase]):
801         updated for name changes only
802         (-[WebIconDatabase init]):
803         ditto
804         (-[WebIconDatabase iconForURL:withSize:cache:]):
805         ditto
806         (-[WebIconDatabase iconURLForURL:]):
807         ditto
808         (-[WebIconDatabase retainIconForURL:]):
809         just bump the retain count in pageURLToRetainCount, instead of behaving differently based on whether 
810         an icon had been loaded for this URL; this let me delete the internal method _retainFutureIconForURL:
811         (-[WebIconDatabase releaseIconForURL:]):
812         decrement the retain count in pageURLToRetainCount, then handle the case where the retain count for 
813         this page has gone to zero. I deleted the internal method _releaseFutureIconForURL: formerly called here.
814         (-[WebIconDatabase removeAllIcons]):
815         remove all the code that dealt with retain counts; this operation no longer affects retain counts
816         (-[WebIconDatabase _setIconURL:forURL:]):
817         remove the code that consolidated multiple retain counts for different page URLs into a single retain 
818         count; the multiple retain counts are now maintained even after the icon is loaded
819         (-[WebIconDatabase _clearDictionaries]):
820         updated for name changes only
821         (-[WebIconDatabase _loadIconDictionaries]):
822         ditto
823         (-[WebIconDatabase _updateFileDatabase]):
824         ditto
825         (-[WebIconDatabase _totalRetainCountForIconURLString:]):
826         new method, sums the retain counts associated with specific page URLs and the extra retain count
827         not associated with specific page URLs
828         (-[WebIconDatabase _retainIconForIconURLString:]):
829         updated for name changes
830         (-[WebIconDatabase _forgetIconForIconURLString:]):
831         no longer affects retain counts at all; this is up to callers
832         (-[WebIconDatabase _releaseIconForIconURLString:]):
833         this now distinguishes the case where the retain count not associated with any page URLs hits 
834         zero from the case where the total retain count hits zero, and handles both
835
836 2005-06-20  John Sullivan  <sullivan@apple.com>
837
838         Reviewed by Chris Blumenberg.
839         
840         - added support for emptying the icon database
841
842         * Misc.subproj/WebIconDatabase.h: just fixed a typo
843         * Misc.subproj/WebIconDatabasePrivate.h:
844         added WebPendingPublic category with method removeAllIcons, and
845         declared WebIconDatabaseDidRemoveAllIconsNotification string.
846         
847         * Misc.subproj/WebIconDatabase.m:
848         (-[WebIconDatabase removeAllIcons]):
849         new method, removes all known icons from memory and disk. There's one loose end,
850         covered by radar bug 4155182, where it's possible for the icon database's retain
851         counts to get off after this operation. I plan to fix this next.
852         (-[WebIconDatabase _setIconURL:forURL:]):
853         just fixed some extra whitespace
854         (-[WebIconDatabase _forgetIconForIconURLString:]):
855         new method, extracted from _releaseIconForIconURLString
856         (-[WebIconDatabase _releaseIconForIconURLString:]):
857         now calls extracted method
858
859         * WebKit.exp:
860         added _WebIconDatabaseDidRemoveAllIconsNotification
861
862 2005-06-19  Darin Adler  <darin@apple.com>
863
864         Changes by Mitz Pettel
865         Reviewed by me.
866         
867         - fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=3466>
868           ATSUI text doesn't render at coordinates greater than 32K
869
870         * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer _ATSU_drawRun:style:geometry:]):
871         Translate the matrix of the CGContext instead of passing the appropriate coordinates to ATSU.
872
873 2005-06-17  Richard Williamson   <rjw@apple.com>
874
875         Changes by Mitz Pettel
876         Reviewed by Richard Williamson.
877
878         Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=3545
879
880         * WebCoreSupport.subproj/WebTextRenderer.m:
881         (reverseCharactersInRun):
882         (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]):
883
884 2005-06-17  John Sullivan  <sullivan@apple.com>
885
886         Reviewed by Chris.
887
888         - fixed <rdar://problem/4151001> Reloading javascript-spawned window with no URL erases its contents
889
890         * WebView.subproj/WebFrame.m:
891         (-[WebFrame reload]):
892         do nothing if URL is zero-length
893
894 2005-06-14  John Sullivan  <sullivan@apple.com>
895
896         Changes by Devin Lane.
897         Reviewed by me.
898
899         - fixed <rdar://problem/3766909> PDF viewing could use a zoom control other than the one in the context menu
900
901         * WebView.subproj/WebPDFView.h:
902         now implements protocol _web_WebDocumentTextSizing
903         * WebView.subproj/WebPDFView.m:
904         (-[WebPDFView _updateScalingToReflectTextSize]):
905         new method, sets the PDF scaling from the text size multiplier
906         (-[WebPDFView setDataSource:]):
907         call _updateScalingToReflectTextSize
908         (-[WebPDFView _web_textSizeMultiplierChanged]):
909         implementation of protocol _web_WebDocumentTextSizing, calls _updateScalingToReflectTextSize
910
911 2005-06-14  John Sullivan  <sullivan@apple.com>
912
913         Reviewed by Dave Harrison.
914
915         * WebView.subproj/WebHTMLView.m:
916         (-[WebHTMLView _delayedEndPrintMode:]):
917         After discussing this with Dave, I made this method both more debugger-friendly with asserts for
918         the cases we don't think could ever happen, and more paranoid by handling these cases in deployment
919         builds.
920
921 2005-06-14  Darin Adler  <darin@apple.com>
922
923         - fixed build for Xcode 2.1
924
925         * WebKit.pbproj/project.pbxproj: Use BUILT_PRODUCTS_DIR instead of SYMROOT to search for the
926         WebKitSystemInterface.h file. We could re-jigger this again later, but for now this is consistent
927         with both the .a file's location and where build-webkit puts the file.
928
929 2005-06-13  John Sullivan  <sullivan@apple.com>
930
931         Reviewed by Dave Harrison and Maciej.
932
933         * WebView.subproj/WebHTMLView.m:
934         (-[WebHTMLView _endPrintMode]):
935         new method, extracted from identical code in beginDocument and endDocument. This method must be called
936         once to counterbalance the code called from knowsPageRange that turns on "printing mode".
937         (-[WebHTMLView _delayedEndPrintMode:]):
938         new method, called from "perform after delay". Checks whether the same print operation is still underway
939         and, if so, delays further. Otherwise calls _endPrintMode directly.
940         (-[WebHTMLView knowsPageRange:]):
941         after turning on "printing mode", queue up a delayed call to _delayedEndPrintMode:. If there's an early
942         error in the print mechanism such that beginDocument is never called, this will cleanly end "printing
943         mode" and make the webview usable again.
944         (-[WebHTMLView beginDocument]):
945         cancel any delayed call to _delayedEndPrintMode:. If we get this far along in printing, then we don't need
946         the failsafe call to _delayedEndPrintMode: that was set up in knowsPageRange:. Also, call extracted method.
947         (-[WebHTMLView endDocument]):
948         call extracted method
949
950 2005-06-13  Maciej Stachowiak  <mjs@apple.com>
951
952         Reviewed by Chris Blumenberg and Adele.
953
954         - better fix for <rdar://problem/4142247> REGRESSION: List to browse widgets at Apple website failed. Closing tab afterwards caused Safari crash
955         http://bugzilla.opendarwin.org/show_bug.cgi?id=3445
956
957         With this change and the matching WebKit change we'll still stop loading the moment you click
958         a download link, but the unload event and detaching of event handlers will not happen early any more.
959         
960         * WebView.subproj/WebDataSource.m:
961         (-[WebDataSource _stopLoadingInternal]): call stopLoading on bridge instead of closeURL.
962         * WebView.subproj/WebFrame.m:
963         (-[WebFrame _transitionToCommitted:]): Revert previous attempt at fix.
964         (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): ditto
965         (-[WebFrame stopLoading]): ditto
966
967 2005-06-13  Chris Petersen  <cpetersen@apple.com>
968
969         Changes by Darin.
970         Reviewed by me.
971
972         - fixed problems building deployment due to recent init change
973
974         * WebView.subproj/WebArchive.m: (-[WebArchive initWithCoder:]):
975         Put the [super init] call and check for nil outside the exception handler.
976         * WebView.subproj/WebResource.m: (-[WebResource initWithCoder:]): Ditto.
977
978 2005-06-12  Darin Adler  <darin@apple.com>
979
980         Reviewed by Maciej.
981
982         - fixed <rdar://problem/4141569> REGRESSION (412+): printing fails on any page with images, and for standalone images
983           also <http://bugzilla.opendarwin.org/show_bug.cgi?id=3318>
984
985         * WebCoreSupport.subproj/WebImageData.m: Got rid of use of tabs instead of spaces throughout the file.
986         (-[WebImageData _checkSolidColor:]): Wrap use of NSGraphicsContext with an autorelease pool.
987         (-[WebImageData _fillSolidColorInRect:compositeOperation:context:]): Ditto.
988         (-[WebImageData tileInRect:fromPoint:context:]): Ditto.
989         (-[WebImageData _PDFDrawFromRect:toRect:operation:alpha:flipped:context:]): Ditto.
990
991 2005-06-12  Darin Adler  <darin@apple.com>
992
993         Changes by Nick Zitzmann.
994         Reviewed by me.
995
996         - fixed init methods that don't handle return values from the init methods they call
997
998         * WebView.subproj/WebArchive.m:
999         (-[WebArchive init]): Use value returned by init, check it for nil too.
1000         (-[WebArchive initWithMainResource:subresources:subframeArchives:]): Ditto.
1001         (-[WebArchive _initWithPropertyList:]): Ditto.
1002         (-[WebArchive initWithCoder:]): Ditto.
1003         * WebView.subproj/WebClipView.m:
1004         (-[WebClipView initWithFrame:]): Ditto.
1005         * WebView.subproj/WebDebugDOMNode.m:
1006         (-[WebDebugDOMNode initWithName:value:source:children:]): Ditto.
1007         * WebView.subproj/WebFrame.m:
1008         (-[WebFormState initWithForm:values:sourceFrame:]): Ditto.
1009         (-[WebFrame initWithName:webFrameView:webView:]): Ditto.
1010         * WebView.subproj/WebFrameView.m:
1011         (-[WebFrameView initWithFrame:]): Ditto.
1012         * WebView.subproj/WebHTMLRepresentation.m:
1013         (-[WebHTMLRepresentation init]): Ditto.
1014         * WebView.subproj/WebHTMLView.m:
1015         (-[WebHTMLView initWithFrame:]): Ditto.
1016         (-[WebTextCompleteController initWithHTMLView:]): Ditto.
1017         * WebView.subproj/WebImageView.m:
1018         (-[WebImageView initWithFrame:]): Ditto.
1019         * WebView.subproj/WebPreferences.m:
1020         (-[WebPreferences initWithIdentifier:]): Ditto.
1021         * WebView.subproj/WebRenderNode.m:
1022         (-[WebRenderNode initWithName:position:rect:view:children:]): Ditto.
1023         * WebView.subproj/WebResource.m:
1024         (-[WebResource init]): Ditto.
1025         (-[WebResource initWithCoder:]): Ditto.
1026         * WebView.subproj/WebView.m:
1027         (-[WebViewPrivate init]): Call super init.
1028         (-[_WebSafeForwarder initWithTarget:defaultTarget:templateClass:]): Use value returned by init, check it for nil too.
1029         (-[WebView initWithFrame:]): Ditto.
1030
1031 2005-06-12  Maciej Stachowiak  <mjs@apple.com>
1032
1033         Reviewed by Chris Blumenberg.
1034
1035         - fixed <rdar://problem/4142247> REGRESSION: List to browse widgets at Apple website failed. Closing tab afterwards caused Safari crash
1036         http://bugzilla.opendarwin.org/show_bug.cgi?id=3445
1037         
1038         * WebView.subproj/WebFrame.m:
1039         (-[WebFrame _transitionToCommitted:]): Stop loading the non-provisional data
1040         source before swapping in the provisional.
1041         (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): Stop only
1042         the provisional load here, we would not want to stop loading if this navigation
1043         later turns into a download or is cancelled before being committed.
1044         (-[WebFrame stopLoading]): Factored a bit.
1045         (-[WebFrame _cancelProvisionalLoad]): New method to stop only provisional load,
1046         and cancel any pending policy deicions.
1047         (-[WebFrame _stopNonProvisionalLoadOnly]): New mthod that stops only the main
1048         load.
1049
1050 2005-06-10  John Sullivan  <sullivan@apple.com>
1051
1052         reviewed by Dave Harrison (first & second drafts) and Darin Adler (third draft)
1053
1054         - WebKit part of fix for 
1055         <rdar://problem/4145214> REGRESSION (412+): Can't drag URLs from the location bar
1056
1057         * Misc.subproj/WebNSPasteboardExtras.m:
1058         (+[NSPasteboard initialize]):
1059         Reinstate variation of old code that uses CreatePasteboardFlavorTypeName to set up our new pasteboard types.
1060         The newfangled way didn't work.
1061
1062 2005-06-07  Darin Adler  <darin@apple.com>
1063
1064         Change by Mark Rowe <opendarwin.org@bdash.net.nz>.
1065         Reviewed by me.
1066
1067         - fixed the WebKit half of build failure with spaces in the path
1068           http://bugzilla.opendarwin.org/show_bug.cgi?id=3291
1069
1070         * WebKit.pbproj/project.pbxproj: Quote DERIVED_FILE_DIR when it is substituted
1071         into FRAMEWORK_SEARCH_PATHS, and SYMROOT when into HEADER_SEARCH_PATHS.
1072
1073 2005-06-06  Darin Adler  <darin@apple.com>
1074
1075         * Info.plist: Bumped version to 412+. For some reason it was set to 312.1!
1076
1077 2005-06-05  Darin Adler  <darin@apple.com>
1078
1079         Reviewed by Hyatt.
1080
1081         - fixed build that I broke with the license change (some includes of WebException were still around)
1082
1083         * WebKit.pbproj/project.pbxproj: Removed references to WebException.h/m.
1084         * WebView.subproj/WebDataSource.m: Removed include of WebException.h.
1085         * WebView.subproj/WebHTMLView.m: Ditto.
1086         * WebView.subproj/WebView.m: Ditto.
1087
1088         - fixed build under gcc 4.0 (some code moved here from Foundation had warnings)
1089
1090         * Misc.subproj/WebNSDataExtras.m:
1091         (-[NSString _web_capitalizeRFC822HeaderFieldName]): Use char instead of UInt8.
1092         (-[NSData _webkit_guessedMIMEType]):  Use char instead of UInt8, and take out now-
1093         unneeded type casts.
1094
1095 2005-06-05  Darin Adler  <darin@apple.com>
1096
1097         - added appropriate license headers to most files and updated copyright to reflect publication dates
1098
1099         * LICENSE: Added.
1100         * <lots of files>: Added license header.
1101
1102         * WebKit.pbproj/project.pbxproj: Removed references to NP_objc.h.
1103
1104         * API-Issues.rtf: Removed.
1105         * Misc.subproj/WebException.h: Removed.
1106         * Misc.subproj/WebException.m: Removed.
1107         * Plugins.subproj/NP_objc.h: Removed.
1108
1109 2005-06-01  Darin Adler  <darin@apple.com>
1110
1111         Reviewed by John Sullivan.
1112
1113         - WebKit part of fix for <rdar://problem/3166090> add IE JavaScript extension window.showModalDialog
1114
1115         * WebCoreSupport.subproj/WebBridge.m:
1116         (-[WebBridge createModalDialogWithURL:]): Added. Calls the UI delegate, falling back to the generic
1117         "create WebView" method.
1118         (-[WebBridge canRunModal]): Added. Checks the UI delegate to see if it implements runModal.
1119         (-[WebBridge canRunModalNow]): Added. Checks the "inConnectionCallback" field so we can prevent
1120         deadlock since we can't do any I/O while inside a connection callback until this aspect of NSURLConnection
1121         is changed.
1122         (-[WebBridge runModal]): Added. Sets "defersCallbacks" on all other web views in the group, then
1123         calls runModal on the UI delegate.
1124
1125         * WebView.subproj/WebBaseResourceHandleDelegate.h: Added inConnectionCallback class method.
1126         * WebView.subproj/WebBaseResourceHandleDelegate.m:
1127         (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]): Bump count and then
1128         decrement count so we can tell if we are in a callback.
1129         (-[WebBaseResourceHandleDelegate connection:didReceiveAuthenticationChallenge:]): Ditto.
1130         (-[WebBaseResourceHandleDelegate connection:didCancelAuthenticationChallenge:]): Ditto.
1131         (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]): Ditto.
1132         (-[WebBaseResourceHandleDelegate connection:didReceiveData:lengthReceived:]): Ditto.
1133         (-[WebBaseResourceHandleDelegate connection:willStopBufferingData:]): Ditto.
1134         (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]): Ditto.
1135         (-[WebBaseResourceHandleDelegate connection:didFailWithError:]): Ditto.
1136         (-[WebBaseResourceHandleDelegate connection:willCacheResponse:]): Ditto.
1137         (+[WebBaseResourceHandleDelegate inConnectionCallback]): Added. Return YES if count is not 0.
1138
1139         * WebView.subproj/WebMainResourceClient.m:
1140         (-[WebMainResourceClient receivedError:]): Changed to use the method without the connection: parameter
1141         in the base class, since we no longer are overriding the connection: version.
1142         (-[WebMainResourceClient willSendRequest:redirectResponse:]): Change to override the version without
1143         the connection prefix/parameter; now only the base class overrides the actual connection delegate methods.
1144         (-[WebMainResourceClient continueAfterContentPolicy:response:]): Ditto.
1145         (-[WebMainResourceClient didReceiveResponse:]): Ditto.
1146         (-[WebMainResourceClient didReceiveData:lengthReceived:]): Ditto.
1147         (-[WebMainResourceClient didFinishLoading]): Ditto.
1148         (-[WebMainResourceClient didFailWithError:]): Ditto.
1149         (-[WebMainResourceClient loadWithRequestNow:]): Call the method without the connection parameter.
1150
1151         * WebView.subproj/WebUIDelegatePrivate.h: Added new SPI here that WebBrowser implements.
1152
1153 2005-05-26  Darin Adler  <darin@apple.com>
1154
1155         Reviewed by John.
1156
1157         - fix build failure from when I removed WebCoreUnicode
1158
1159         * WebCoreSupport.subproj/WebTextRenderer.m: Removed import of WebUnicode.h that I missed.
1160         (-[WebTextRenderer _convertUnicodeCharacters:length:toGlyphs:]): Switch from our own macros
1161         to the ICU macros for surrogate pairs.
1162         (widthForNextCharacter): Ditto.
1163
1164 2005-05-26  David Harrison  <harrison@apple.com>
1165
1166         <rdar://problem/4120518> Mail: control-T in an empty message crashes mail
1167
1168         * WebCoreSupport.subproj/WebBridge.m:
1169         (-[WebBridge issueTransposeCommand]):
1170         New, to support transpose in JS.
1171
1172 2005-05-26  Darin Adler  <darin@apple.com>
1173
1174         Reviewed by Richard and Dave Harrison.
1175
1176         - eliminate WebCoreUnicode and use ICU directly instead
1177
1178         * Misc.subproj/WebKitNSStringExtras.m: (canUseFastRenderer): Use u_charDirection directly.
1179         * WebCoreSupport.subproj/WebTextRenderer.m: Removed import of <WebCore/WebCoreUnicode.h>.
1180         * WebView.subproj/WebHTMLView.m: (+[WebHTMLView initialize]): Removed call to WebKitInitializeUnicode.
1181
1182         * Misc.subproj/WebUnicode.h: Removed.
1183         * Misc.subproj/WebUnicode.m: Removed.
1184         * Misc.subproj/WebUnicodeTables.m: Removed.
1185
1186         * WebKit.pbproj/project.pbxproj: Removed files.
1187
1188 2005-05-24  Richard Williamson   <rjw@apple.com>
1189
1190         Fixed <rdar://problem/4097289> -[WebView elementAtPoint:] failing when WebView is nested and offset
1191
1192         Code to determine the correct frame under the window point was
1193         converting the point incorrectly.
1194
1195         Reviewed by Chris.
1196
1197         * WebView.subproj/WebView.m:
1198         (-[WebView _frameViewAtWindowPoint:]):
1199
1200 2005-05-23  John Sullivan  <sullivan@apple.com>
1201
1202         Reviewed by Kevin.
1203         
1204         - WebKit part of <rdar://problem/4125783> WebKit needs a way to control whether textareas are resizable
1205
1206         * WebView.subproj/WebPreferencesPrivate.h:
1207         added private-for-now getter and setter for new preference
1208         * WebView.subproj/WebPreferenceKeysPrivate.h:
1209         added private preference key controlling whether textareas are resizable
1210         * WebView.subproj/WebPreferences.m:
1211         (+[WebPreferences initialize]):
1212         initial value of new preference is NO, so other clients' behavior doesn't change
1213         (-[WebPreferences textAreasAreResizable]):
1214         new getter
1215         (-[WebPreferences setTextAreasAreResizable:]):
1216         new setter
1217         
1218         * WebView.subproj/WebView.m:
1219         (-[WebView _updateWebCoreSettingsFromPreferences:]):
1220         update this new setting in WebCore
1221
1222         * English.lproj/StringsNotToBeLocalized.txt:
1223         updated for these changes
1224
1225 2005-05-23  Chris Blumenberg  <cblu@apple.com>
1226
1227         Changed type for identifier parameter in WebResourceLoadDelegate-related calls to id from NSString.
1228
1229         Reviewed by kevin.
1230
1231         * WebCoreSupport.subproj/WebBridge.m:
1232         (-[WebBridge objectLoadedFromCacheWithURL:response:data:]):
1233         (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
1234         * WebView.subproj/WebFrame.m:
1235         (-[WebFrame _opened]):
1236         (-[WebFrame _requestFromDelegateForRequest:identifier:error:]):
1237         (-[WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]):
1238         (-[WebFrame _saveResourceAndSendRemainingDelegateMessagesWithRequest:identifier:response:data:error:]):
1239         * WebView.subproj/WebFrameInternal.h:
1240
1241 2005-05-20  Chris Blumenberg  <cblu@apple.com>
1242
1243         Fixed: <rdar://problem/4098786> sync. XMLHttpRequest works w/o AllowNetworkAccess key because load delegate is not consulted
1244
1245         Synchronous loads did not cause the willSendRequest method on the resource load delegate to be called. This is the method that Dashboard uses to enforce AllowNetworkAccess and this must be called to avoid exploits.
1246
1247         Reviewed by sullivan.
1248
1249         * WebCoreSupport.subproj/WebBridge.m:
1250         (-[WebBridge objectLoadedFromCacheWithURL:response:data:]): call [WebFrame _requestFromDelegateForRequest:identifier:error:] then 
1251         [WebFrame _saveResourceAndSendRemainingDelegateMessagesWithRequest:identifier:response:data:error:] so synthetic resource load delegate 
1252         methods are called and the data is saved as a WebResource for resources in the WebCore cache.
1253
1254         (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): call [WebFrame _requestFromDelegateForRequest:identifier:error:],
1255         respect its result, do the load and then call [WebFrame _saveResourceAndSendRemainingDelegateMessagesWithRequest:identifier:response:data:error:] 
1256         for synchronous loads
1257
1258         * WebView.subproj/WebFrame.m:
1259         (-[WebFrame _opened]): call [WebFrame _requestFromDelegateForRequest:identifier:error:] then 
1260         [WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:] so synthetic resource load delegate methods are called 
1261         for subresrources in the page cache
1262         
1263         (-[WebFrame _requestFromDelegateForRequest:identifier:error:]): new, was part of the removed _sendResourceLoadDelegateMessagesForURL:::
1264         This method calls identifierForInitialRequest and willSendRequest.
1265
1266         (-[WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]): new, was part of the removed _sendResourceLoadDelegateMessagesForURL:::
1267         This method calls the remaining resource load delegate messages.
1268
1269         (-[WebFrame _saveResourceAndSendRemainingDelegateMessagesWithRequest:identifier:response:data:error:]): new, saves the resource and calls
1270         [WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]
1271
1272         * WebView.subproj/WebFrameInternal.h:
1273
1274 2005-05-17  Chris Blumenberg  <cblu@apple.com>
1275         
1276         Fixed: <rdar://problem/4119282> clicking a link in an RTF file opens the link with NSWorkspace without the usual security checks or WebView delegate control
1277
1278         Reviewed by mjs.
1279
1280         * WebCoreSupport.subproj/WebBridge.m:
1281         (-[WebBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]): pass the passed referrer to canLoadURL::: not [self referrer]
1282         (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): ditto
1283         * WebView.subproj/WebTextView.m:
1284         (-[WebTextView clickedOnLink:atIndex:]): call the loadURL bridge method so that security checks are made, command/option clicks work, policy delegate is consulted etc.
1285
1286 2005-05-17  Chris Blumenberg  <cblu@apple.com>
1287
1288         Fixed: <rdar://problem/4120255> web archives on remote servers can be viewed directly (with major security issues); should download instead
1289
1290         Reviewed by mjs.
1291
1292         * WebView.subproj/WebBaseResourceHandleDelegate.h:
1293         * WebView.subproj/WebMainResourceClient.m:
1294         (-[WebMainResourceClient continueAfterContentPolicy:response:]): if the WebKit client has chosen to "use" a remote web archive, stop the load with an error
1295
1296 2005-05-16  Darin Adler  <darin@apple.com>
1297
1298         - attempt to get things building under "Saffron" development tools
1299
1300         * WebKit.pbproj/project.pbxproj: Use BUILT_PRODUCTS_DIR instead of SYMROOT.
1301
1302 2005-05-13  John Sullivan  <sullivan@apple.com>
1303
1304         Reviewed by Kevin.
1305         
1306         - fixed <rdar://problem/4093306> Safari crashes if Esc key is held down during series 
1307         of authentication sheets
1308
1309         * Panels.subproj/WebAuthenticationPanel.m:
1310         (-[WebAuthenticationPanel cancel:]):
1311         retain and autorelease self. This is a workaround for an AppKit key-handling issue, which I wrote up as:
1312         <rdar://problem/4118422> Key-down events can be sent to a closed window if a key is kept pressed down
1313
1314 2005-05-12  John Sullivan  <sullivan@apple.com>
1315
1316         Reviewed by Kevin.
1317
1318         - rolled in changes from experimental-ui-branch to support resizable textareas
1319         and find-as-you-type and confirming unsubmitted form changes. The files/functions 
1320         modified are listed just below. After that are the ChangeLog comments from the branch.
1321
1322         * WebCoreSupport.subproj/WebBridge.m:
1323         (-[WebBridge textDidChange:]):
1324         * WebView.subproj/WebFormDelegate.h:
1325         * WebView.subproj/WebFormDelegate.m:
1326         (-[WebFormDelegate textDidChange:inFrame:]):
1327         * WebView.subproj/WebHTMLView.m:
1328         (-[WebHTMLView maintainsInactiveSelection]):
1329         (-[WebHTMLView searchFor:direction:caseSensitive:wrap:]):
1330         (-[WebHTMLView _searchFor:direction:caseSensitive:wrap:findInSelection:]):
1331         * WebView.subproj/WebView.m:
1332         (-[WebView _searchFor:direction:caseSensitive:wrap:findInSelection:]):
1333         (-[WebView searchFor:direction:caseSensitive:wrap:]):
1334         (-[WebView makeTextStandardSize:]):
1335         (-[WebView maintainsInactiveSelection]):
1336         * WebView.subproj/WebViewPrivate.h:
1337         
1338         2005-04-18  John Sullivan  <sullivan@apple.com>
1339
1340                 WebKit support for notifying a form delegate when a
1341                 textarea's contents have changed (as opposed to a 
1342                 textfield, which was already handled).
1343
1344                 Reviewed by Maciej.
1345
1346                 * WebView.subproj/WebFormDelegate.h:
1347                 * WebView.subproj/WebFormDelegate.m:
1348                 (-[WebFormDelegate textDidChange:inFrame:]):
1349                 new form delegate method
1350
1351                 * WebCoreSupport.subproj/WebBridge.m:
1352                 (-[WebBridge textDidChange:]):
1353                 new method, calls through to form delegate
1354                 
1355         2005-04-11  John Sullivan  <sullivan@apple.com>
1356
1357                 Fixed inability to wrap around in Find in Page 
1358
1359                 * WebView.subproj/WebView.m:
1360                 (-[WebView _searchFor:direction:caseSensitive:wrap:findInSelection:]):
1361                 changed wrapFlag from NO to YES on two lines (copy/paste error)
1362
1363         2005-04-07  John Sullivan  <sullivan@apple.com>
1364
1365                 WebKit support for find-as-you-type. Needed an additional parameter on
1366                 a method from WebDocumentSearching protocol. Since that's a public protocol, 
1367                 I couldn't just add the parameter. For now I hacked it with an undeclared
1368                 internal method that's discovered via respondsToSelector. Probably the right
1369                 long-term approach is to deprecate the WebDocumentSearching protocol and introduce
1370                 a replacement that has a more flexible set of parameters for possible future
1371                 expansion.
1372
1373                 Reviewed by Dave Hyatt.
1374
1375                 * WebView.subproj/WebHTMLView.m:
1376                 (-[WebHTMLView searchFor:direction:caseSensitive:wrap:]):
1377                 now calls new one-more-parameter version passing NO for new parameter to match old behavior
1378                 (-[WebHTMLView _searchFor:direction:caseSensitive:wrap:findInSelection:]):
1379                 new method, adds findInSelection parameter and passes it through to bridge
1380                  
1381                 * WebView.subproj/WebView.m:
1382                 (-[WebView searchFor:direction:caseSensitive:wrap:]):
1383                 now calls new one-more-parameter version passing NO for new parameter to match old behavior
1384                 (-[WebView _searchFor:direction:caseSensitive:wrap:findInSelection:]):
1385                 new method, adds findInSelection parameter and passes it through
1386
1387         2005-04-07  John Sullivan  <sullivan@apple.com>
1388
1389                 WebKit support to allow clients to control whether the selection is still
1390                 drawn when the first responder is elsewhere. Formerly this was hardwired
1391                 to be true only when -[WebView isEditable] was true.
1392
1393                 Reviewed by Darin.
1394
1395                 * WebView.subproj/WebHTMLView.m:
1396                 (-[WebHTMLView maintainsInactiveSelection]):
1397                 check [WebView maintainsInactiveSelection] rather than just [WebView isEditable]
1398                 
1399                 * WebView.subproj/WebViewPrivate.h:
1400                 * WebView.subproj/WebView.m:
1401                 (-[WebView maintainsInactiveSelection]):
1402                 new method for clients to override, returns -[self isEditable]
1403         
1404
1405 2005-05-10  John Sullivan  <sullivan@apple.com>
1406
1407         Reviewed by Kevin.
1408         
1409         - WebKit support for <rdar://problem/3795701> Menu item/keyboard shortcut to 
1410         restore text zoom to normal
1411
1412         * WebView.subproj/WebView.m:
1413         (-[WebView validateUserInterfaceItem:]):
1414         validate makeTextStandardSize by calling canMakeTextStandardSize
1415         (-[WebView canMakeTextStandardSize]):
1416         new method, returns YES unless text size multiplier is currently 1
1417         (-[WebView makeTextStandardSize:]):
1418         new method, sets text size multiplier to 1
1419         
1420         * WebView.subproj/WebViewPrivate.h:
1421         add makeTextStandardSize: and canMakeTextStandardSize to pending public category
1422
1423 2005-05-10  John Sullivan  <sullivan@apple.com>
1424
1425         Reviewed by Chris.
1426         
1427         - fixed <rdar://problem/4067981> Mail places RTF flavor before RTFD flavor when dragging 
1428         mixed image/text content.
1429
1430         * WebView.subproj/WebHTMLView.m:
1431         (+[WebHTMLView _selectionPasteboardTypes]):
1432         put RTFD type before RTF type in array of types to declare
1433
1434 2005-05-09  Chris Blumenberg  <cblu@apple.com>
1435
1436         Turned assertion into error message to prevent crash when encountering this bug:
1437         <rdar://problem/4067625> connection:willCacheResponse: is called inside of [NSURLConnection initWithRequest:delegate:]
1438         
1439         * WebView.subproj/WebBaseResourceHandleDelegate.h:
1440         * WebView.subproj/WebBaseResourceHandleDelegate.m:
1441         (-[WebBaseResourceHandleDelegate loadWithRequest:]): set flag to track when we're initializing the connection
1442         (-[WebBaseResourceHandleDelegate connection:willCacheResponse:]): log error
1443
1444 2005-05-09  Darin Adler  <darin@apple.com>
1445
1446         * Makefile.am: Don't set up PBXIntermediatesDirectory explicitly;
1447         Not needed to make builds work, spews undesirable error messages too.
1448
1449 2005-05-06  Darin Adler  <darin@apple.com>
1450
1451         Reviewed by Maciej.
1452
1453         - make building multiple trees with make work better
1454
1455         * Makefile.am: Set up Xcode build directory before invoking xcodebuild.
1456
1457 2005-05-04  Darin Adler  <darin@apple.com>
1458
1459         Reviewed by Dave Hyatt.
1460
1461         - fixed layout tests
1462
1463         * WebKit.pbproj/project.pbxproj: Set deployment target to 10.3 in the build styles.
1464         When built without a build style (by Apple B&I) we want to get the target from the
1465         environment. But when built with a build style (by Safari engineers and others), we want
1466         to use 10.3. Because our deployment target was not set, we ran into this bug:
1467
1468             <rdar://problem/4108717> CTFontGetGlyphWithName doesn't work with some strings
1469
1470         * Makefile.am: Took out extra parameters that make command-line building different from
1471         Xcode building. Now that this is fixed, you should not get a full rebuild if you switch
1472         from command line to Xcode or back.
1473
1474 2005-05-04  Chris Blumenberg  <cblu@apple.com>
1475
1476         Fixed: 
1477         <rdar://problem/4078417> REGRESSION (125-412): MLB gameday page doesn't update (Flash)
1478         <rdar://problem/4072280> XMLHttpRequest calls onReadyStateChange callback with bogus status value
1479         
1480         Reviewed by john.
1481
1482         Our WebKit-level caching of subresources "dumbed-down" information held in NSURLResponse. This caused some loads to lack response headers and thus disabling cache directives. Status codes were also not retained and this caused XMLHttpRequest to fail frequently. The fix is to have WebResource retain the NSURLResponse and to use the NSURLResponse when we decide to load from WebResources.
1483
1484         * WebCoreSupport.subproj/WebBridge.m:
1485         (-[WebBridge objectLoadedFromCacheWithURL:response:data:]): call new [WebResource _initWithData:URL:response:]
1486         * WebView.subproj/WebBaseResourceHandleDelegate.m:
1487         (-[WebBaseResourceHandleDelegate _canUseResourceWithResponse:]): new, checks response cache directives
1488         (-[WebBaseResourceHandleDelegate loadWithRequest:]): call _canUseResourceWithResponse:
1489         (-[WebBaseResourceHandleDelegate saveResource]): call new [WebResource _initWithData:URL:response:]
1490         * WebView.subproj/WebResource.m:
1491         (-[WebResourcePrivate dealloc]):
1492         (-[WebResource initWithData:URL:MIMEType:textEncodingName:frameName:]): call renamed _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:
1493         (-[WebResource initWithCoder:]): decode the NSURLReponse
1494         (-[WebResource encodeWithCoder:]): encode the NSURLReponse
1495         (-[WebResource _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:]): take the NSURLReponse
1496         (-[WebResource _initWithData:URL:response:]): new
1497         (-[WebResource _initWithPropertyList:]): decode the NSURLReponse
1498         (-[WebResource _propertyListRepresentation]): encode the NSURLReponse
1499         (-[WebResource _response]): return ivar if we have one
1500         * WebView.subproj/WebResourcePrivate.h:
1501
1502 2005-05-03  David Hyatt  <hyatt@apple.com>
1503
1504         Fix object element support so that fallback content works.  With this change Safari passes the Acid2 test.
1505         
1506         Reviewed by Maciej
1507
1508         * WebCoreSupport.subproj/WebBridge.m:
1509         (-[WebBridge determineObjectFromMIMEType:URL:]):
1510         * WebView.subproj/WebDataSource.m:
1511         (-[WebDataSource _receivedMainResourceError:complete:]):
1512         * WebView.subproj/WebMainResourceClient.m:
1513         (-[WebMainResourceClient continueAfterContentPolicy:response:]):
1514
1515 2005-05-03  Darin Adler  <darin@apple.com>
1516
1517         * WebView.subproj/WebUIDelegate.h: Fixed incorrect comment.
1518
1519 2005-05-01  Darin Adler  <darin@apple.com>
1520
1521         - move to Xcode native targets and stop checking in generated files
1522
1523         * WebKit.pbproj/project.pbxproj: Updated to use native targets and generate all the generated
1524         files, so we don't have to check them in any more.
1525         * Info.plist: Added. Native targets use a separate file for this.
1526
1527         * Plugins.subproj/npapi.m: Fixed import statement to get npapi.h from <WebKit/> rather than current directory.
1528
1529         * Makefile.am: Removed timestamp cleaning rules since we don't use it any more.
1530
1531         * .cvsignore: Removed various timestamp files.
1532
1533         * DOM.subproj/DOM-compat.h: Removed.
1534         * DOM.subproj/DOM.h: Removed.
1535         * DOM.subproj/DOMCSS.h: Removed.
1536         * DOM.subproj/DOMCore.h: Removed.
1537         * DOM.subproj/DOMEvents.h: Removed.
1538         * DOM.subproj/DOMExtensions.h: Removed.
1539         * DOM.subproj/DOMHTML.h: Removed.
1540         * DOM.subproj/DOMPrivate.h: Removed.
1541         * DOM.subproj/DOMRange.h: Removed.
1542         * DOM.subproj/DOMStylesheets.h: Removed.
1543         * DOM.subproj/DOMTraversal.h: Removed.
1544         * DOM.subproj/DOMViews.h: Removed.
1545         * Plugins.subproj/WebScriptObject.h: Removed.
1546         * Plugins.subproj/npapi.h: Removed.
1547         * Plugins.subproj/npruntime.h: Removed.
1548         * copy-webcore-files-to-webkit: Removed.
1549         * embed-frameworks.sh: Removed.
1550         * force-clean-timestamp: Removed.
1551
1552 2005-04-28  Darin Adler  <darin@apple.com>
1553
1554         Reviewed by Maciej.
1555
1556         - fixed problems preventing us from compiling with gcc 4.0
1557
1558         * WebKit.pbproj/project.pbxproj: Removed -fobjc-exceptions because I can't figure out an easy
1559         way to pass it only when compiling Objective-C/C++. Removed -Wmissing-prototypes from
1560         WARNING_CPLUSPLUSFLAGS since it's now a C-only warning.
1561
1562         * History.subproj/WebHistoryItem.m: (-[WebHistoryItem pageCache]): Changed return type
1563         to match the declaration.
1564         * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]):
1565         Fixed a BOOL that should have been a Boolean.
1566         * WebCoreSupport.subproj/WebTextRenderer.m: Removed redundant copy of ROUND_TO_INT, also in
1567         a WebCore header.
1568         (-[WebTextRenderer _computeWidthForSpace]): Had to add cast because of difference in type of
1569         ROUND_TO_INT vs. CEIL_TO_INT.
1570         (pathFromFont): Added a cast to convert UInt8 * to char *.
1571         * WebView.subproj/WebFrameView.m:
1572         (-[WebFrameView _setDocumentView:]): Fixed parameter type to match the declaration.
1573         (-[WebFrameView documentView]): Fixed return type to match the declaration.
1574         * WebView.subproj/WebHTMLView.m:
1575         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
1576         Initialized a variable to quiet an incorrect gcc 4.0 uninitialized variable warning.
1577         (-[WebHTMLView deleteToMark:]): Switched from @try style to NS_DURING style of exception handler
1578         because we can't pass -fobjc-exceptions just to Objective-C at the moment (see above).
1579         (-[WebHTMLView selectToMark:]): Ditto.
1580         (-[WebHTMLView swapWithMark:]): Ditto.
1581
1582 2005-04-27  John Sullivan  <sullivan@apple.com>
1583
1584         Reviewed by Dave Harrison.
1585         
1586         - fixed <rdar://problem/3547489> pop-up window blocking preference and 
1587         menu item can easily get out of sync.
1588
1589         * WebView.subproj/WebPreferences.m:
1590         (-[WebPreferences _setStringValue:forKey:]):
1591         save local value before setting value in NSUserDefaults, so clients reacting to NSUserDefaults
1592         change notification but calling back on WebPreferences API will see the updated value.
1593         (-[WebPreferences _setIntegerValue:forKey:]):
1594         ditto
1595         (-[WebPreferences _setBoolValue:forKey:]):
1596         ditto
1597
1598 2005-04-26  Richard Williamson   <rjw@apple.com>
1599
1600         Fixed <rdar://problem/4098713> Scripting API is incompatible with Mozilla
1601
1602         Reviewed by Chris.
1603
1604         * Plugins.subproj/npfunctions.h:
1605         * Plugins.subproj/npruntime.h:
1606
1607 2005-04-26  Darin Adler  <darin@apple.com>
1608
1609         Reviewed by John.
1610
1611         - fixed <rdar://problem/3655817> please add support for mouse wheel events and the onmousewheel handler
1612
1613         * WebView.subproj/WebHTMLView.m: (-[WebHTMLView scrollWheel:]): Call sendScrollWheelEvent: method
1614         instead of the old scrollOverflowWithScrollWheelEvent: (just a name change).
1615
1616 2005-04-18  Darin Adler  <darin@apple.com>
1617
1618         Reviewed by Hyatt.
1619
1620         - fixed <rdar://problem/4092614> REGRESSION (Tiger): progressively loaded background images "scroll around" instead of just appearing
1621
1622         * WebCoreSupport.subproj/WebImageData.m:
1623         (-[WebImageData _imageSourceOptions]): Moved a global inside this function, since it's only used here.
1624         (-[WebImageData _cacheImages:allImages:]): Fixed a sizeof that was getting the size of the wrong thing.
1625         (-[WebImageData _isSizeAvailable]): Used calloc in a more consistent way.
1626         (drawPattern): Removed an unneeded cast.
1627         (-[WebImageData tileInRect:fromPoint:context:]): Here's the actual bug fix. Don't use the image size
1628         when deciding whether the image needs to be tiled as a pattern nor when creating the pattern: in both
1629         cases, use the tile size. The old way was wrong, and the new way works perfectly. Also removed uneeded
1630         error message when the image is not yet loaded enough to create a CGImageRef for it -- it's fine to
1631         draw nothing in that case.
1632
1633 2005-04-14  John Sullivan  <sullivan@apple.com>
1634
1635         Reviewed by Chris.
1636
1637         * WebView.subproj/WebBaseResourceHandleDelegate.m:
1638         (-[WebBaseResourceHandleDelegate connection:willCacheResponse:]):
1639         Beefed up assertion that's been bugging me and Chris to include
1640         the two troublemaking values.
1641
1642 2005-04-05  David Hyatt  <hyatt@apple.com>
1643
1644         Fix for 4077106, wheel scroll amount smaller in Tiger.  All along wheeling should have been 4x the default
1645         line height of 10 (just as arrow keys did).  Scroll arrows should have done this too for scroll views (they did
1646         already for overflow sections).  This patch puts the override into the scrollview itself, and removes the
1647         multipliers in the private frame methods.
1648         
1649         Reviewed by darin
1650
1651         * WebView.subproj/WebFrameView.m:
1652         (-[WebFrameView _verticalKeyboardScrollDistance]):
1653         (-[WebFrameView initWithFrame:]):
1654         (-[WebFrameView _horizontalKeyboardScrollDistance]):
1655
1656 === WebKit-312.1 ===
1657
1658 2005-03-31  Chris Blumenberg  <cblu@apple.com>
1659
1660         Fixed: <rdar://problem/4070729> REGRESSION (125-311, Panther-only?): Safari crashes while reloading "My eBay" page
1661
1662         Reviewed by rjw.
1663
1664         * WebView.subproj/WebBaseResourceHandleDelegate.m:
1665         (-[WebBaseResourceHandleDelegate resourceData]): retain and autorelease resourceData since releaseResources (which releases resourceData) may be called before the caller of this method has an opporuntity to retain the returned data
1666
1667 === Safari-412 ===
1668
1669 === Safari-411 ===
1670
1671 2005-03-23  Richard Williamson   <rjw@apple.com>
1672
1673         Use Patti Yeh's hack to determine the appropriate rectangle
1674         to place the "associated word" window.  
1675         If there is no marked text firstRectForCharacterRange: will
1676         use the selected range to determine the returned rectangle,
1677         ignoring the input range.  This is the fix from
1678         4029491 that I previously backed out.
1679
1680         Reviewed by Vicki.
1681
1682         * WebView.subproj/WebHTMLView.m:
1683         (-[WebHTMLView firstRectForCharacterRange:]):
1684
1685 2005-03-23  Richard Williamson   <rjw@apple.com>
1686
1687         Fixed <rdar://problem/4062490> REGRESSION (WebKit-408): no subresources reported in Activity window after going back at hrweb.apple.com
1688
1689         Stop collecting subresource responses after the document
1690         had loaded, not after it has been opened.
1691
1692         Reviewed by Chris.
1693
1694         * WebView.subproj/WebFrame.m:
1695         (-[WebFrame _setState:]):
1696         (-[WebFrame _opened]):
1697
1698 2005-03-21  Maciej Stachowiak  <mjs@apple.com>
1699
1700         Reviewed by Darin.
1701
1702         <rdar://problem/4051145> The QuickTime Cocoa plug-in needs an SPI that it can call to check for URL policy
1703
1704         * Plugins.subproj/WebPluginContainerCheck.h: Added.
1705         * Plugins.subproj/WebPluginContainerCheck.m: Added this new helper class to encapsulate
1706         an async plugin navigation check.
1707         (+[WebPluginContainerCheck checkWithRequest:target:resultObject:selector:controller:]): Convenience allocator that gives autoreleased value.
1708         (-[WebPluginContainerCheck initWithRequest:target:resultObject:selector:controller:]): Initializer.
1709         (-[WebPluginContainerCheck finalize]): Just assert that we're done, it would
1710         be bad to deallocate this object while request is still outstanding.
1711         (-[WebPluginContainerCheck dealloc]): Ditto.
1712         (-[WebPluginContainerCheck _continueWithPolicy:]): Method to continue after async
1713         policy check.
1714         (-[WebPluginContainerCheck _isDisallowedFileLoad]): Do "file: URL from remote content"
1715         check.
1716         (-[WebPluginContainerCheck _actionInformationWithURL:]): Helper to make action
1717         dictionary.
1718         (-[WebPluginContainerCheck _askPolicyDelegate]): Call policy delegate to let
1719         the app decide if this load is allowed.
1720         (-[WebPluginContainerCheck start]): Start the check.
1721         (-[WebPluginContainerCheck cancel]): Cancel a check in progress.
1722         * Plugins.subproj/WebPluginController.h:
1723         * Plugins.subproj/WebPluginController.m:
1724         (-[WebPluginController initWithDocumentView:]): Initialize new _checksInProgress field.
1725         (-[WebPluginController _webPluginContainerCancelCheckIfAllowedToLoadRequest:]): Implement
1726         this new SPI method.
1727         (-[WebPluginController _cancelOutstandingChecks]): New helper to make sure to cancel
1728         all outstanding requests when destroying all plugins.
1729         (-[WebPluginController destroyAllPlugins]): Call above helper.
1730         (-[WebPluginController _webPluginContainerCheckIfAllowedToLoadRequest:inFrame:resultObject:selector:]): Implement this new plug-in SPI method.
1731         (-[WebPluginController bridge]): New helper method.
1732         (-[WebPluginController webView]): New helper method.
1733         * WebView.subproj/WebPolicyDelegatePrivate.h: Add new navigation
1734         type WebNavigationTypePlugInRequest.
1735         * WebKit.pbproj/project.pbxproj: Add new files.
1736         * WebView.subproj/WebDefaultPolicyDelegate.m:
1737         (-[WebDefaultPolicyDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]): Don't open externally on a plug-in request.
1738
1739 2005-03-23  Richard Williamson   <rjw@apple.com>
1740
1741         Fixed <rdar://problem/4053515> REGRESSION (Mail): Kotoeri input method reconversion does not work in WebViews
1742
1743         We now use actual document NSRanges to represent both marked text
1744         ranges and selection ranges.
1745
1746         Reviewed by Ken Kocienda.
1747
1748         * WebView.subproj/WebHTMLView.m:
1749         (-[WebHTMLView validAttributesForMarkedText]):
1750         (-[WebHTMLView firstRectForCharacterRange:]):
1751         (-[WebHTMLView selectedRange]):
1752         (-[WebHTMLView markedRange]):
1753         (-[WebHTMLView _selectMarkedText]):
1754         (-[WebHTMLView setMarkedText:selectedRange:]):
1755
1756 === Safari-410 ===
1757
1758 2005-03-22  Darin Adler  <darin@apple.com>
1759
1760         * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
1761
1762 === Safari-409 ===
1763
1764 2005-03-20  Maciej Stachowiak  <mjs@apple.com>
1765
1766         Reviewed by Darin.
1767
1768         <rdar://problem/4060020> Add stub version of security SPI for QuickTime plug-in so QuickTime team has something to compile and link against
1769         
1770         * Plugins.subproj/WebPluginContainerPrivate.h: Added.
1771         * Plugins.subproj/WebPluginController.m:
1772         (-[WebPluginController _webPluginContainerCheckIfAllowedToLoadRequest:inFrame:resultObject:selector:]):
1773         (-[WebPluginController _webPluginContainerCancelCheckIfAllowedToLoadRequest:]):
1774         * WebKit.pbproj/project.pbxproj:
1775
1776 2005-03-19  David Harrison  <harrison@apple.com>
1777
1778         Reviewed by Maciej.
1779         
1780         <rdar://problem/4059479> Misspelling underline does underline the whole word, could go farther to the right
1781
1782         * WebCoreSupport.subproj/WebTextRenderer.m:
1783         (-[WebTextRenderer misspellingLinePatternGapWidth]):
1784         (-[WebTextRenderer drawLineForMisspelling:withWidth:]):
1785         Consider that the last pixel in the underline dot pattern is transparent.
1786
1787 2005-03-19  Darin Adler  <darin@apple.com>
1788
1789         Reviewed by Maciej (a while back).
1790
1791         - fixed <rdar://problem/4059323> local-file security check is allowing plug-in streams, but must not
1792
1793         * Plugins.subproj/WebNetscapePluginStream.m:
1794         (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
1795         Roll out change I made on 3-13. That change is needed for subresource, but not for plug-in streams.
1796         For plug-in streams it's too risky, and leaves a serious security hole open.
1797
1798 2005-03-19  Darin Adler  <darin@apple.com>
1799
1800         Reviewed by Ken and John.
1801
1802         - fixed <rdar://problem/4059123> REGRESSION (402-403): deleteWordForward: and deleteWordBackward: start deleting single characters after the first delete
1803
1804         * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]):
1805         Fixed backwards logic in here and added missing check. Set action to one of the two typing actions only
1806         if isTypingAction is YES.
1807
1808 2005-03-19  David Harrison  <harrison@apple.com>
1809
1810         Reviewed by me (written by Patti Yeh).
1811         
1812         <rdar://problem/4029491> <TCIM> CangJie: the candidate window appears at the top left hand corner during typing in Mail and iChat
1813
1814         * WebView.subproj/WebHTMLView.m:
1815         (-[WebHTMLView firstRectForCharacterRange:]):
1816         Use selected range if there is no marked range.
1817
1818 === Safari-408 ===
1819
1820 2005-03-18  David Harrison  <harrison@apple.com>
1821
1822         Reviewed by Darin.
1823
1824         <rdar://problem/3584942> AX: Safari Accessibility parent-child mismatch
1825
1826         * WebView.subproj/WebFrameView.m:
1827         (-[WebFrameView webCoreBridge]):
1828         New to conform to WebCoreBridgeHolder protocol.
1829
1830 2005-03-18  Richard Williamson   <rjw@apple.com>
1831         
1832         Fixed <rdar://problem/4057004> Data from XMLHTTPRequest is never dealloced
1833
1834         WebDataSource keeps an array of all the NSURLResponses associated
1835         with the load for a page.  This is used to playback delegate messages
1836         when loading from the page cache.  However, after the document
1837         has completed it's initial load, we continue to keep track of responses. 
1838         So, this has the consequence of keeping all the responses for a page
1839         around for the life of the page.  NSURLResponses are now very
1840         heavy.  They indirectly reference the resource data (via the
1841         download assessment dictionary).  This fix will keep
1842         references to responses around for those resources loaded during initial
1843         page load, but not after that point.
1844
1845         Reviewed by Ken.
1846
1847         * WebView.subproj/WebDataSource.m:
1848         (-[WebDataSource _addResponse:]):
1849         (-[WebDataSource _stopRecordingResponses]):
1850         * WebView.subproj/WebDataSourcePrivate.h:
1851         * WebView.subproj/WebFrame.m:
1852         (-[WebFrame _opened]):
1853
1854 2005-03-18  Ken Kocienda  <kocienda@apple.com>
1855
1856         Reviewed by Darin
1857
1858         Fix for this bug:
1859         
1860         <rdar://problem/4053729> Copy/paste of page with frames into Blot or Mail does nothing and loses insertion point
1861
1862         * WebView.subproj/WebHTMLView.m:
1863         (-[WebHTMLView _selectedArchive]): Wrap frameset documents in an iframe, so they can be pasted into 
1864         existing documents which will have a body or frameset of their own.
1865
1866 === Safari-407 ===
1867
1868 2005-03-17  Richard Williamson   <rjw@apple.com>
1869
1870         Fixed <rdar://problem/4055562> REGRESSION (Tiger): Safari doesn't draw progressively-loaded JPEGs (www.theregister.co.uk, www.titantalk.com)
1871
1872         Anothe side effect of lazy loading of image meta data.  We now
1873         don't cache image size until size meta data is actually available.
1874
1875         Reviewed by Darin.
1876
1877         * WebCoreSupport.subproj/WebImageData.m:
1878         (-[WebImageData size]):
1879
1880 2005-03-16  David Harrison  <harrison@apple.com>
1881
1882         Reviewed by Maciej.
1883         
1884         <rdar://problem/4048506> Deleting from beginning of editable div deletes other document elements
1885         
1886         Also changed WebCore.
1887
1888         * WebView.subproj/WebHTMLView.m:
1889         (-[WebHTMLView _shouldDeleteRange:]):
1890         Added call to new bridge method canDeleteRange.
1891
1892 2005-03-16  Ken Kocienda  <kocienda@apple.com>
1893
1894         Reviewed by Darin
1895
1896         Fix for this bug:
1897         
1898         <rdar://problem/4042935> undo doesn't work properly during inline input
1899
1900         * WebView.subproj/WebHTMLView.m:
1901         (-[WebHTMLView setMarkedText:selectedRange:]): Call new -[WebCoreBridge replaceMarkedTextWithText:] instead of 
1902         -[WebCoreBridge replaceSelectionWithText:selectReplacement:smartReplace:]. The former call was just added in 
1903         order to provide a better mapping of international text input onto the typing command/undo design.
1904
1905 2005-03-15  Richard Williamson   <rjw@apple.com>
1906
1907         Fixed <rdar://problem/4040321> Exception: Someone's trying to encode a WebDataRequestParameters instance
1908
1909         If client mutates request use new Foundation SPI to address remove applewebdata properties      from request.
1910
1911         Reviewed by Ken Kocienda.
1912
1913         * WebView.subproj/WebBaseResourceHandleDelegate.m:
1914         (-[WebBaseResourceHandleDelegate willSendRequest:redirectResponse:]):
1915         * WebView.subproj/WebDataProtocol.h:
1916         * WebView.subproj/WebDataProtocol.m:
1917         (+[NSURLRequest _webDataRequestPropertyKey]):
1918
1919 2005-03-15  Ken Kocienda  <kocienda@apple.com>
1920
1921         Reviewed by Vicki
1922
1923         Fox for this bug:
1924         
1925         <rdar://problem/4052642> Each delete keystroke is in its own undo group; not included in undo group with other typing
1926
1927         Calling -[WebCore setSelectedDOMRange:range affinity:] had the result of "closing" any active set of typing
1928         keystrokes grouped together in a single undo operation. My change on 27 Jan to route delete keystrokes 
1929         through _deleteRange:killRing:... made this feature regress. Previous to that change, the backwards delete
1930         key went through separate code that is no longer in the tree that did not set the selection in the way
1931         it is done now.
1932         
1933         The solution is to add an extra argument to the set-selection call. The WebCoreBridge now offers this method:
1934         -[WebCore setSelectedDOMRange:range affinity:closeTyping:]. Now, callers must indicate whether setting the 
1935         selection will act to close typing or not. The code changes below all add this new argument with the
1936         appropriate value for closeTyping.
1937
1938         * WebView.subproj/WebHTMLView.m:
1939         (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:]): Passes NO for closeTyping when
1940         deletionAction is deleteKeyAction or forwardDeleteKeyAction; YES when deleteSelectionAction.
1941         (-[WebHTMLView _expandSelectionToGranularity:]): Passes YES for closeTyping.
1942         (-[WebHTMLView selectToMark:]): Passes YES for closeTyping.
1943         (-[WebHTMLView swapWithMark:]): Passes YES for closeTyping.
1944         (-[WebHTMLView transpose:]): Passes YES for closeTyping.
1945         (-[WebHTMLView _selectMarkedText]): Passes NO for closeTyping.
1946         (-[WebHTMLView _selectRangeInMarkedText:]): Passes NO for closeTyping.
1947         * WebView.subproj/WebView.m:
1948         (-[WebView setSelectedDOMRange:affinity:]): Passes YES for closeTyping.
1949
1950 2005-03-14  Richard Williamson   <rjw@apple.com>
1951
1952         Fix <rdar://problem/4051389> 8A413: gifs animating too fast
1953
1954         Reviewed by Maciej.
1955
1956         Match Mozilla's policy for minimum frame duration, which is somewhat odd:
1957
1958         <= 0.01 sec use .1 sec, otherwise use specified duration.
1959
1960         * WebCoreSupport.subproj/WebImageData.m:
1961         (-[WebImageData _frameDurationAt:]):
1962
1963 2005-03-14  Darin Adler  <darin@apple.com>
1964
1965         Reviewed by Harrison.
1966
1967         - fixed <rdar://problem/4049776> Seed: Mail: Disable spellcheck leaves red artifacts
1968
1969         * WebView.subproj/WebFrameInternal.h: Added _unmarkAllMisspellings.
1970         * WebView.subproj/WebFrame.m: (-[WebFrame _unmarkAllMisspellings]): Added.
1971         Calls unmarkAllMisspellings on the bridge and self and all subframes.
1972
1973         * WebView.subproj/WebView.m: (-[WebView setContinuousSpellCheckingEnabled:]):
1974         Call _unmarkAllMisspellings on the main frame when turning continuous spell checking off.
1975
1976 2005-03-14  Richard Williamson   <rjw@apple.com>
1977
1978         Fixed <rdar://problem/4027928> Tiger_8A394:Acrobat crashes while tried to remove the subscription errors by clicking on "Would you like to remove the subscription" from Tracker details view pane
1979
1980         The Acrobat application triggers loads of new documents in it's policy delegate.  This
1981         ultimately causes the WebHTMLView to be released before their event handlers have
1982         returned.  To bullet proof against this case we retain/release self before passing
1983         the event on for further handling.
1984         
1985         Reviewed by Maciej.
1986
1987         * WebView.subproj/WebHTMLView.m:
1988         (-[WebHTMLView _updateMouseoverWithEvent:]):
1989         (-[WebHTMLView scrollWheel:]):
1990         (-[WebHTMLView mouseDown:]):
1991         (-[WebHTMLView mouseDragged:]):
1992         (-[WebHTMLView mouseUp:]):
1993         (-[WebHTMLView keyDown:]):
1994         (-[WebHTMLView keyUp:]):
1995         (-[WebHTMLView performKeyEquivalent:]):
1996
1997 2005-03-14  Vicki Murley  <vicki@apple.com>
1998
1999         - roll out the fix for 4040321, since it is still pending CCC review.
2000
2001     2005-03-10  Richard Williamson   <rjw@apple.com>
2002
2003         Fixed <rdar://problem/4040321> Exception: Someone's trying to encode a WebDataRequestParameters instance 
2004
2005         Reviewed by Darin.
2006
2007         If a delegate returns a mutated applewebdata: request in it's willSendRequest:
2008         method, we don't load using the WebDataRequest.  Instead we do a normal load.
2009         Unfortunately, if the request they return is mutated *copy* of the applewebdata: 
2010         request it will hold the applewebdata: special properties.  These properties 
2011         will be encoded into the cache.   They should not be.  So, to fix, we sanitize the
2012         request, by removing the special properties from the request.
2013
2014         Note that we had to dig into the private guts of NSURLRequest because there is
2015         no public mechanism to remove properties from a request, see 4046775.
2016
2017         * WebView.subproj/WebBaseResourceHandleDelegate.m:
2018         (-[WebBaseResourceHandleDelegate willSendRequest:redirectResponse:]):
2019         * WebView.subproj/WebDataProtocol.h:
2020         * WebView.subproj/WebDataProtocol.m:
2021         (-[NSURLRequest _webDataRequestExternalRequest]):
2022         (-[NSURLRequest _webDataRequestSanitize]):
2023
2024 === Safari-406 ===
2025
2026 2005-03-13  Darin Adler  <darin@apple.com>
2027
2028         Reviewed by Ken and Maciej.
2029
2030         - fixed <rdar://problem/4049040> REGRESSION (403-405): security check prevents user stylesheet from loading (Dictionary.app doesn't work at all!)
2031
2032         * Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
2033         Allow plug-in subresource streams to load with any URL, ignoring the "canLoadURL" method's restriction (only
2034         file URLs can load other file URLs), which now applies only to main resources, like web pages in frames or
2035         object tags and plug-in main resources.
2036
2037         * WebCoreSupport.subproj/WebBridge.m:
2038         (-[WebBridge startLoadingResource:withURL:customHeaders:]): Allow subresources to load with any URL, as above.
2039         This allows things like images, stylesheets, and JavaScript to be loaded without the "canLoadURL" method's
2040         restriction.
2041         (-[WebBridge startLoadingResource:withURL:customHeaders:postData:]): Ditto.
2042         (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): Ditto.
2043
2044 2005-03-10  Richard Williamson   <rjw@apple.com>
2045
2046         Fixed <rdar://problem/4040321> Exception: Someone's trying to encode a WebDataRequestParameters instance 
2047
2048         Reviewed by Darin.
2049
2050         If a delegate returns a mutated applewebdata: request in it's willSendRequest:
2051         method, we don't load using the WebDataRequest.  Instead we do a normal load.
2052         Unfortunately, if the request they return is mutated *copy* of the applewebdata: 
2053         request it will hold the applewebdata: special properties.  These properties 
2054         will be encoded into the cache.   They should not be.  So, to fix, we sanitize the
2055         request, by removing the special properties from the request.
2056
2057         Note that we had to dig into the private guts of NSURLRequest because there is
2058         no public mechanism to remove properties from a request, see 4046775.
2059
2060         * WebView.subproj/WebBaseResourceHandleDelegate.m:
2061         (-[WebBaseResourceHandleDelegate willSendRequest:redirectResponse:]):
2062         * WebView.subproj/WebDataProtocol.h:
2063         * WebView.subproj/WebDataProtocol.m:
2064         (-[NSURLRequest _webDataRequestExternalRequest]):
2065         (-[NSURLRequest _webDataRequestSanitize]):
2066
2067 === Safari-405 ===
2068
2069 2005-03-10  Maciej Stachowiak  <mjs@apple.com>
2070
2071         Reviewed by Vicki.
2072
2073         <rdar://problem/4046510> REGRESSION (TOT): All Flash and Shockwave plugin-based web content missing
2074         
2075         * Plugins.subproj/WebNetscapePluginStream.m:
2076         (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
2077
2078 2005-03-10  John Sullivan  <sullivan@apple.com>
2079
2080         Reviewed by Vicki.
2081         
2082         - fixed <rdar://problem/4045843> Going back/forward to error page 
2083         hits assertion in -[WebDataSource(WebPrivate) _setData:]
2084
2085         * WebView.subproj/WebDataSource.m:
2086         (-[WebDataSource _setData:]):
2087         Removed bogus assertion
2088
2089 2005-03-09  Deborah Goldsmith  <goldsmit@apple.com>
2090
2091         Reviewed by Darin.
2092
2093         - fixed <rdar://problem/3997044> default encoding for non-Latin incorrect
2094
2095         * WebKit/WebView.subproj/WebPreferences.m: (+[WebPreferences _systemCFStringEncoding]):
2096         Call __CFStringGetUserDefaultEncoding to get region, and TECGetWebTextEncodings to get
2097         the first encoding to determine the default encoding.
2098
2099 2005-03-09  Darin Adler  <darin@apple.com>
2100
2101         Reviewed by Richard.
2102
2103         - fixed <rdar://problem/4034175> REGRESSION (Mail): Can't use any font with style Light/Condensed/Semibold/Extrabold, etc
2104
2105         * WebView.subproj/WebHTMLView.m:
2106         (-[WebHTMLView _styleFromFontAttributes:]): Use a constant instead of hard-coded weight for clarity.
2107         (-[WebHTMLView _originalFontA]): Ditto.
2108         (-[WebHTMLView _originalFontB]): Ditto.
2109         (-[WebHTMLView _addToStyle:fontA:fontB:]): Add code to detect the case where the family name is not good enough
2110         to specify the font precisely. In that case, use the Postscript font name instead. Also change variable names
2111         so it's easier to understand the method.
2112
2113 2005-03-06  Maciej Stachowiak  <mjs@apple.com>
2114
2115         Reviewed by Darin.
2116
2117         <rdar://problem/4005575> Arbitrary file disclosure vulnerability due to ability to load local html from remote content
2118         
2119         * Plugins.subproj/WebBaseNetscapePluginView.m:
2120         (-[WebBaseNetscapePluginView requestWithURLCString:]):
2121         * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
2122         (-[WebNetscapePluginEmbeddedView didStart]):
2123         * Plugins.subproj/WebNetscapePluginStream.m:
2124         (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
2125         * WebCoreSupport.subproj/WebBridge.m:
2126         (-[WebBridge createWindowWithURL:frameName:]):
2127         (-[WebBridge startLoadingResource:withURL:customHeaders:]):
2128         (-[WebBridge startLoadingResource:withURL:customHeaders:postData:]):
2129         (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
2130         (-[WebBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]):
2131         (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
2132         (-[WebBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]):
2133         (-[WebBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]):
2134         * WebView.subproj/WebFrame.m:
2135         (-[WebFrame _loadURL:referrer:intoChild:]):
2136         * WebView.subproj/WebFramePrivate.h:
2137
2138 2005-03-09  Richard Williamson   <rjw@apple.com>
2139         
2140         Fixed <rdar://problem/4032938> Safari: text layout for MS P Gothic font is corrupted
2141
2142         The AppKit and ATS reports that MS P Gothic is fixed pitch.  It is
2143         not!  This is another case of "fixed pitch" being wrong.  I've
2144         coalesced all the special cases into our isFontFixedPitch:, and
2145         used a dictionary to improve speed.  No performance regression.
2146
2147         Reviewed by Maciej.
2148
2149         * WebCoreSupport.subproj/WebTextRenderer.m:
2150         (-[WebTextRenderer _computeWidthForSpace]):
2151         * WebCoreSupport.subproj/WebTextRendererFactory.m:
2152         (-[WebTextRendererFactory clearCaches]):
2153         (-[WebTextRendererFactory isFontFixedPitch:]):
2154
2155 2005-03-09  Darin Adler  <darin@apple.com>
2156
2157         Reviewed by Maciej.
2158
2159         <rdar://problem/4040388> REGRESSION (172-173): nonrepro crash in -[NSString(WebNSURLExtras) _web_isUserVisibleURL]
2160
2161         * Misc.subproj/WebNSURLExtras.m:
2162         (-[NSString _web_isUserVisibleURL]): Fixed some pointer expressions that didn't include the index in the expression.
2163         (readIDNScriptWhiteListFile): Removed NSLog statements in here since we decided they aren't useful and they will
2164         write some messages on Tiger.
2165
2166 2005-03-09  Darin Adler  <darin@apple.com>
2167
2168         * DOM.subproj/DOMPrivate.h: Checked in file copied from WebCore.
2169
2170 2005-03-08  Richard Williamson   <rjw@apple.com>
2171
2172         Fixed <rdar://problem/4036949> many JPEG images fail to incremental-load due to change in ImageIO JPEG header parsing (to be fixed in WebKit)
2173         Fixed <rdar://problem/4042570> Need to check image properties for presence of width/height properties
2174
2175         ImageIO-55 changed how image properties are created.  They
2176         are now created incrementally.  So we need "re-get" the image
2177         properties if the properties we care about (width/height) aren't
2178         in the property dictionary.
2179
2180         Reviewed by John.
2181
2182         * WebCoreSupport.subproj/WebImageData.h:
2183         * WebCoreSupport.subproj/WebImageData.m:
2184         (-[WebImageData init]):
2185         (-[WebImageData fileProperties]):
2186         (-[WebImageData propertiesAtIndex:]):
2187         (-[WebImageData _isSizeAvailable]):
2188         (-[WebImageData incrementalLoadWithBytes:length:complete:callback:]):
2189         (-[WebImageData size]):
2190
2191 2005-03-08  John Sullivan  <sullivan@apple.com>
2192
2193         A couple of tweaks to the previous patch, from Darin's review.
2194
2195         * Misc.subproj/WebNSPasteboardExtras.m:
2196         (_writableTypesForImageWithoutArchive):
2197         remove unnecessary _web prefix
2198         (_writableTypesForImageWithArchive):
2199         ditto
2200         (+[NSPasteboard _web_writableTypesForImageIncludingArchive:]):
2201         use mutableCopy rather than initWithArray:, and adjust for name changes
2202
2203 2005-03-08  John Sullivan  <sullivan@apple.com>
2204
2205         Reviewed by Ken.
2206         
2207         - fixed <rdar://problem/4031826> REGRESSION (Mail): standalone images from 
2208         Safari can't be pasted into Mail (WebKit part of fix)
2209         
2210         We were always declaring webarchive-related pasteboard types, even in the standalone
2211         image cases where we had no webarchive. Unfortunately, the WebView pasteboard-related
2212         API doesn't prevent this kind of thing from happening, because the code that
2213         declares the types isn't guaranteed to be anywhere near the code that writes
2214         the pasteboard data.
2215         
2216         After this fix, I discovered that pasting standalone images into Mail still doesn't
2217         work right, but the remaining issues seem to be entirely in Mail. I wrote up 4041671
2218         to cover these.
2219
2220         * Misc.subproj/WebNSPasteboardExtras.h:
2221         (+[NSPasteboard _web_writableTypesForImageIncludingArchive:]):
2222         Added boolean parameter; clients must specify whether or not there's an
2223         archive involved, because the array of types is different if there is.
2224
2225         * Misc.subproj/WebNSPasteboardExtras.m:
2226         (_web_writableTypesForImageWithoutArchive):
2227         new static function, constructs (once) and returns the array of types
2228         for images that don't have archives
2229         (_web_writableTypesForImageWithArchive):
2230         new static function, constructs (once) and returns the array of types
2231         for images that do have archives
2232         (+[NSPasteboard _web_writableTypesForImageIncludingArchive:]):
2233         added boolean parameter, now calls one of the two new static functions
2234         
2235         (-[NSPasteboard _web_writeImage:URL:title:archive:types:]):
2236         added asserts that we aren't declaring the archive types if we don't have archive data
2237         
2238         (-[NSPasteboard _web_declareAndWriteDragImage:URL:title:archive:source:]):
2239         updated to pass parameter to _web_writableTypesForImageIncludingArchive:
2240         
2241         * WebView.subproj/WebDefaultContextMenuDelegate.m:
2242         (-[WebDefaultUIDelegate copyImageToClipboard:]):
2243         updated to pass parameter to _web_writableTypesForImageIncludingArchive:
2244
2245         * WebView.subproj/WebImageView.m:
2246         (-[WebImageView copy:]):
2247         updated to pass parameter to _web_writableTypesForImageIncludingArchive:
2248
2249         * WebView.subproj/WebView.m:
2250         (-[WebView pasteboardTypesForElement:]):
2251         updated to pass parameter to _web_writableTypesForImageIncludingArchive:
2252
2253 2005-03-07  Richard Williamson   <rjw@apple.com>
2254
2255         More bullet proofing for <rdar://problem/4038304> CrashTracer: ....9 crashes at com.apple.WebKit: -[WebTextRenderer initWithFont:usingPrinterFont:] + 840
2256
2257         Protect against removal of Times and Times New Roman from
2258         system.  If these fonts are removed attempt to get system font
2259         instead of FATAL_ALWAYS.
2260
2261         Reviewed by John.
2262
2263         * WebCoreSupport.subproj/WebTextRenderer.m:
2264         (-[WebTextRenderer initWithFont:usingPrinterFont:]):
2265
2266 === Safari-403 ===
2267
2268 2005-03-06  Darin Adler  <darin@apple.com>
2269
2270         - fixed obvious mistake in IDN script code (luckily it hasn't been in a submission yet!)
2271
2272         * Misc.subproj/WebNSURLExtras.m: (readIDNScriptWhiteListFile): Use "index" to index into the array,
2273         not "script", which is the script number, not the 32-bit-word index.
2274
2275 2005-03-05  Kevin Decker  <kdecker@apple.com>
2276
2277         Reviewed by Darin.
2278
2279         Fixed: <rdar://problem/4038529> Infinite progress bar loading webcams and other sites that use multipart/x-mixed-replace
2280
2281         The previous patch I landed prevented us from loading multipart/x-mixed-replace but did not always update the progress bar accordingly.  
2282         This stops websites from having seemingly infinite progress in the browser UI.  
2283
2284         * WebCoreSupport.subproj/WebSubresourceClient.m:
2285         (-[WebSubresourceClient didReceiveResponse:]): If this is "multipart/x-mixed-replace", remove the WebBaseResourceHandleDelegate client from 
2286         the datasource's subresource array, otherwise -[WebDataSource isLoading] incorrectly returns YES.   Also it's possible at this point in
2287          time we're done loading now (loaded everything else except for the multipart/x-mixed-replace content) so go ahead and check to see if 
2288          in fact we're complete. 
2289         * WebView.subproj/WebMainResourceClient.m:
2290         (-[WebMainResourceClient connection:didReceiveResponse:]): ditto
2291
2292 2005-03-05  Richard Williamson   <rjw@apple.com>
2293
2294         Fixed panther build problem.  Shouldn't include
2295         changes for 3968753 on panther.
2296
2297         Reviewed by John.
2298
2299         * WebView.subproj/WebView.m:
2300         (-[WebView _commonInitializationWithFrameName:groupName:]):
2301
2302 2005-03-05  Darin Adler  <darin@apple.com>
2303
2304         Reviewed by John.
2305
2306         - fixed <rdar://problem/4034603> REGRESSION (185-188): RadarWeb can't send enclosures anymore
2307
2308         * WebView.subproj/WebFormDataStream.m:
2309         (closeCurrentStream): Release currentData when closing the stream.
2310         (advanceCurrentStream): Set up and retain currentData when the current stream is reading that data, so the
2311         data won't be released while in use.
2312         (formCreate): Initialize currentData to NULL.
2313
2314         - fixed <rdar://problem/4037562> Tiger8A402: Help Viewer crashed when viewing help for iChat (infinite recursion in WebView)
2315
2316         * WebView.subproj/WebView.m: (-[WebView _responderValidateUserInterfaceItem:]):
2317         Check for the case where we ourselves are the responder. This avoids an infinite loop.
2318         The actual code to perform operations avoids this with a global variable, but this lighter weight
2319         solution is sufficient here because validate operations don't call through to the next responder.
2320
2321 2005-03-04  Richard Williamson   <rjw@apple.com>
2322
2323         Fixed <rdar://problem/3968753> REGRESSION: Poor performance with differing multiple animated GIFs (was fast in Panther)
2324
2325         Disable coalesced updates (in CG).  This restores the
2326         panther behavior.
2327
2328         Reviewed by David Harrison.
2329
2330         * WebView.subproj/WebView.m:
2331         (-[WebView _commonInitializationWithFrameName:groupName:]):
2332
2333 2005-03-04  Adele Amchan  <adele@apple.com>
2334
2335         Reviewed by Darin.
2336
2337         * English.lproj/StringsNotToBeLocalized.txt: added new strings "text/x-vcf" and "text/x-csv" to the list
2338
2339 2005-03-04  Adele Amchan  <adele@apple.com>
2340
2341         Reviewed by Chris.
2342
2343         Fix for <rdar://problem/4032982> Sun iPlanet app: not able to import AddressBook CSV format addresses properly
2344         Fix for <rdar://problem/4032985> Sun iPlanet app: not able to import vCard format addresses properly
2345
2346         * WebView.subproj/WebTextView.m:
2347         (+[WebTextView unsupportedTextMIMETypes]): added "text/x-csv" and "text/x-vcf" to the list of MIME types that our text view doesn't handle
2348
2349 2005-03-04  Darin Adler  <darin@apple.com>
2350
2351         Reviewed by John.
2352
2353         - fixed <rdar://problem/4036817> REGRESSION: ctrl-y broken when a line + carriage return cut
2354
2355         * WebView.subproj/WebHTMLView.m:
2356         (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:]): Merged _handleKillRing behavior
2357         into this function, since there's now a more-complicated way the startNewKillRingSequence boolean needs to
2358         be handled. Set the startNewKillRingSequence boolean after the entire process so changing the selection before
2359         and during the editing dosn't clear it. Also change "isTypingAction" parameter to "deletionAction" so we can
2360         handle forward delete with this method.
2361         (-[WebHTMLView _deleteSelection]): Pass deleteSelectionAction for action rather than NO for isTypingAction,
2362         which is the way to say the same thing using the new parameter.
2363         (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]): Refactor to use the _deleteRange
2364         method above. Also calls _shouldDeleteRange: for the pre-existing selection case; not doing that before was
2365         a bug.
2366         (-[WebHTMLView deleteToMark:]): Pass deleteSelectionAction for action rather than NO for isTypingAction,
2367         which is the way to say the same thing using the new parameter.
2368
2369 2005-03-04  Darin Adler  <darin@apple.com>
2370
2371         Reviewed by John.
2372
2373         - fixed <rdar://problem/4020413> REGRESSION (Mail): can't use fonts with names that start with "#" in Mail (Korean fonts)
2374
2375         * WebView.subproj/WebHTMLView.m:
2376         (-[WebHTMLView _styleFromFontAttributes:]): Quote font name when calling setFontFamily.
2377         (-[WebHTMLView _addToStyle:fontA:fontB:]): Ditto.
2378
2379 2005-03-04  Darin Adler  <darin@apple.com>
2380
2381         Reviewed by John.
2382
2383         - fixed <rdar://problem/3965666> IDN spoofing vulnerability caused by Unicode characters that look like ASCII characters
2384
2385         * Misc.subproj/WebNSURLExtras.m:
2386         (readIDNScriptWhiteListFile): Added. Reads file and parses script names.
2387         (readIDNScriptWhiteList): Added. Calls readIDNScriptWhiteList on each of the white list locations in succession.
2388         (allCharactersInIDNScriptWhiteList): Renamed from containsPossibleLatinLookalikes and changed sense.
2389         Now calls readIDNScriptWhiteList first time, and then uses the read-in list to check the scripts.
2390         (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Call allCharactersInIDNScriptWhiteList instead of
2391         containsPossibleLatinLookalikes.
2392         * Resources/IDNScriptWhiteList.txt: Added.
2393         * WebKit.pbproj/project.pbxproj: Added IDNScriptWhiteList.txt file.
2394
2395         * Misc.subproj/WebKitLocalizableStrings.m: Removed. This is simply unused.
2396         * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
2397
2398 2005-03-04  Darin Adler  <darin@apple.com>
2399
2400         Reviewed by John.
2401
2402         - fixed <rdar://problem/3937667> REGRESSION (Mail): Zooming a window from titlebar button doesn't paint newly-exposed portions of window
2403
2404         * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]):
2405         Re-set-up the visRect if the bounds changes due to layout.
2406
2407 === Safari-402 ===
2408
2409 2005-03-03  Jens Alfke  <jens@apple.com>
2410
2411         Reviewed by rjw.
2412
2413         <rdar://problem/3991818> REGRESSION: Images scale while loading
2414         The code could crop an image when not all the scanlines were available yet, and it could crop when only a sub-rect of the image was to be drawn; but if it had to do both at once, it got the coordinates wrong. Fixed that.
2415
2416         * WebCoreSupport.subproj/WebImageData.m:
2417         (-[WebImageData incrementalLoadWithBytes:length:complete:callback:]):
2418
2419 2005-03-01  David Hyatt  <hyatt@apple.com>
2420
2421         Fix for 3841186, scrollbar shows up disabled when it should not appear at all.  Make sure updateScrollers
2422         is never allowed to be re-entrant from any call point by moving the guard inside the function itself.
2423         
2424         Reviewed by John Sullivan
2425
2426         * WebView.subproj/WebDynamicScrollBarsView.m:
2427         (-[WebDynamicScrollBarsView updateScrollers]):
2428         (-[WebDynamicScrollBarsView reflectScrolledClipView:]):
2429
2430 2005-03-02  Chris Blumenberg  <cblu@apple.com>
2431
2432         Fixed: <rdar://problem/4029010> Expose method to retrieve drag image for WebView's selection
2433
2434         Reviewed by sullivan.
2435
2436         * WebView.subproj/WebHTMLView.m:
2437         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): call _selectionDraggingImage
2438         (-[WebHTMLView _selectionDraggingImage]): new SPI for Mail, factored from previous method
2439         (-[WebHTMLView _selectionDraggingRect]): new SPI for Mail
2440         * WebView.subproj/WebHTMLViewPrivate.h:
2441
2442 2005-03-02  John Sullivan  <sullivan@apple.com>
2443
2444         Reviewed by Adele.
2445         
2446         - fixed <rdar://problem/4023337> Safari stops loading any page (-[NSCFDictionary setObject:forKey:]: 
2447         attempt to insert nil key)
2448         
2449         It is very likely that the exception being hit is caused by the same problem as WebFoundation
2450         bug 4018486. This change makes the code robust against this kind of problem regardless.
2451
2452         * WebView.subproj/WebBaseResourceHandleDelegate.m:
2453         (-[WebBaseResourceHandleDelegate saveResource]):
2454         Don't call addSubresource if newly-created resource is nil (but do assert on debug builds).
2455         Also assert that originalURL and MIMEType are not nil.
2456         
2457         * WebView.subproj/WebDataSource.m:
2458         (-[WebDataSource addSubresource:]):
2459         Don't add nil subresource to dictionary, but do assert on debug builds.
2460
2461 === Safari-401 ===
2462
2463 2005-03-01  John Sullivan  <sullivan@apple.com>
2464
2465         Reviewed by Darin.
2466         
2467         - fixed <rdar://problem/3987482> Format>Style>Italic is not enabled when a 
2468         compose window is empty (works in Blot)
2469
2470         * WebView.subproj/WebHTMLView.m:
2471         (-[WebHTMLView becomeFirstResponder]):
2472         call _updateFontPanel here so NSFontManager knows the right font for the menu
2473         items and the font panel
2474
2475 2005-03-01  David Harrison  <harrison@apple.com>
2476
2477         Reviewed by Chris.
2478         
2479         <rdar://problem/3915560> Mail would like an SPI to enable "smart" text paste/drop
2480
2481         * WebView.subproj/WebHTMLView.m:
2482         (-[WebHTMLView _smartDeleteRangeForProposedRange:]):
2483         (-[WebHTMLView _smartInsertForString:replacingRange:beforeString:afterString:]):
2484         New.
2485
2486 2005-02-28  John Sullivan  <sullivan@apple.com>
2487
2488         Reviewed by Ken.
2489         
2490         - WebKit part of fix for <rdar://problem/4023490> REGRESSION (125-185): Tabbing through links 
2491         on frameset page gets stuck at end (tivofaq.com)
2492         
2493         This tab-to-links stuff has been in shaky condition ever since AppKit futzed with
2494         tabbing behavior in Tiger to add support for including the toolbar in the key loop.
2495         I made some changes months ago to compensate for that, but some cases, such as this
2496         one, still weren't fixed.
2497
2498         * WebCoreSupport.subproj/WebBridge.m:
2499         (-[WebBridge _nextKeyViewOutsideWebFrameViewsWithValidityCheck:]):
2500         new bottleneck method, extracted from nextKeyViewOutsideWebFrameViews; handles
2501         nextKeyView or nextValidKeyView depending on parameter.
2502         (-[WebBridge nextKeyViewOutsideWebFrameViews]):
2503         now calls extracted method
2504         (-[WebBridge nextValidKeyViewOutsideWebFrameViews]):
2505         new method, calls new bottleneck method
2506         
2507         * WebView.subproj/WebHTMLView.m:
2508         (-[WebHTMLView nextValidKeyView]):
2509         when we're stuck at the end of a nextKeyView chain inside a nexted frame, use
2510         nextValidKeyViewOutsideWebFrameViews. Make sure we don't end up looking inside
2511         the web frame views while doing this.
2512
2513 2005-02-25  Darin Adler  <darin@apple.com>
2514
2515         Reviewed by John.
2516
2517         - fixed <rdar://problem/4025088> window onblur and onfocus don't fire when text field has focus
2518
2519         * WebView.subproj/WebHTMLView.m:
2520         (-[WebHTMLView updateFocusState]): Renamed from updateFocusDisplay. Added call to setWindowHasFocus: method.
2521         (-[WebHTMLView viewDidMoveToWindow]): Call method by new name.
2522         (-[WebHTMLView windowDidBecomeKey:]): Ditto.
2523         (-[WebHTMLView windowDidResignKey:]): Ditto.
2524         (-[WebHTMLView becomeFirstResponder]): Ditto.
2525         (-[WebHTMLView resignFirstResponder]): Ditto.
2526
2527 === Safari-400 ===
2528
2529 2005-02-25  Richard Williamson   <rjw@apple.com>
2530
2531         Fixed <rdar://problem/4000962> 8A375: Help Viewer displays voiced sound and semi-voiced characters strangely (characters don't seem to be composed)
2532
2533         Added special case for voiced marks.
2534
2535         Reviewed by John.
2536
2537         * WebCoreSupport.subproj/WebTextRenderer.m:
2538         (widthForNextCharacter):
2539
2540 2005-02-25  Darin Adler  <darin@apple.com>
2541
2542         Reviewed by John.
2543
2544         - fixed <rdar://problem/4019823> Seed: Control-Y doesn't work
2545
2546         * WebView.subproj/WebHTMLView.m:
2547         (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]): Call _handleKillRing
2548         after setting the selection, since it uses the selection to get the text.
2549         (-[WebHTMLView _insertText:selectInsertedText:]): Check for empty string to avoid an assertion
2550         on the other side of the bridge when you yank the empty string.
2551
2552 2005-02-24  Richard Williamson   <rjw@apple.com>
2553
2554         Fixed <rdar://problem/3382926> Bidi neutrals at RTL/LTR boundaries not handled correctly.
2555
2556         If directionality is specified use that as initial directionality,
2557         rather than neutral directionality.     
2558
2559         Reviewed by Hyatt.
2560
2561         * WebCoreSupport.subproj/WebTextRenderer.m:
2562         (widthForNextCharacter):
2563
2564 2005-02-24  Adele Amchan  <adele@apple.com>
2565
2566         Reviewed by Chris.
2567        
2568         Fix for <rdar://problem/4023393> Safari crashed in khtml::RenderObject::repaintAfterLayoutIfNeeded(QRect const&, QRect const&)
2569
2570         We were crashing after hitting PageDown when viewing a pdf because 
2571         WebKit was calling over to WebCore to scroll overflow areas.
2572         Since this only needs to be done if we're dealing with a WebHTMLView, 
2573         I added a wrapper function to check the documentView before calling
2574         over to WebCore.
2575
2576         * WebView.subproj/WebFrameView.m:
2577         (-[WebFrameView _scrollOverflowInDirection:granularity:]): added wrapper function that checks if documentView is a WebHTMLView 
2578         (-[WebFrameView scrollToBeginningOfDocument:]): uses new wrapper function now
2579         (-[WebFrameView scrollToEndOfDocument:]): uses new wrapper function now
2580         (-[WebFrameView _pageVertically:]): uses new wrapper function now
2581         (-[WebFrameView _pageHorizontally:]): uses new wrapper function now
2582         (-[WebFrameView _scrollLineVertically:]): uses new wrapper function now
2583         (-[WebFrameView _scrollLineHorizontally:]): uses new wrapper function now
2584
2585 2005-02-24  Richard Williamson   <rjw@apple.com>
2586
2587         Fixed <rdar://problem/3985889> REGRESSION (125-180): setting <img> src to GIF that already animated does not animate; just shows final frame
2588         
2589         Reviewed by Hyatt.
2590
2591         * WebCoreSupport.subproj/WebImageData.h:
2592         * WebCoreSupport.subproj/WebImageData.m:
2593         (-[WebImageData resetAnimation]):
2594         * WebCoreSupport.subproj/WebImageRenderer.m:
2595         (-[WebImageRenderer resetAnimation]):
2596         (-[WebInternalImage resetAnimation]):
2597         (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]):
2598
2599 2005-02-24  Kevin Decker  <kdecker@apple.com>
2600
2601         Reviewed by John.
2602
2603         Fixed <rdar://problem/3962401> Don't load multipart/x-mixed-replace content to prevent memory leak
2604
2605         Since we're not going to fix <rdar://problem/3087535> for Tiger, we should not load multipart/x-mixed-replace content.  Pages with such content contain what is essentially an infinite load and therefore may leak.
2606
2607         * WebView.subproj/WebMainResourceClient.m: 
2608         (-[WebMainResourceClient connection:didReceiveResponse:]):  Disabled loading of multipart/x-mixed-replace content until we fully implement server side push. 
2609          * WebCoreSupport.subproj/WebSubresourceClient.m: 
2610         (-[WebSubresourceClient didReceiveResponse:]): Ditto. Same exact thing for sub resources. 
2611
2612
2613 2005-02-23  John Sullivan  <sullivan@apple.com>
2614
2615         Reviewed by Ken.
2616         
2617         - fixed <rdar://problem/4021370> REGRESSION (Tiger): WebKit part of fix for 
2618         shift-tab on tivofaq doing the wrong thing
2619
2620         * WebView.subproj/WebFrameView.m:
2621         (-[WebFrameView becomeFirstResponder]):
2622         If our previousValidKeyView is nil or self (same as nil modulo AppKit oddness),
2623         look out of the box and get the previousValidKeyView of our webview.
2624
2625 2005-02-23  Darin Adler  <darin@apple.com>
2626
2627         Reviewed by Hyatt.
2628
2629         - fixed <rdar://problem/4010196> REGRESSION (125-186+): 8-character timestamps in gmail wrap to 2 lines (width:8ex; font-size:80%)
2630
2631         * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer xHeight]): Return the maximum
2632         of the "x" height and width. Comment in the code explains why in more detail.
2633
2634 2005-02-22  Richard Williamson   <rjw@apple.com>
2635
2636         Fixed <rdar://problem/3937203> when a div adds a scrollbar (overflow:auto) we do not get regions
2637
2638         Compare regions after automatice scroll regions have been
2639         added.
2640
2641         Reviewed by Maciej.
2642
2643         * WebCoreSupport.subproj/WebBridge.h:
2644         * WebCoreSupport.subproj/WebBridge.m:
2645         (-[WebBridge dealloc]):
2646         (-[WebBridge _compareDashboardRegions:]):
2647         (-[WebBridge dashboardRegionsChanged:]):
2648
2649 2005-02-22  Richard Williamson   <rjw@apple.com>
2650
2651         Fixed <rdar://problem/4012463> Dashboard widgets don't work with authenticating proxies
2652
2653         Added new SPI for dashboard that just calls default delegate
2654         behavior.
2655
2656         Reviewed by Maciej.
2657
2658         * WebView.subproj/WebView.m:
2659         (-[WebView handleAuthenticationForResource:challenge:fromDataSource:]):
2660         * WebView.subproj/WebViewPrivate.h:
2661
2662 2005-02-22  Chris Blumenberg  <cblu@apple.com>
2663
2664         Reviewed by mjs.
2665
2666         * WebCoreSupport.subproj/WebBridge.m:
2667         (-[WebBridge issuePasteAndMatchStyleCommand]): support for new "PasteAndMatchStyle" exec command
2668
2669 === Safari-188 ===
2670
2671 2005-02-21  David Harrison  <harrison@apple.com>
2672
2673         Reviewed by Darin.
2674
2675         <rdar://problem/3943090> REGRESSION (Mail): Spelling underline incompletely erased following certain steps
2676
2677         * WebCoreSupport.subproj/WebTextRenderer.m:
2678         (-[WebTextRenderer misspellingLineThickness]):
2679         (-[WebTextRenderer misspellingLinePatternWidth]):
2680         Replaced #defines with these methods, so others can get the same info.
2681         
2682         (-[WebTextRenderer drawLineForMisspelling:withWidth:]):
2683         Keep underline within originally specified bounds.
2684         
2685
2686 2005-02-21  Darin Adler  <darin@apple.com>
2687
2688         Reviewed by John.
2689
2690         - fixed <rdar://problem/4016358> don't ever display IDN URLs with characters from "possible Latin look-alike" scripts
2691
2692         * Misc.subproj/WebNSURLExtras.m:
2693         (containsPossibleLatinLookalikes): Added.
2694         (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Call containsPossibleLatinLookalikes, and if true,
2695         don't decode the host name.
2696
2697 2005-02-19  Kevin Decker  <kdecker@apple.com>
2698
2699         Reviewed by Chris.
2700
2701         Fixed <rdar://problem/4010765> Flash player can be used to arbitrarily open popup windows without user permission
2702         
2703         Our window.open() policy is to refuse the <script>window.open(...)</script> case and allow the inline the <a href="javascript:window.open('foo')> case.  Clever advertisers at some point realized that by executing their Javascript through the Flash plugin, Safari would always treat their code as the inline case, and thus, they were able to work around our popup blocker. 
2704
2705         * Plugins.subproj/WebBaseNetscapePluginView.h: Addded currentEventIsUserGesture boolean ivar. 
2706         * Plugins.subproj/WebBaseNetscapePluginView.m:
2707         (-[WebBaseNetscapePluginView sendEvent:]): If at any point the user clicks or presses a key from within a plugin, set the currentEventIsUserGesture flag to true. This is important to differentiate legitimate window.open() calls originating from plugins;  we still want to allow those. 
2708         (-[WebBaseNetscapePluginView initWithFrame:]): In our asynchronous load, pass along currentEventIsUserGesture to the PluginRequest. 
2709         (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): Inform WebCore if this was a user originated gesture when calling executeScript(). 
2710         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
2711         (-[WebPluginRequest initWithRequest:frameName:notifyData:sendNotification:didStartFromUserGesture:]):
2712         (-[WebPluginRequest isCurrentEventUserGesture]): Added. 
2713
2714 2005-02-18  Chris Blumenberg  <cblu@apple.com>
2715
2716         Fixed: <rdar://problem/3945271> REGRESSION (Mail): pasted plain text should pick up typing style instead of being unstyled
2717
2718         Reviewed by kocienda.
2719
2720         * WebView.subproj/WebDataSource.m:
2721         (-[WebDataSource _replaceSelectionWithArchive:selectReplacement:]): pass NO for matchStyle to replaceSelection
2722         * WebView.subproj/WebHTMLView.m:
2723         (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:chosePlainText:]): return new chosePlainText parameter
2724         (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): pass chosePlainText for matchStyle to replaceSelection
2725         (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): ditto
2726
2727 2005-02-17  Richard Williamson   <rjw@apple.com>
2728
2729         Removed code that should not have been checked in from
2730         last patch.
2731
2732         * WebCoreSupport.subproj/WebTextRendererFactory.m:
2733         (-[WebTextRendererFactory isFontFixedPitch:]):
2734
2735 2005-02-17  Richard Williamson   <rjw@apple.com>
2736
2737         Fixed <rdar://problem/3999467> when Osaka-Mono is specified as fixed width font, Osaka used instead
2738
2739         Fixed w/o introducing a performance regression.
2740
2741         Reviewed by Vicki (and earlier by Dave Harrison).
2742
2743         * WebCoreSupport.subproj/WebTextRenderer.m:
2744         (-[WebTextRenderer _computeWidthForSpace]):
2745         (widthForNextCharacter):
2746         * WebCoreSupport.subproj/WebTextRendererFactory.h:
2747         * WebCoreSupport.subproj/WebTextRendererFactory.m:
2748         (-[NSFont _web_isFakeFixedPitch]):
2749         (-[WebTextRendererFactory isFontFixedPitch:]):
2750         (-[WebTextRendererFactory fontWithFamily:traits:size:]):
2751
2752 2005-02-17  Richard Williamson   <rjw@apple.com>
2753
2754         Fixed <rdar://problem/3959304> PDF in img tag is not rendered correctly anymore
2755
2756         We were incorrectly adding image position when flipping coordinates.
2757
2758         Reviewed by David Harrison.
2759
2760         * WebCoreSupport.subproj/WebImageData.m:
2761         (-[WebImageData _PDFDrawFromRect:toRect:operation:alpha:flipped:context:]):
2762
2763 2005-02-17  Richard Williamson   <rjw@apple.com>
2764
2765         Fixed <rdar://problem/4007262> Seed: Flight tracker scrolling moves to the left
2766
2767         Added SPI for dashboard to disable wheel scrolling of the WebClipView.
2768
2769         Reviewed by Ken.
2770
2771         * ChangeLog:
2772         * WebView.subproj/WebClipView.m:
2773         (-[WebClipView _focusRingVisibleRect]):
2774         (-[WebClipView scrollWheel:]):
2775         * WebView.subproj/WebView.m:
2776         (-[WebViewPrivate init]):
2777         (-[WebView drawRect:]):
2778         (-[WebView _dashboardBehavior:]):
2779         * WebView.subproj/WebViewInternal.h:
2780         * WebView.subproj/WebViewPrivate.h:
2781
2782 === Safari-187 ===
2783
2784 2005-02-17  Vicki Murley <vicki@apple.com>
2785
2786         - roll out this change, since it causes a 1.5% performance regression
2787
2788     2005-02-15  Richard Williamson   <rjw@apple.com>
2789         
2790         Fixed <rdar://problem/3999467> when Osaka-Mono is specified as fixed width font, Osaka used instead
2791         
2792         Lie about Osaka-Mono.  Treat it as fixed pitch, even though,
2793         strictly speaking it isn't.  (Similar to what we do with
2794         Courier New.)
2795
2796         Reviewed by David Harrison.
2797
2798         * WebCoreSupport.subproj/WebTextRenderer.m:
2799         (-[WebTextRenderer _computeWidthForSpace]):
2800         * WebCoreSupport.subproj/WebTextRendererFactory.h:
2801         * WebCoreSupport.subproj/WebTextRendererFactory.m:
2802         (-[NSFont _web_isFakeFixedPitch]): 
2803         (-[WebTextRendererFactory isFontFixedPitch:]):
2804         (-[WebTextRendererFactory fontWithFamily:traits:size:]):
2805
2806 2005-02-17  John Sullivan  <sullivan@apple.com>
2807
2808         Reviewed by Ken.
2809         
2810         - fixed <rdar://problem/3997185> The Web view on .Mac Prefs caused System Prefs 
2811         to lockup (resolved by re-boot only)
2812
2813         * WebCoreSupport.subproj/WebBridge.m:
2814         (-[WebBridge nextKeyViewOutsideWebFrameViews]):
2815         Don't allow recursion here; assert on debug build, return nil on deployment. I
2816         couldn't get my machine into a state to repro this problem (and neither could the
2817         originator), but it's obvious from the stack crawl that this method was recursing
2818         when it shouldn't have.
2819
2820 2005-02-16  John Sullivan  <sullivan@apple.com>
2821
2822         Written by Darin, reviewed by me.
2823         
2824         - WebKit part of fix for <rdar://problem/4007384> 
2825         FILTER: Bookmark of RSS with Japanese search word & multiple RSS pages loses filter
2826
2827         * DOM.subproj/DOMPrivate.h:
2828         updated this file, which is a copy of the WebCore version
2829
2830 2005-02-16  Richard Williamson   <rjw@apple.com>
2831
2832         Fixed <rdar://problem/3966973> Tiger 8A357: Binary Compatiblity: frequent Webstractor.app crashes [WebImageData _nextFrame]
2833
2834         Webstractor.app was playing tricks to create thumbnails of
2835         pages.  This caused the 'focusView' to be incorrect during
2836         animated GIF frame rendering.
2837
2838         Reviewed by Chris.
2839
2840         * WebCoreSupport.subproj/WebImageRenderer.m:
2841         (-[WebImageRenderer _startOrContinueAnimationIfNecessary]):
2842
2843 2005-02-16  Vicki Murley  <vicki@apple.com>
2844
2845         Reviewed by me, code change by Darin.
2846
2847         - fixed the build on Panther
2848
2849         * WebView.subproj/WebFormDataStream.m: (webSetHTTPBody):
2850         Added a Panther-specific code path that just loads all the data into one big
2851         NSData object. This means that bug 3686434 won't be fixed on SUPanWheat; we'll
2852         still load the file into memory before sending it to the server on Panther.
2853
2854 2005-02-15  Richard Williamson   <rjw@apple.com>
2855
2856         Fixed <rdar://problem/3998368> Tiger8A376: WebTextRenderer assertion failure in Safari while browsing news.bbc.co.uk
2857
2858         Removed use of FATAL_ALWAYS from getUncachedWidth().  It's unclear
2859         why we would trigger the FATAL_ALWAYS.  In the past we've seen
2860         the message triggered because of corrupt fonts.  Anyway, in this
2861         particular case, we will now return 0 for the character width,
2862         rather than exiting.
2863
2864         Reviewed by David Harrison.
2865
2866         * WebCoreSupport.subproj/WebTextRenderer.m:
2867         (getUncachedWidth):
2868
2869 2005-02-15  Richard Williamson   <rjw@apple.com>
2870
2871         Fixed <rdar://problem/3999467> when Osaka-Mono is specified as fixed width font, Osaka used instead
2872
2873         Lie about Osaka-Mono.  Treat it as fixed pitch, even though,
2874         strictly speaking it isn't.  (Similar to what we do with
2875         Courier New.)
2876
2877         Reviewed by David Harrison.
2878
2879         * WebCoreSupport.subproj/WebTextRenderer.m:
2880         (-[WebTextRenderer _computeWidthForSpace]):
2881         * WebCoreSupport.subproj/WebTextRendererFactory.h:
2882         * WebCoreSupport.subproj/WebTextRendererFactory.m:
2883         (-[NSFont _web_isFakeFixedPitch]):
2884         (-[WebTextRendererFactory isFontFixedPitch:]):
2885         (-[WebTextRendererFactory fontWithFamily:traits:size:]):
2886
2887 2005-02-14  Darin Adler  <darin@apple.com>
2888
2889         Reviewed by John.
2890
2891         - fixed <rdar://problem/3686434> Safari uses too much RAM on file upload, leading to malloc errors and crashes (HP printers)
2892
2893         * WebView.subproj/WebFormDataStream.h: Added webSetHTTPBody, which creates and connects an appropriate
2894         stream to an NSMutableURLRequest.
2895         * WebView.subproj/WebFormDataStream.m: Added implementation here.
2896
2897         * WebCoreSupport.subproj/WebBridge.m:
2898         (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
2899         Use webSetHTTPBody.
2900         * WebCoreSupport.subproj/WebSubresourceClient.m:
2901         (+[WebSubresourceClient startLoadingResource:withURL:customHeaders:postData:referrer:forDataSource:]):
2902         Use webSetHTTPBody.
2903         * WebView.subproj/WebFrame.m:
2904         (-[WebFrame _loadItem:withLoadType:]): Use webSetHTTPBody.
2905         (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): Ditto.
2906
2907         * English.lproj/StringsNotToBeLocalized.txt: Updated for this change and other recent changes.
2908
2909 2005-02-11  Richard Williamson   <rjw@apple.com>
2910
2911         Fixed <rdar://problem/4002505> 8A378: Endlessly animating gif's on http://www.entropy.ch
2912         
2913         If animated images had no loop count property we were incorrectly
2914         looping forver.  Note, that in the course of fixing this bug
2915         I found that ImageIO is incorrectly NOT reporting the loop count
2916         for a whole class of animated GIFs.
2917
2918         Reviewed by Ken Kocienda.
2919
2920         * WebCoreSupport.subproj/WebImageData.m:
2921         (-[WebImageData _repetitionCount]):
2922
2923 === Safari-186 ===
2924
2925 2005-02-11  Vicki Murley  <vicki@apple.com>
2926
2927         Reviewed by Darin.
2928
2929         - fix deployment build on Panther
2930  
2931         * WebView.subproj/WebHTMLView.m:
2932         (-[WebHTMLView changeBaseWritingDirection:]): ifdef out NSWritingDirectionNatural
2933         (-[WebHTMLView toggleBaseWritingDirection:]): fix a spacing issue
2934
2935 2005-02-10  David Harrison  <harrison@apple.com>
2936
2937         Reviewed by Richard.
2938
2939         <rdar://problem/3991652> REGRESSION (Mail): Deleting entire line in reply deletes extra blank line and moves insertion point
2940         
2941         * WebView.subproj/WebHTMLView.m:
2942         (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:isTypingAction:]):
2943         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
2944         (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]):
2945         (-[WebHTMLView selectToMark:]):
2946         (-[WebHTMLView swapWithMark:]):
2947         (-[WebHTMLView transpose:]):
2948         (-[WebHTMLView _selectMarkedText]):
2949         (-[WebHTMLView _selectRangeInMarkedText:]):
2950         Adopt new default affinity of NSSelectionAffinityDownstream as of <rdar://problem/3937447>.
2951         
2952 2005-02-10  Darin Adler  <darin@apple.com>
2953
2954         Reviewed by Harrison.
2955
2956         - fixed <rdar://problem/4002084> Setting ResourceLoadDelegate to nil can cause a crash
2957
2958         * WebView.subproj/WebView.m: (-[WebView _cacheResourceLoadDelegateImplementations]):
2959         Set booleans to either YES or NO, rather than setting them only in the YES case.
2960
2961 2005-02-10  Darin Adler  <darin@apple.com>
2962
2963         Reviewed by Harrison.
2964
2965         - fixed <rdar://problem/3991225> Format->Style->Underline menu item does not get checked when selected text is underlined
2966
2967         * WebView.subproj/WebHTMLView.m:
2968         (-[WebHTMLView validateUserInterfaceItem:]): Added tons of additional cases in here for all the
2969         "action" style methods in this class that don't always want to be valid. For the ones where state
2970         makes sense, added the state-checking code too for the menu item case.
2971         (-[WebHTMLView ignoreSpelling:]): Removed unnecessary "editable text only" check since this command
2972         would work fine on a non-editable selection.
2973         (-[WebHTMLView swapWithMark:]): Ditto.
2974         (-[WebHTMLView changeBaseWritingDirection:]): Added. Like toggle, but based on the sender's tag.
2975
2976 2005-02-08  Darin Adler  <darin@apple.com>
2977
2978         "Reviewed" by Richard (he told me the file was obsolete).
2979
2980         - got rid of an obsolete file
2981
2982         * Plugins.subproj/npsap.h: Removed.
2983         * copy-webcore-files-to-webkit: Removed npsap.h.
2984
2985 2005-02-09  Richard Williamson   <rjw@apple.com>
2986
2987         Fixed <rdar://problem/4000073> non-screen font error on www.worldofwarcraft.com
2988
2989         Reviewed by John Sullivan.
2990
2991         * WebCoreSupport.subproj/WebTextRenderer.m:
2992         (-[WebTextRenderer _smallCapsFont]):
2993
2994 === Safari-185 ===
2995
2996 2005-02-07  Chris Blumenberg  <cblu@apple.com>
2997
2998         Fixed: <rdar://problem/3993354> Safari claims to put RTFD on the pasteboard, but doesn't, in some cases
2999
3000         Reviewed by john.
3001
3002         * WebView.subproj/WebHTMLView.m:
3003         (-[WebHTMLView _stripAttachmentCharactersFromAttributedString:]): moved
3004         (-[WebHTMLView _writeSelectionWithPasteboardTypes:toPasteboard:cachedAttributedString:]): take cachedAttributedString parameter in case the attributed string was gotten already
3005         (-[WebHTMLView _writeSelectionToPasteboard:]): omit RTFD from the types list when there are no attachments
3006
3007 2005-02-07  David Harrison  <harrison@apple.com>
3008
3009         Reviewed by Ken.
3010
3011         <rdar://problem/3990693> REGRESSION (8A373): ctrl-k now deletes just one character instead of line
3012         
3013         * WebView.subproj/WebHTMLView.m:
3014         (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]):
3015         Set the selection so that deleteKeyPressedWithSmartDelete knows what to delete.
3016
3017 2005-02-06  Darin Adler  <darin@apple.com>
3018
3019         Reviewed by Maciej.
3020
3021         - fixed <rdar://problem/3963166> PDFView SPI print method is being deprecated, moving to PDFDocument; please update WebKit
3022
3023         * WebView.subproj/WebPDFView.m: (-[WebPDFView printOperationWithPrintInfo:]): Target the document instead of the view.
3024
3025         * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes and also moved one translation to be a file-specific
3026         item rather than a file-independent one.
3027
3028 2005-02-05  Chris Blumenberg  <cblu@apple.com>
3029
3030         Fixed: <rdar://problem/3991974> REGRESSION: www.jabra.com world location screen does not work
3031
3032         Reviewed by hyatt.
3033
3034         * WebCoreSupport.subproj/WebBridge.m:
3035         (-[WebBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]): use the baseURL from the bridge rather than from the response
3036
3037 2005-02-04  Chris Blumenberg  <cblu@apple.com>
3038
3039         Fixed: <rdar://problem/3802781> rtf->html pasteboard conversion using xhtml
3040
3041         Reviewed by kocienda.
3042
3043         * WebView.subproj/WebHTMLView.m:
3044         (+[WebHTMLView _excludedElementsForAttributedStringConversion]): new
3045         (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): call _excludedElementsForAttributedStringConversion
3046
3047 2005-02-04  Chris Blumenberg  <cblu@apple.com>
3048
3049         Fixed: <rdar://problem/3832973> copy text from PowerPoint, paste into Blot (or presumably Mail) and get a single missing image icon
3050
3051         Reviewed by john.
3052
3053         * WebView.subproj/WebHTMLView.m:
3054         (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): prefer RTF and RTFD over images just as NSTextView does
3055
3056 2005-02-03  Chris Blumenberg  <cblu@apple.com>
3057
3058         Fixed: <rdar://problem/3555137> REGRESSION (125-173): Flash animation can erase parts of chrome (bookmarks bar & tab bar)
3059
3060         convertRect:toView: returns incorrect results inside of viewWillMoveToWindow: with a nil window. Workaround this by catching this case.
3061
3062         Reviewed by darin.
3063
3064         * Plugins.subproj/WebBaseNetscapePluginView.m:
3065         (-[WebBaseNetscapePluginView superviewsHaveSuperviews]): new
3066         (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]): clip out the plug-in view when superviewsHaveSuperviews returns NO
3067
3068 2005-02-03  Chris Blumenberg  <cblu@apple.com>
3069
3070         Fixed: <rdar://problem/3893513> Sun iPlanet app: when saving to a file it brings up a window with the thing to be saved instead
3071
3072         Reviewed by adele.
3073
3074         * WebView.subproj/WebTextView.m:
3075         (+[WebTextView unsupportedTextMIMETypes]): added "text/ldif" to the list of MIME types that our text view doesn't handle
3076
3077 === Safari-183 ===
3078
3079 2005-02-03  Chris Blumenberg  <cblu@apple.com>
3080
3081         * English.lproj/StringsNotToBeLocalized.txt: updated
3082
3083 2005-02-03  Chris Blumenberg  <cblu@apple.com>
3084
3085         Fixed: <rdar://problem/3989611> Evite style "add vCalendar to calendar" do not work
3086
3087         Reviewed by adele.
3088
3089         * WebView.subproj/WebTextView.m:
3090         (+[WebTextView unsupportedTextMIMETypes]): added "text/x-vcalendar" to the list of MIME types our text view doesn't handle
3091
3092 2005-02-03  Vicki Murley  <vicki@apple.com>
3093
3094         Reviewed by Darin.
3095
3096         - fix deployment build breakage on Panther
3097  
3098         * WebView.subproj/WebHTMLView.m:
3099         (-[WebHTMLView toggleBaseWritingDirection:]):
3100
3101 2005-02-02  John Sullivan  <sullivan@apple.com>
3102
3103         Reviewed by Chris.
3104         
3105         - WebKit part of fix for <rdar://problem/3980651> REGRESSION (125-180): Huge number of pages printed from certain page, 
3106         iFrame involved
3107         
3108         This also fixes the problems with printing from GMail, yay!
3109
3110         * WebView.subproj/WebHTMLView.m:
3111         (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
3112         Don't adjust margins for header/footer here, because this is called for each subframe.
3113         (-[WebHTMLView knowsPageRange:]):
3114         Do adjust margins for header/footer here (analogous to WebTextView and WebImageView).
3115         Also, round the page height to an integer here (noticed in passing).
3116
3117 2005-02-02  Chris Blumenberg  <cblu@apple.com>
3118
3119         Fixed: <rdar://problem/3986546> Cut, delete, and paste menu items are active when a image is opened in window
3120
3121         Reviewed by john.
3122
3123         * WebView.subproj/WebView.m:
3124         (-[WebView _responderValidateUserInterfaceItem:]): new, has the responder validate the item 
3125         (-[WebView validateUserInterfaceItem:]): call VALIDATE for each repsonder selector using FOR_EACH_RESPONDER_SELECTOR macro
3126         (-[WebView _performResponderOperation:with:]): call factored out method _responderForResponderOperations
3127         (-[WebView _responderForResponderOperations]): new, code from _performResponderOperation:with:
3128
3129 2005-02-02  Chris Blumenberg  <cblu@apple.com>
3130
3131         Fixed: <rdar://problem/3983628> control-click on WebView is not selecting the word under the cursor (Mail, non-editable WebView)
3132
3133         Reviewed by rjw.
3134
3135         * WebCoreSupport.subproj/WebBridge.m:
3136         (-[WebBridge selectWordBeforeMenuEvent]): new
3137         * WebView.subproj/WebView.m:
3138         (-[WebView _selectWordBeforeMenuEvent]): new SPI
3139         (-[WebView _setSelectWordBeforeMenuEvent:]): new SPI
3140         * WebView.subproj/WebViewInternal.h:
3141         * WebView.subproj/WebViewPrivate.h:
3142
3143 2005-02-02  Chris Blumenberg  <cblu@apple.com>
3144
3145         Fixed: <rdar://problem/3986013> Assertion failure going back after page load error (no apparent problem in nondebug build)
3146
3147         Reviewed by rjw.
3148
3149         * WebView.subproj/WebDataSource.m:
3150         (-[WebDataSource _setPrimaryLoadComplete:]): don't set the data source data when the main client is nil
3151
3152 2005-02-02  Ken Kocienda  <kocienda@apple.com>
3153
3154         Reviewed by Darin
3155
3156         Fix for this bug:
3157         
3158         <rdar://problem/3823109> WebKit should support -toggleBaseWritingDirection: (bidi editing support)
3159
3160         * WebView.subproj/WebHTMLView.m:
3161         (-[WebHTMLView _applyParagraphStyleToSelection:withUndoAction:]): New function that calls through to
3162         new feature that allows callers to force all properties in a style to be applied as block styles.
3163         (-[WebHTMLView _alignSelectionUsingCSSValue:withUndoAction:]): Removed FIXME comment for something that has been fixed.
3164         (-[WebHTMLView toggleBaseWritingDirection:]): Implemented.
3165
3166 2005-02-01  Richard Williamson   <rjw@apple.com>
3167
3168         Fixed <rdar://problem/3977727> WebKit should use new SPI to support faster GIF rendering
3169
3170         Note:  This REQUIRES build >= 3A362 when building on Tiger.
3171
3172         Reviewed by John.
3173
3174         * WebCoreSupport.subproj/WebImageData.m:
3175         (-[WebImageData _imageSourceOptions]):
3176
3177 === Safari-182 ===
3178
3179 2005-02-01  Richard Williamson   <rjw@apple.com>
3180
3181         Added new SPI for <rdar://problem/3967063> need spi on WebView to turn of lcd text for Dashboard
3182
3183         Reviewed by Chris.
3184
3185         * WebCoreSupport.subproj/WebTextRenderer.m:
3186         (_drawGlyphs):
3187         * WebView.subproj/WebView.m:
3188         (-[WebView drawRect:]):
3189         (-[WebView _dashboardBehavior:]):
3190         (+[WebView _setShouldUseFontSmoothing:]):
3191         (+[WebView _shouldUseFontSmoothing]):
3192         * WebView.subproj/WebViewInternal.h:
3193         * WebView.subproj/WebViewPrivate.h:
3194
3195 2005-01-31  Chris Blumenberg  <cblu@apple.com>
3196
3197         Fixed: <rdar://problem/3949806> REGRESSION: Source window fails to refresh correctly on reload
3198
3199         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.
3200
3201         Reviewed by darin.
3202
3203         * WebView.subproj/WebDataSource.m:
3204         (-[WebDataSource _setData:]): moved within file
3205         (-[WebDataSource _setPrimaryLoadComplete:]): call _setData: with the data from the main client before letting go of the main client
3206         * WebView.subproj/WebDataSourcePrivate.h:
3207         * WebView.subproj/WebMainResourceClient.m:
3208         (-[WebMainResourceClient releaseResources]): removed call to _setData: since the data source may need the data before releaseResources is called
3209
3210 2005-01-31  Chris Blumenberg  <cblu@apple.com>
3211
3212         Fixed: <rdar://problem/3946285> Seed: Safari crashed by selecting all at internet-moebel.com
3213
3214         Reviewed by john.
3215
3216         * WebView.subproj/WebHTMLView.m:
3217         (-[WebHTMLView _hitViewForEvent:]): new, factored hit test hack to this method
3218         (-[WebHTMLView _updateMouseoverWithEvent:): call _hitViewForEvent:
3219         (-[WebHTMLView acceptsFirstMouse:]): call _setMouseDownEvent: and _isSelectionEvent: on the hit HTMLView or else when it's asked to drag it will assert
3220         (-[WebHTMLView shouldDelayWindowOrderingForEvent:]): ditto
3221
3222 2005-01-31  David Harrison  <harrison@apple.com>
3223
3224         Reviewed by Darin.
3225
3226         <rdar://problem/3961239> AX Setting AXFocused on AXScrollArea of AXWebArea will cause keyboard selection change
3227
3228         * WebView.subproj/WebHTMLView.m:
3229         (-[WebHTMLView maintainsInactiveSelection]):
3230         Keep the selection when the new first respomder is our own scrollview, in both editable and non-editaqble content.
3231
3232 2005-01-31  Jens Alfke  <jens@apple.com>
3233
3234         Reviewed by John.
3235
3236         - Fixed <rdar://problem/3903199> REGRESSION: Large background patterns slide around while loading
3237
3238         * WebCoreSupport.subproj/WebImageData.m:
3239         (drawPattern):
3240         (-[WebImageData tileInRect:fromPoint:context:]):
3241
3242 2005-01-30  Darin Adler  <darin@apple.com>
3243
3244         Reviewed by John.
3245
3246         - fixed <rdar://problem/3965265> Safari displays HTML as source when default encoding is Hebrew (due to direction overrides added by encoding converter)
3247
3248         * WebView.subproj/WebPreferencesPrivate.h: Added _systemCFStringEncoding, and changed
3249         _setInitialDefaultTextEncodingToSystemEncoding to be a class method.
3250         * WebView.subproj/WebPreferences.m:
3251         (+[WebPreferences _systemCFStringEncoding]): Added. New SPI to be used by Safari. Broken out of
3252         _setInitialDefaultTextEncodingToSystemEncoding, but also added cases for MacArabic and MacHebrew.
3253         (+[WebPreferences _setInitialDefaultTextEncodingToSystemEncoding]): Refactor to use _systemCFStringEncoding.
3254
3255 2005-01-28  Jens Alfke  <jens@apple.com>
3256
3257         Reviewed by Richard.
3258
3259         <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)
3260
3261         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.)
3262
3263         * WebCoreSupport.subproj/WebImageData.h:
3264         * WebCoreSupport.subproj/WebImageData.m:
3265         (-[WebImageData _invalidateImages]):
3266         (-[WebImageData _checkSolidColor:]):
3267         (-[WebImageData _cacheImages:allImages:]):
3268         (-[WebImageData _fillSolidColorInRect:compositeOperation:context:]):
3269         (-[WebImageData tileInRect:fromPoint:context:]):
3270
3271 2005-01-28  David Harrison  <harrison@apple.com>
3272
3273         Reviewed by Darin.
3274
3275         <rdar://problem/3584942> AX: Safari Accessibility parent-child mismatch
3276
3277         Use AppKit SPI _accessibilityParentForSubview to return KWQAccObject parent of AppKit AX object.
3278         
3279         * WebView.subproj/WebHTMLView.m:
3280         (-[WebHTMLView _accessibilityParentForSubview:]):
3281         New.
3282
3283 2005-01-28  Chris Blumenberg  <cblu@apple.com>
3284
3285         WebKit side of: <rdar://problem/3951283> can view pages from the back/forward cache that should be disallowed by Parental Controls
3286
3287         Reviewed by john.
3288
3289         * WebView.subproj/WebDefaultPolicyDelegate.m:
3290         (-[WebDefaultPolicyDelegate webView:shouldGoToHistoryItem:]): new private delegate method
3291         * WebView.subproj/WebFrame.m:
3292         (-[WebFrame _goToItem:withLoadType:]): call new delegate method
3293         * WebView.subproj/WebPolicyDelegatePrivate.h:
3294
3295 2005-01-26  Maciej Stachowiak  <mjs@apple.com>
3296
3297         Reviewed by Darin, Hyatt and Ken.
3298
3299         <rdar://problem/3790449> REGRESSION (Mail): underline behavior is flaky because of how CSS handles text-decoration
3300
3301         * WebView.subproj/WebHTMLView.m:
3302         (-[WebHTMLView _styleFromFontAttributes:]): Use new -khtml-text-decorations-in-effect
3303         property
3304         (-[WebHTMLView _styleForAttributeChange:]): likewise
3305         (-[WebHTMLView underline:]): likewise
3306
3307 2005-01-27  Ken Kocienda  <kocienda@apple.com>
3308
3309         Reviewed by Maciej
3310
3311         * WebView.subproj/WebHTMLView.m:
3312         (-[WebHTMLView _handleKillRing:prepend:]): New helper function. Code factored out from 
3313          _deleteRange:killRing:prepend:smartDeleteOK:isTypingAction:.
3314         (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:isTypingAction:]): No longer takes 
3315         unused preflight argument. Now takes new isTypingAction argument. Uses isTypingAction to
3316         determine which flavor of delete command to call.
3317         (-[WebHTMLView _deleteSelection]): No longer passes unused preflight argument. Now passes new isTypingAction argument.
3318         (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]): Rearranged code to call
3319         correct flavor of delete command, based on whether typing should be preserved. Some other cleanups.
3320         (-[WebHTMLView deleteForward:]): Add _isEditable check.
3321         (-[WebHTMLView deleteBackward:]): Now calls _deleteWithDirection instead of having unique behavior different 
3322         from forward delete.
3323         (-[WebHTMLView deleteWordForward:]): Add new isTypingAction flag to _deleteWithDirection call.
3324         (-[WebHTMLView deleteWordBackward:]): Ditto.
3325         (-[WebHTMLView deleteToBeginningOfLine:]): Ditto.
3326         (-[WebHTMLView deleteToEndOfLine:]): Ditto.
3327         (-[WebHTMLView deleteToBeginningOfParagraph:]): Ditto.
3328         (-[WebHTMLView deleteToEndOfParagraph:]): Ditto.
3329         (-[WebHTMLView deleteToMark:]): Ditto.
3330
3331 === Safari-181 ===
3332
3333 2005-01-27  Chris Blumenberg  <cblu@apple.com>
3334
3335         Fixed: <rdar://problem/3973272> REGRESSION: Safari uses QT plugin to display PNG images
3336
3337         Reviewed by john.
3338
3339         * Plugins.subproj/WebBasePluginPackage.m: use renamed QT bundle ID
3340
3341 2005-01-26  Darin Adler  <darin@apple.com>
3342
3343         Reviewed by John.
3344
3345         - fixed <rdar://problem/3829517> WebView still draws white when setDrawsBackground set to NO and no content loaded yet
3346
3347         * WebView.subproj/WebFrameView.m: (-[WebFrameView drawRect:]): Check drawsBackground, and don't
3348         draw the white "no document" background if it's NO. This fixes things for frames with no document.
3349         * WebView.subproj/WebImageView.m: (-[WebImageView drawRect:]): Same as above. This fixes things
3350         for frames with just an image.
3351         * WebView.subproj/WebFrame.m: (-[WebFrame _updateDrawsBackground]): Call setDrawsBackground: on the
3352         document view if it implements it. This fixes things for frames with plain text.
3353
3354 2005-01-25  John Sullivan  <sullivan@apple.com>
3355
3356         Reviewed by Chris.
3357         
3358         - WebKit part of fix for: <rdar://problem/3970670> Text context menu 
3359           in WebKit needs "Look Up in Dictionary" item
3360
3361         * WebView.subproj/WebDefaultContextMenuDelegate.m:
3362         (localizedMenuTitleFromAppKit):
3363         return English string in the case where AppKit bundle is found but doesn't
3364         contain the expected string. This case will be hit by people testing with
3365         an older AppKit.
3366         (-[WebDefaultUIDelegate menuItemWithTag:]):
3367         create Look Up in Dictionary item
3368         (-[WebDefaultUIDelegate contextMenuItemsForElement:]):
3369         add Look Up in Dictionary item and separator
3370         (-[WebDefaultUIDelegate editingContextMenuItemsForElement:]):
3371         ditto
3372
3373         * WebView.subproj/WebHTMLView.m:
3374         (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
3375         new method, handles bringing up the Dictionary window. Includes FIXMEs
3376         for a couple of the known loose ends.
3377         (-[WebHTMLView validateUserInterfaceItem:]):
3378         handle Look Up in Dictionary item like the other new items
3379         
3380         * WebView.subproj/WebUIDelegatePrivate.h:
3381         added SPI constant for Look Up in Dictionary menu item
3382
3383 2005-01-24  Maciej Stachowiak  <mjs@apple.com>
3384
3385         Fixed Panther build (missing ifdef)
3386
3387         * WebView.subproj/WebDefaultContextMenuDelegate.m:
3388
3389 2005-01-24  John Sullivan  <sullivan@apple.com>
3390
3391         Reviewed by Darin.
3392         
3393         - WebKit part of fix for <rdar://problem/3960231> Text context menu in WebKit needs Spotlight and Google items
3394         
3395         * WebView.subproj/WebDefaultContextMenuDelegate.m:
3396         (localizedMenuTitleFromAppKit):
3397         new function, gets localized string from AppKit so we can avoid adding localized
3398         strings to WebKit at this late date in Tiger. Returns the non-localized English
3399         string if we can't find the localized string in AppKit.
3400         (-[WebDefaultUIDelegate menuItemWithTag:]):
3401         handle the two new menu items by tag name
3402         (-[WebDefaultUIDelegate contextMenuItemsForElement:]):
3403         add menu items for Search in Google and Search in Spotlight to selected-text menu item
3404         for the noneditable case
3405         (-[WebDefaultUIDelegate editingContextMenuItemsForElement:]):
3406         add menu items for Search in Google and Search in Spotlight to selected-text menu item
3407         for the editable case
3408
3409         * WebView.subproj/WebHTMLView.m:
3410         (-[WebHTMLView _searchWithGoogleFromMenu:]):
3411         implement this menu item action method, using same method name and implementation as NSTextView
3412         (-[WebHTMLView _searchWithSpotlightFromMenu:]):
3413         implement this menu item action method, using same basic implementation as NSTextView
3414         (-[WebHTMLView validateUserInterfaceItem:]):
3415         validate new menu items
3416         
3417         * WebView.subproj/WebUIDelegatePrivate.h:
3418         define new tags for new menu items
3419
3420         * English.lproj/StringsNotToBeLocalized.txt:
3421         updated for these changes
3422
3423 2005-01-24  Darin Adler  <darin@apple.com>
3424
3425         * WebView.subproj/WebDataSource.m: (+[WebDataSource _repTypesAllowImageTypeOmission:]):
3426         Do the same check as for view types, so the representation types are consistent.
3427
3428 2005-01-24  Darin Adler  <darin@apple.com>
3429
3430         Reviewed by John.
3431
3432         - fixed <rdar://problem/3791158> REGRESSION (Mail): copyFont: and pasteFont: copy and paste only the NSFont, not other attributes
3433
3434         * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _styleFromFontAttributes:]): Added the last
3435         few loose ends here: strikethrough and underline.
3436
3437         - fixed <rdar://problem/3967393> add a user default that lets you turn off WebKit PDF support
3438
3439         * WebView.subproj/WebFrameView.m: (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
3440         Leave the PDF-handling classes out of the dictionary if the secret default is set.
3441
3442         * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
3443
3444 2005-01-20  Darin Adler  <darin@apple.com>
3445
3446         Reviewed by Kristin Forster.
3447
3448         - fixed <rdar://problem/3964972> update _initWithCGSEvent:eventRef: call in mouse moved workaround (breaks cursors in Carbon WebKit applications)
3449
3450         * Carbon.subproj/HIWebView.m: (MouseMoved): Instead of munging the event record's window number directly
3451         before calling _initWithCGSEvent, on Tiger we call _eventRelativeToWindow on the event after creating it.
3452         Also added a check so that with Macromedia Contribute's workaround in place we don't do anything at all
3453         to the event. Tested with both Contribute and CarbonWeb.
3454
3455         * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
3456
3457 2005-01-20  Richard Williamson   <rjw@apple.com>
3458
3459         Fixed <rdar://problem/3815672> REGRESSION (Mail): Japanese text cannot be made bold
3460
3461         The AppKit's font substitution API doesn't match font traits! 
3462         It only find fonts that contain the appropriate glyphs.  This
3463         patch attempts to find the best variation within a family.
3464
3465         Reviewed by Maciej.
3466
3467         * WebCoreSupport.subproj/WebTextRenderer.m:
3468         (-[WebTextRenderer _substituteFontForString:families:]):
3469
3470 === Safari-180 ===
3471
3472 2005-01-20  Ken Kocienda  <kocienda@apple.com>
3473
3474         Reviewed by John
3475
3476         Fix for this bug:
3477         
3478         <rdar://problem/3786659> REGRESSION (Mail): editable WebViews don't work with "size up" and "size down" NSFontManager changes
3479
3480         * WebView.subproj/WebHTMLView.m:
3481         (-[WebHTMLView _addToStyle:fontA:fontB:]): This is the WebKit side of the fix. Replaced unimplemented code blocks