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