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