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