* WebView.subproj/WebPreferencesPrivate.h:
[WebKit-https.git] / WebKit / ChangeLog
1 2004-04-15  John Sullivan  <sullivan@apple.com>
2
3         * WebView.subproj/WebPreferencesPrivate.h:
4         added comments
5
6 2004-04-14  Richard Williamson   <rjw@apple.com>
7
8         Updated fix for 3576315.  Don't hardcode 22 as the titlebar
9         height.  (Note, other places in CarbonWindowFrame DO hardcode
10         window geometry information, yuck!).
11
12         Reviewed by Hyatt.
13
14         * Carbon.subproj/CarbonWindowFrame.m:
15
16 2004-04-14  John Sullivan  <sullivan@apple.com>
17
18         - changed stealth mode preference name from "historyIsFrozen"
19         to "privateBrowsingEnabled"
20
21         Reviewed by Darin.
22
23         * WebView.subproj/WebFrame.m:
24         (-[WebFrame _transitionToCommitted:]):
25         updated for method name change
26         
27         * WebView.subproj/WebPreferences.m:
28         changed preference key name
29         (+[WebPreferences initialize]):
30         updated for preference key name change
31         (-[WebPreferences setPrivateBrowsingEnabled:]):
32         changed name from setHistoryIsFrozen:
33         (-[WebPreferences privateBrowsingEnabled]):
34         changed name from historyIsFrozen:
35         
36         * WebView.subproj/WebPreferencesPrivate.h:
37         changed declared method names
38
39         * English.lproj/StringsNotToBeLocalized.txt:
40         updated for this and other recent changes
41
42 2004-04-13  Chris Blumenberg  <cblu@apple.com>
43
44         - Added WebElementDOMNodeKey as a potential API so that clients can get the node from an element dictionary.
45         - Removed WebElementIsEditableKey. This functionality is available via [DOMNode isContentEditable].
46
47         Reviewed by rjw.
48
49         * DOM.subproj/WebDOMOperations.h:
50         * DOM.subproj/WebDOMOperations.m:
51         (-[DOMDocument URLWithRelativeString:]): new potential API
52         * WebView.subproj/WebDefaultContextMenuDelegate.m:
53         (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): indenting tweak
54         (-[WebDefaultUIDelegate copyImageToClipboard:]): use WebElementDOMNodeKey
55         * WebView.subproj/WebHTMLView.m:
56         (-[WebHTMLView _handleMouseDragged:]): use WebElementDOMNodeKey
57         (-[WebHTMLView _dragOperationForDraggingInfo:]): use isContentEditable
58         * WebView.subproj/WebView.h:
59         * WebView.subproj/WebView.m:
60         * WebView.subproj/WebViewPrivate.h:
61
62 2004-04-13  Chris Blumenberg  <cblu@apple.com>
63
64         Fixed deployment build failure.
65
66         Reviewed by john.
67
68         * WebView.subproj/WebHTMLView.m:
69         (-[WebHTMLView _handleMouseDragged:]): removed use of fileWrapper variable
70
71 2004-04-12  Chris Blumenberg  <cblu@apple.com>
72
73         Factored out WebArchive to DOM code so that it could be used by both [WebHTMLView _pasteFromPasteboard:] and [WebView insertWebArchive:replacingDOMRange:].
74
75         Reviewed by kocienda.
76
77         * WebView.subproj/WebDataSource.m:
78         (-[WebDataSource _replaceSelectionWithMarkupString:baseURL:]): moved from WebHTMLView
79         (-[WebDataSource _replaceSelectionWithImageResource:]): ditto
80         (-[WebDataSource _replaceSelectionWithWebArchive:]): ditto
81         * WebView.subproj/WebDataSourcePrivate.h:
82         * WebView.subproj/WebHTMLView.m:
83         (-[WebHTMLView _replaceSelectionWithMarkupString:]): renamed
84         (-[WebHTMLView _pasteFromPasteboard:]): call renamed methods
85         * WebView.subproj/WebView.m:
86         (-[WebView insertMarkupString:replacingDOMRange:]): call renamed methods
87         (-[WebView insertWebArchive:replacingDOMRange:]): have data source handle the archive instead of the bridge
88
89 2004-04-12  Ken Kocienda  <kocienda@apple.com>
90
91         Reviewed by Dave
92         
93         Added execCommand support for cut/copy/paste.
94
95         * WebCoreSupport.subproj/WebBridge.m:
96         (-[WebBridge issueCutCommand]): Glue for calling from WebCore to do a cut in Cocoa.
97         (-[WebBridge issueCopyCommand]): Same as above, but for copy.
98         (-[WebBridge issuePasteCommand]): Same as above, but for paste.
99         * WebView.subproj/WebHTMLView.m:
100         (-[WebHTMLView copy:]): Move this to private implementation category so the bridge can see it.
101         (-[WebHTMLView cut:]): Ditto.
102         (-[WebHTMLView paste:]): Ditto.
103         * WebView.subproj/WebHTMLViewPrivate.h: Move copy;, cut:, and paste: to private implementation 
104         category so the bridge can see it.
105         * WebView.subproj/WebView.m:
106         (-[WebView copy:]): Implemented by calling WebHTMLView to do the work.
107         (-[WebView cut:]): Ditto.
108         (-[WebView paste:]): Ditto.
109         * WebView.subproj/WebViewPrivate.h: Added all the NSReponder methods we plan to implement as
110         part of the WebKit editing API.
111
112 2004-04-09  Ken Kocienda  <kocienda@apple.com>
113
114         Reviewed by Darin
115
116         Stubbed in the entire WebKit editing API, improving some
117         methods already present in minor ways, and adding those 
118         methods not yet present.
119
120         * WebCoreSupport.subproj/WebBridge.m:
121         (-[WebBridge editingKeyDown:]):
122         * WebView.subproj/WebDefaultEditingDelegate.m:
123         (-[WebDefaultEditingDelegate webView:shouldChangeSelectedDOMRange:toDOMRange:stillSelecting:]):
124         * WebView.subproj/WebHTMLView.m:
125         (-[WebHTMLView _pasteMarkupString:]):
126         * WebView.subproj/WebView.m:
127         (-[WebView _alterCurrentSelection:direction:granularity:]):
128         (-[WebView _currentSelectionIsEditable]):
129         (-[WebView computedStyleForElement:pseudoElement:]):
130         (-[WebView _editingKeyDown:]):
131         (-[WebView setEditable:]):
132         (-[WebView isEditable]):
133         (-[WebView setTypingStyle:]):
134         (-[WebView typingStyle]):
135         (-[WebView setSmartInsertDeleteEnabled:]):
136         (-[WebView smartInsertDeleteEnabled]):
137         (-[WebView setContinuousSpellCheckingEnabled:]):
138         (-[WebView isContinuousSpellCheckingEnabled]):
139         (-[WebView spellCheckerDocumentTag]):
140         (-[WebView undoManager]):
141         (-[WebView insertNode:replacingDOMRange:]):
142         (-[WebView insertText:replacingDOMRange:]):
143         (-[WebView insertMarkupString:replacingDOMRange:]):
144         (-[WebView insertWebArchive:replacingDOMRange:]):
145         (-[WebView deleteDOMRange:]):
146         (-[WebView applyStyle:toElementsInDOMRange:]):
147         (-[WebView centerSelectionInVisibleArea:]):
148         (-[WebView moveBackward:]):
149         (-[WebView moveBackwardAndModifySelection:]):
150         (-[WebView moveDown:]):
151         (-[WebView moveDownAndModifySelection:]):
152         (-[WebView moveForward:]):
153         (-[WebView moveForwardAndModifySelection:]):
154         (-[WebView moveLeft:]):
155         (-[WebView moveLeftAndModifySelection:]):
156         (-[WebView moveRight:]):
157         (-[WebView moveRightAndModifySelection:]):
158         (-[WebView moveToBeginningOfDocument:]):
159         (-[WebView moveToBeginningOfLine:]):
160         (-[WebView moveToBeginningOfParagraph:]):
161         (-[WebView moveToEndOfDocument:]):
162         (-[WebView moveToEndOfLine:]):
163         (-[WebView moveToEndOfParagraph:]):
164         (-[WebView moveUp:]):
165         (-[WebView moveUpAndModifySelection:]):
166         (-[WebView moveWordBackward:]):
167         (-[WebView moveWordBackwardAndModifySelection:]):
168         (-[WebView moveWordForward:]):
169         (-[WebView moveWordForwardAndModifySelection:]):
170         (-[WebView moveWordLeft:]):
171         (-[WebView moveWordLeftAndModifySelection:]):
172         (-[WebView moveWordRight:]):
173         (-[WebView moveWordRightAndModifySelection:]):
174         (-[WebView pageDown:]):
175         (-[WebView pageUp:]):
176         (-[WebView scrollLineDown:]):
177         (-[WebView scrollLineUp:]):
178         (-[WebView scrollPageDown:]):
179         (-[WebView scrollPageUp:]):
180         (-[WebView selectAll:]):
181         (-[WebView selectParagraph:]):
182         (-[WebView selectLine:]):
183         (-[WebView selectWord:]):
184         (-[WebView copy:]):
185         (-[WebView cut:]):
186         (-[WebView paste:]):
187         (-[WebView copyFont:]):
188         (-[WebView pasteFont:]):
189         (-[WebView delete:]):
190         (-[WebView pasteAsPlainText:]):
191         (-[WebView pasteAsRichText:]):
192         (-[WebView changeFont:]):
193         (-[WebView changeAttributes:]):
194         (-[WebView changeDocumentBackgroundColor:]):
195         (-[WebView changeColor:]):
196         (-[WebView alignCenter:]):
197         (-[WebView alignJustified:]):
198         (-[WebView alignLeft:]):
199         (-[WebView alignRight:]):
200         (-[WebView indent:]):
201         (-[WebView insertTab:]):
202         (-[WebView insertBacktab:]):
203         (-[WebView insertNewline:]):
204         (-[WebView insertParagraphSeparator:]):
205         (-[WebView changeCaseOfLetter:]):
206         (-[WebView uppercaseWord:]):
207         (-[WebView lowercaseWord:]):
208         (-[WebView capitalizeWord:]):
209         (-[WebView deleteForward:]):
210         (-[WebView deleteBackward:]):
211         (-[WebView deleteBackwardByDecomposingPreviousCharacter:]):
212         (-[WebView deleteWordForward:]):
213         (-[WebView deleteWordBackward:]):
214         (-[WebView deleteToBeginningOfLine:]):
215         (-[WebView deleteToEndOfLine:]):
216         (-[WebView deleteToBeginningOfParagraph:]):
217         (-[WebView deleteToEndOfParagraph:]):
218         (-[WebView complete:]):
219         (-[WebView checkSpelling:]):
220         (-[WebView showGuessPanel:]):
221         (-[WebView performFindPanelAction:]):
222         (-[WebView startSpeaking:]):
223         (-[WebView stopSpeaking:]):
224         (-[WebView insertText:]):
225         * WebView.subproj/WebViewPrivate.h:
226
227 2004-04-09  Darin Adler  <darin@apple.com>
228
229         Reviewed by Ken.
230
231         - added "transparent mode"
232
233         * WebView.subproj/WebFrameInternal.h: Added. Contains _updateDrawsBackground.
234         * WebView.subproj/WebFrame.m:
235         (-[WebFrame _makeDocumentView]): Call _updateDrawsBackground to tell the newly created
236         KHTMLView whether to draw a background or not.
237         (-[WebFrame _setState:]): Don't tell the scroll view to start drawing background if the
238         WebView is not supposed to draw a background.
239         (-[WebFrame _updateDrawsBackground]): Call setDrawsBackground: on the bridge, and do the
240         same for all subframes.
241
242         * WebView.subproj/WebFrameView.m: (-[WebFrameView setFrameSize:]): Only call setDrawsBackground:YES
243         on the scroll view if the WebView has drawsBackground set to YES.
244
245         * WebView.subproj/WebViewPrivate.h: Added new proposed API, setDrawsBackground and drawsBackground.
246         Also added drawsBackground boolean to private structure.
247         * WebView.subproj/WebView.m:
248         (-[WebView _commonInitializationWithFrameName:groupName:]): Set drawsBackground to YES by default.
249         (-[WebView setDrawsBackground:]): Added. Sets boolean and calls _updateDrawsBackground to update
250         the flag for each frame.
251         (-[WebView drawsBackground]): Added. Returns value of boolean.
252         (-[WebView _bridgeForCurrentSelection]): Tweaked comment for no good reason.
253
254         * WebView.subproj/WebViewInternal.h: Added, but empty for the moment.
255         * WebView.subproj/WebFramePrivate.h: Tweaked a bit.
256
257 2004-04-08  Chris Blumenberg  <cblu@apple.com>
258
259         Fixed:
260         <rdar://problem/3616873>: support for pasting and drag and dropping of URLS to editable WebViews
261         <rdar://problem/3546417>: support for pasting and drag and dropping of images to editable WebViews
262
263         Reviewed by rjw.
264
265         * DOM.subproj/WebDOMOperations.h:
266         * DOM.subproj/WebDOMOperations.m:
267         (-[DOMNode webArchive]): renamed from "archive" because "archive" collides with DOMHTMLObjectElement's method
268         (-[DOMRange webArchive]): ditto
269         * Misc.subproj/WebNSPasteboardExtras.h:
270         * Misc.subproj/WebNSPasteboardExtras.m:
271         (-[NSPasteboard _web_writeImage:URL:title:archive:]): take just an archive instead of an HTML string and file wrapper
272         * Misc.subproj/WebNSViewExtras.h:
273         * Misc.subproj/WebNSViewExtras.m:
274         (-[NSView _web_dragImage:archive:rect:URL:title:event:]): take just an archive instead of an HTML string and file wrapper
275         * WebView.subproj/WebDataProtocol.h:
276         * WebView.subproj/WebDataProtocol.m:
277         (+[NSURL _web_uniqueWebDataURL]): new
278         (+[NSURL _web_uniqueWebDataURLWithRelativeString:]): new
279         * WebView.subproj/WebDefaultContextMenuDelegate.m:
280         (-[WebDefaultUIDelegate copyImageToClipboard:]): call renamed _web_writeImage
281         * WebView.subproj/WebFrame.m:
282         (-[WebFrame _webDataRequestForData:MIMEType:textEncodingName:baseURL:unreachableURL:]): use _web_uniqueWebDataURL for creating a URL
283         * WebView.subproj/WebHTMLView.m:
284         (-[WebHTMLView _pasteImageResource:]): new
285         (-[WebHTMLView _pasteFromPasteboard:]): renamed, now handles images and URLs
286         (-[WebHTMLView _handleMouseDragged:]): call renamed _web_dragImage
287         (-[WebHTMLView paste:]): call renamed _pasteFromPasteboard
288         (-[WebHTMLView concludeDragOperation:]): call renamed _pasteFromPasteboard
289         * WebView.subproj/WebHTMLViewPrivate.h:
290         * WebView.subproj/WebImageRepresentation.h:
291         * WebView.subproj/WebImageRepresentation.m:
292         (-[WebImageRepresentation archive]): new
293         * WebView.subproj/WebImageView.m:
294         (-[WebImageView writeImageToPasteboard:]): call renamed _web_writeImage
295         (-[WebImageView mouseDragged:]): call renamed _web_dragImage
296
297 === Safari-136 ===
298
299 2004-04-08  Chris Blumenberg  <cblu@apple.com>
300
301         Fixed: <rdar://problem/3548274>: API: DOM API for WebKit clients
302
303         Reviewed by kocienda.
304
305         * DOM.subproj/DOM.h: copied from WebCore
306         * WebKit.pbproj/project.pbxproj: made our DOM headers public!
307
308 2004-04-08  Chris Blumenberg  <cblu@apple.com>
309
310         Moved WebArchive to its own file.
311
312         Reviewed by kocienda.
313
314         * WebKit.pbproj/project.pbxproj:
315         * WebView.subproj/WebArchive.h: Added.
316         * WebView.subproj/WebArchive.m: Added.
317         (-[WebArchive data]): renamed from dataRepresentation
318         * WebView.subproj/WebDataSource.m:
319         * WebView.subproj/WebFrame.m:
320         * WebView.subproj/WebHTMLRepresentation.m:
321         * WebView.subproj/WebHTMLView.m:
322         (-[WebHTMLView _writeSelectionToPasteboard:]): call renamed [WebArchive data]
323         * WebView.subproj/WebResource.h:
324         * WebView.subproj/WebResource.m:
325
326 2004-04-07  Chris Blumenberg  <cblu@apple.com>
327
328         Created WebDOMOperations which are WebKit-specific categories on DOM objects.
329
330         Reviewed by rjw.
331
332         * DOM.subproj/DOMExtensions.h:
333         * DOM.subproj/WebDOMOperations.h: Added.
334         * DOM.subproj/WebDOMOperations.m: Added.
335         (-[DOMNode _bridge]): new
336         (-[DOMNode archive]): new
337         (-[DOMNode markupString]): new
338         (-[DOMRange _bridge]): new
339         (-[DOMRange archive]): new
340         (-[DOMRange markupString]): new
341         (-[DOMHTMLImageElement image]):
342         * WebCoreSupport.subproj/WebBridge.h:
343         * WebCoreSupport.subproj/WebBridge.m:
344         (-[WebBridge webFrame]): new
345         * WebKit.pbproj/project.pbxproj:
346         * WebView.subproj/WebDataSource.m:
347         (-[WebDataSource _archiveWithMarkupString:subresourceURLStrings:]): moved from WebHTMLRepresentation
348         * WebView.subproj/WebDataSourcePrivate.h:
349         * WebView.subproj/WebDefaultContextMenuDelegate.m:
350         (-[WebDefaultUIDelegate copyImageToClipboard:]): call markupString on the node
351         * WebView.subproj/WebDocumentPrivate.h:
352         * WebView.subproj/WebFrame.m:
353         (+[WebFrame frameForDOMDocument:]): new
354         (-[WebFrame loadArchive:]): renamed
355         * WebView.subproj/WebFramePrivate.h:
356         * WebView.subproj/WebHTMLRepresentation.h:
357         * WebView.subproj/WebHTMLRepresentation.m:
358         * WebView.subproj/WebHTMLRepresentationPrivate.h:
359         * WebView.subproj/WebHTMLView.m:
360         (-[WebHTMLView _selectedArchive:]): renamed
361         (-[WebHTMLView _handleMouseDragged:]): called renamed methods
362
363 2004-04-07  Darin Adler  <darin@apple.com>
364
365         Reviewed by Chris.
366
367         * DOM.subproj/DOMCSS.h: Updated from WebCore.
368
369 2004-04-07  Ken Kocienda  <kocienda@apple.com>
370
371         Reviewed by Darin and Dave (many weeks ago....I am so ashamed for not landing)
372
373         * WebCoreSupport.subproj/WebBridge.m:
374         (-[WebBridge expiresTimeForResponse:]): Now adds in the difference between
375         the Mac OS X epoch and the "standard" unix epoch when passing back a time
376         that WebCore will use for its cache expiration determinations. 
377
378 2004-04-07  Richard Williamson   <rjw@apple.com>
379
380         Fix for 3604388.  The runtime version check (_CFExecutableLinkedOnOrAfter) used by many of
381         our frameworks doesn't work for CFM apps.  So, conditional panther bugs fixes aren't
382         being pickup by CFM apps that use WebKit, specifically Contribute.  This particular radar
383         describes a problem that was conditionally fixed in the AppKit for panther.  The work-around
384         is to force NSBitmapImageRep to execute to conditional code.
385
386         Reviewed by Maciej.
387
388         * Carbon.subproj/CarbonUtils.m:
389         (WebInitForCarbon):
390
391 2004-04-06  Richard Williamson   <rjw@apple.com>
392
393         Fixed 3510805.  Only release pool in timer if the current nesting level of the
394         pool matches the nesting level when the pool was created.
395
396         Reviewed by Chris.
397
398         * Carbon.subproj/CarbonUtils.m:
399         (getNumPools):
400         (WebInitForCarbon):
401         (PoolCleaner):
402
403 2004-04-06  Chris Blumenberg  <cblu@apple.com>
404
405         Fixed: <rdar://problem/3613974>: remove "to Clipboard" from context menus because it is redundant
406
407         Reviewed by john.
408
409         * English.lproj/Localizable.strings:
410         * WebView.subproj/WebDefaultContextMenuDelegate.m:
411         (-[WebDefaultUIDelegate menuItemWithTag:]):
412
413 2004-04-06  Ken Kocienda  <kocienda@apple.com>
414
415         Reviewed by Dave
416
417         * WebCoreSupport.subproj/WebBridge.m:
418         (-[WebBridge issueUndoCommand]): New method. Forwards call to the undo manager. Added
419         to support undo called via Javascript execCommand.
420         (-[WebBridge issueRedoCommand]): Ditto.
421
422 2004-04-05  Chris Blumenberg  <cblu@apple.com>
423
424         Fixed: <rdar://problem/3612580>: SPI: WebPlugin selection
425
426         Reviewed by kocienda.
427
428         * Plugins.subproj/WebPlugin.h: extended SPI for selection
429         * Plugins.subproj/WebPluginContainer.h: ditto
430         * Plugins.subproj/WebPluginController.m:
431         (-[WebPluginController selectionColor]): new, calls [WebCoreBridge selectionColor]
432         * WebCoreSupport.subproj/WebBridge.m:
433         (-[WebBridge setIsSelected:forView:]): new, calls [WebPlugin setIsSelected:]
434         (-[WebBridge isViewSelected:]): new, calls [WebPlugin isSelected]
435
436 2004-04-02  Chris Blumenberg  <cblu@apple.com>
437
438         Forgot to add the WebKit copy of DOMExtensions.h.
439
440         * DOM.subproj/DOMExtensions.h: Added.
441
442 2004-04-02  John Sullivan  <sullivan@apple.com>
443
444         Reviewed by Dave.
445         
446         * WebView.subproj/WebPreferences.m:
447         (-[WebPreferences historyIsFrozen]):
448         take out OMIT_TIGER_FEATURES ifdeffing, since if we turn this into API
449         then we'll probably want it to work in Panther also. To protect Safari users,
450         Safari now explicitly sets historyIsFrozen to NO when starting up in Panther.
451
452         * English.lproj/StringsNotToBeLocalized.txt:
453         updated for recent changes
454
455 2004-04-02  Chris Blumenberg  <cblu@apple.com>
456
457         Moved the DOM extensions to their own headers
458
459         Reviewed by kocienda.
460
461         * DOM.subproj/DOM.h: changed from WebCore
462         * DOM.subproj/DOMHTML.h: ditto
463         * WebKit.pbproj/project.pbxproj: added DOMExtensions.h
464         * copy-webcore-files-to-webkit: copy DOMExtensions.h
465
466 === Safari-135 ===
467
468 2004-04-01  Richard Williamson   <rjw@apple.com>
469
470         Fixed 3609493.  Don't remove the plugin's view until after
471         sending pluginDestroy.  This change was requested by Greg
472         and is needed in the Lavender update.
473
474         Reviewed by Greg Bolsinga.
475
476         * Plugins.subproj/WebPluginController.m:
477         (-[WebPluginController destroyAllPlugins]):
478         * Plugins.subproj/npruntime.h:
479
480 2004-03-31  John Sullivan  <sullivan@apple.com>
481
482         - fixed <rdar://problem/3577917>: API: mechanism for displaying error 
483         page for failed page load
484         
485         This was not commented on for a week in macosx-api-reviewers, so it
486         has the silent rubber stamp of approval.
487         
488         Note that it isn't guarded by "Tiger only" availability macros because
489         we (probably) want to use it in Panther for Safari. Maybe what we should
490         do is guard the API with "Tiger only" macros but add an SPI version
491         that Safari uses?
492
493         Reviewed by Dave.
494
495         * WebView.subproj/WebDataSource.h:
496         moved unreachableURL to here
497         * WebView.subproj/WebDataSource.m:
498         (-[WebDataSource unreachableURL]):
499         moved this from private category to main section
500         
501         * WebView.subproj/WebDataSourcePrivate.h:
502         removed unreachableURL from here
503         
504         * WebView.subproj/WebFrame.h:
505         moved loadAlternateHTMLString... to here
506         * WebView.subproj/WebFrame.m:
507         (-[WebFrame loadAlternateHTMLString:baseURL:forUnreachableURL:]):
508         moved this from private category to main section
509         
510         * WebView.subproj/WebFramePrivate.h:
511         removed unreachableURL from here
512
513 2004-03-31  Richard Williamson   <rjw@apple.com>
514
515         Changed to reflect NP_runtime.h to npruntime.h.
516
517         * copy-webcore-files-to-webkit:
518
519 2004-03-31  John Sullivan  <sullivan@apple.com>
520
521         Reviewed by Darin.
522
523         * WebView.subproj/WebPreferences.m:
524         (-[WebPreferences historyIsFrozen]):
525         always return NO on Panther and older, so you can't get into a state
526         where the WebKit pref is invisibly set and affecting Safari.
527
528 2004-03-31  Darin Adler  <darin@apple.com>
529
530         * WebView.subproj/WebHTMLView.m: Whitespace tweaks.
531
532 2004-03-30  Chris Blumenberg  <cblu@apple.com>
533
534         Fixed: <rdar://problem/3604391>: Plug-in context menus (Flash) don't work in Carbon WebKit applications (e.g., CarbonWeb)
535
536         Reviewed by rjw.
537
538         * Carbon.subproj/HIWebView.m:
539         (ContextMenuClick): instead of calling menuForEvent (which is not implemented on our plug-in view) call rightMouseDown and let AppKit handle the rest
540
541 2004-03-29  John Sullivan  <sullivan@apple.com>
542
543         - some support for "Stealth Browsing"; add a preference that
544         controls whether a history item is added when a page is visited.
545         This is called "historyIsFrozen" for now, but I wouldn't be
546         surprised to see this name change.
547
548         Reviewed by Dave.
549
550         * WebView.subproj/WebPreferencesPrivate.h:
551         new historyIsFrozen, setHistoryIsFrozen: methods
552         
553         * WebView.subproj/WebPreferences.m:
554         new WebKitHistoryIsFrozenPreferenceKey
555         (+[WebPreferences initialize]):
556         set initial value of WebKitHistoryIsFrozenPreferenceKey
557         (-[WebPreferences setHistoryIsFrozen:]):
558         set value of WebKitHistoryIsFrozenPreferenceKey
559         (-[WebPreferences historyIsFrozen]):
560         read value of WebKitHistoryIsFrozenPreferenceKey
561
562         * WebView.subproj/WebFrame.m:
563         (-[WebFrame _transitionToCommitted:]):
564         don't add item to history if history is frozen
565
566 2004-03-29  Darin Adler  <darin@apple.com>
567
568         Reviewed by John.
569
570         - fixed <rdar://problem/3559178>: navigator.language always returns "en"
571
572         * WebCoreSupport.subproj/WebViewFactory.m: (-[WebViewFactory defaultLanguageCode]):
573         Call +[NSUserDefaults _web_preferredLanguageCode] rather than returning "en".
574
575         * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
576
577 2004-03-26  John Sullivan  <sullivan@apple.com>
578
579         - fixed <rdar://problem/3576334>: Printing "empty" page gives print error, 
580         leaves browser window UI broken
581
582         Reviewed by Dave.
583
584         * WebView.subproj/WebHTMLView.m:
585         (-[WebHTMLView knowsPageRange:]):
586         AppKit printing mechanism can't handle the case where you tell it there is
587         nothing at all to print, so when we hit that case we give it a degenerate
588         1-pixel rect to print. This prints a blank page (with correctly-placed
589         header & footer if so configured), which matches other browsers' behavior for
590         this page.
591
592         * Plugins.subproj/npruntime.h:
593         cvs keeps thinking I've removed a blank line from this auto-copied file.
594         Richard said to just check it in to see if it stops doing this.
595         
596 === Safari-134 ===
597
598 2004-03-26  John Sullivan  <sullivan@apple.com>
599
600         - fixed the following bugs:
601         
602         <rdar://problem/3601630>: command-modified keypresses that would activate links are ignored by WebKit
603         <rdar://problem/3601604>: WebActionModifierFlagsKey not set correctly for modified keypresses that activate links
604         <rdar://problem/3544946>: cmd-return should open a link in a new tab
605
606         Reviewed by Darin.
607
608         * WebView.subproj/WebFrame.m:
609         (-[WebFrame _actionInformationForNavigationType:event:originalURL:]):
610         Pass modifier flags always, not just for mouse events. This fixes 3601604.
611         
612         * WebView.subproj/WebHTMLView.m:
613         (-[WebHTMLView performKeyEquivalent:]):
614         Give the bridge a chance to intercept command-modified keypresses. This fixes 3601630.
615         
616         Together these two changes fix 3544946.
617
618 2004-03-25  David Hyatt  <hyatt@apple.com>
619
620         Implement the rest of the search field.
621
622         Implement onscroll at the document level.
623         
624         Reviewed by darin
625
626         * English.lproj/Localizable.strings:
627         * WebCoreSupport.subproj/WebBridge.m:
628         * WebCoreSupport.subproj/WebViewFactory.m:
629         (-[NSMenu addItemWithTitle:action:tag:]):
630         (-[WebViewFactory submitButtonDefaultLabel]):
631         (-[WebViewFactory cellMenuForSearchField]):
632         * WebView.subproj/WebHTMLView.m:
633         (-[WebHTMLView _frameOrBoundsChanged]):
634         (-[WebHTMLView viewDidMoveToWindow]):
635         * WebView.subproj/WebHTMLViewPrivate.h:
636
637 2004-03-25  Richard Williamson   <rjw@apple.com>
638
639         Netscape plugin API header cleanup.
640
641         Replaced our hacked up version of npapi.h with the
642         "official SDK"  npapi.h.  Moved our changes to the new
643         npfunctions.h.  npfunctions.h really replaces what was defined in
644         the Netscape npupp.h header.  However, rather than use the "official SDK"
645         npupp.h I think the cleaner npfunctions.h is better. npupp.h actually
646         has a bunch of Mac classic specific stuff that is no longer needed.
647
648         Copied npruntime.h to WebKit using Ken's copy-o-matic mechanism.
649
650         Made npapi.h, npruntime.h, and npfunctions.h SPI.  With a bit
651         more consideration they will become API.  They will also eventually be made
652         available for other platforms/vendors are mozilla.org.
653
654         Reviewed by Ken.
655
656         * Plugins.subproj/WebBaseNetscapePluginStream.h:
657         * Plugins.subproj/WebBaseNetscapePluginStream.m:
658         (-[WebBaseNetscapePluginStream dealloc]):
659         (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]):
660         * Plugins.subproj/WebBaseNetscapePluginView.h:
661         * Plugins.subproj/WebNetscapePluginPackage.h:
662         * Plugins.subproj/WebNetscapePluginPackage.m:
663         (-[WebNetscapePluginPackage load]):
664         * Plugins.subproj/npapi.h:
665         * Plugins.subproj/npruntime.h: Added.
666         * WebKit.pbproj/project.pbxproj:
667         * copy-webcore-files-to-webkit:
668
669 2004-03-24  Darin Adler  <darin@apple.com>
670
671         Reviewed by John.
672
673         - fixed <rdar://problem/3566805>: REGRESSION: When the subject of mailto is 2 byte Safari failed to send mail address and subject to Mail.app
674
675         * Misc.subproj/WebNSURLExtras.m: (applyHostNameFunctionToMailToURLString): Update to handle hostnames
676         that end just before a '?' since a '?' ends the entire part of the URL that can contain hostnames.
677         Also change the logic so that the '?' will successfully end the search.
678
679 2004-03-24  Ken Kocienda  <kocienda@apple.com>
680
681         Reviewed by me
682
683         * DOM.subproj/DOMHTML.h: Checking in copied over version of
684         modified file.
685
686 2004-03-23  David Hyatt  <hyatt@apple.com>
687
688         Fix for 3513627, HTML mail prints upside down occasionally.  Change printing so that it never resizes the
689         WebHTMLView when formatting for printing.  When computing page rects, instead of using the view's bounds,
690         use the root layer's width instead.
691         
692         Reviewed by darin
693
694         * WebView.subproj/WebHTMLView.m:
695         (-[WebHTMLView knowsPageRange:]):
696
697 === Safari-133 ===
698
699 2004-03-17  David Hyatt  <hyatt@apple.com>
700
701         Expose ageLimitDate so that the autocomplete code can access it.
702         
703         Reviewed by john
704
705         * History.subproj/WebHistory.m:
706         (-[WebHistory ageLimitDate]):
707         * History.subproj/WebHistoryPrivate.h:
708
709 2004-03-17  Richard Williamson   <rjw@apple.com>
710
711         Fixed 3591667.  Plugin view is added to view hierarchy before calling init.
712
713         Reviewed by Ken.
714
715         * WebView.subproj/WebHTMLView.m:
716         (-[WebHTMLView addSubview:]):
717
718 2004-03-16  Darin Adler  <darin@apple.com>
719
720         * DOM.subproj/DOMHTML.h: Updated from WebCore.
721         * DOM.subproj/DOMRange.h: Ditto.
722
723 2004-03-16  Darin Adler  <darin@apple.com>
724
725         Reviewed by Ken.
726
727         - update for new DOM namespacing and header organization
728
729         * DOM.subproj/DOM.h: Changed to include the other DOM headers.
730         * DOM.subproj/DOMCSS.h: Added.
731         * DOM.subproj/DOMCore.h: Added.
732         * DOM.subproj/DOMEvents.h: Added.
733         * DOM.subproj/DOMHTML.h: Added.
734         * DOM.subproj/DOMRange.h: Added.
735         * DOM.subproj/DOMStylesheets.h: Added.
736         * DOM.subproj/DOMTraversal.h: Added.
737         * DOM.subproj/DOMViews.h: Added.        
738         * WebKit.pbproj/project.pbxproj: Added new files.
739
740         * WebView.subproj/WebDefaultEditingDelegate.m:
741         (-[WebDefaultEditingDelegate webView:shouldApplyStyle:toElementsInDOMRange:]):
742         (-[WebDefaultEditingDelegate webView:shouldChangeTypingStyle:toStyle:]):
743         Change class names from CSS to DOMCSS.
744         * WebView.subproj/WebViewPrivate.h: Ditto.
745
746         * copy-webcore-files-to-webkit: Add new files.
747
748 2004-03-15  Ken Kocienda  <kocienda@apple.com>
749
750         Reviewed by John
751
752         Fix for this bug:
753         
754         <rdar://problem/3588717>: REGRESSION (125-131u): Tabbing to links and tabbing in bookmarks view no longer works
755
756         WebView can't lay claim to -keyDown: just for editing events, as
757         this gets in the way of tab processing. The solution is to give
758         WebView a private method for processing editing key events fed to
759         it from over the bridge, and leave -keyDown: unimplemented. 
760
761         * WebCoreSupport.subproj/WebBridge.m:
762         (-[WebBridge editingKeyDown:]): Changed from -keyDown: to keep 
763         terminology consistent with renamed WebView -editingKeyDown: method.
764         * WebView.subproj/WebView.m:
765         (-[WebView editingKeyDown:]): Give WebView a method to handle
766         editing key events in a way that does not interfere with other key down
767         events it processes.
768         * WebView.subproj/WebViewPrivate.h: Declare -editingKeyDown: method.
769
770 === Safari-132 ===
771
772 2004-03-15  Darin Adler  <darin@apple.com>
773
774         * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
775
776 2004-03-12  Darin Adler  <darin@apple.com>
777
778         Reviewed by Ken.
779
780         - fixed <rdar://problem/3433887>: copied &nbsp; characters remain non-breaking spaces; other browsers give normal spaces
781
782         * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _writeSelectionToPasteboard:]):
783         Convert non-breaking spaces to the normal kind in the plain text part of the pasteboard.
784
785 2004-03-12  Ken Kocienda  <kocienda@apple.com>
786
787         Reviewed by Chris
788
789         * WebView.subproj/WebView.m:
790         (-[WebView _alterCurrentSelection:direction:granularity:]): Changed name from
791         _alterSelection:direction:granularity: to give a little extra clarity. Also, the
792         body calls through to renamed rangeByAlteringCurrentSelection:direction:granularity:
793         in WebCore.
794         (-[WebView moveRight:]): Now calls renamed _alterCurrentSelection:direction:granularity:.
795         (-[WebView moveRightAndModifySelection:]): Ditto.
796         (-[WebView moveLeft:]): Ditto.
797         (-[WebView moveLeftAndModifySelection:]): Ditto.
798
799 2004-03-11  Richard Williamson   <rjw@apple.com>
800
801         Workaround for 3585644.  Force the window number of the
802         mouse moved event to be correct.
803
804         Reviewed by Chris.
805
806         * Carbon.subproj/CarbonWindowFrame.m:
807         * Carbon.subproj/HIWebView.m:
808         (MouseMoved):
809         (MouseDragged):
810
811 2004-03-11  Ken Kocienda  <kocienda@apple.com>
812
813         Reviewed by Dave
814
815         Various changes to begin implementing the draft API proposal. 
816
817         * DOM.subproj/DOM.h: Checking in generated file.
818         * WebCoreSupport.subproj/WebBridge.m:
819         (-[WebBridge registerCommandForUndo:]): Now takes an id, a wrapped
820         WebCore EditCommand implementation object.
821         (-[WebBridge registerCommandForRedo:]): Ditto.
822         (-[WebBridge clearUndoRedoOperations]): Use the web view's undo manager.
823         (-[WebBridge keyDown:]): Pass keyDown events through to the web view.
824         * WebKit.pbproj/project.pbxproj:
825         * WebView.subproj/WebDefaultEditingDelegate.h: Added.
826         * WebView.subproj/WebDefaultEditingDelegate.m: Added. Stubbed in default
827         implementations declared in the draft editing API.
828         * WebView.subproj/WebFrame.m:
829         (-[WebFramePrivate dealloc]): WebFrame no longer has an undo manager.
830         * WebView.subproj/WebFramePrivate.h: Ditto.
831         * WebView.subproj/WebHTMLView.m:
832         (-[WebHTMLView _selectedWebArchive:]): selectedRange method 
833         is now selectedDOMRange.
834         * WebView.subproj/WebView.m:
835         (-[WebViewPrivate dealloc]): Dealloc new editingDelegateForwarder.
836         (-[WebView _editingDelegateForwarder]): Added. 
837         (-[WebView keyDown:]): Added. 
838         (-[WebView _bridgeForCurrentSelection]): Added. 
839         (-[WebView setSelectedDOMRange:]): Added. 
840         (-[WebView selectedDOMRange]): Added. 
841         (-[WebView insertText:]): Added. 
842         (-[WebView _alterSelection:direction:granularity:]): Added. 
843         (-[WebView selectWord:]): Added. 
844         (-[WebView moveRight:]): Added. 
845         (-[WebView moveRightAndModifySelection:]): Added. 
846         (-[WebView moveLeft:]): Added. 
847         (-[WebView moveLeftAndModifySelection:]): Added. 
848         (-[WebView deleteBackward:]): Added. 
849         (-[WebView insertNewline:]): Added. 
850         (-[WebView insertParagraphSeparator:]): Added. 
851         (-[WebView setEditingDelegate:]): Added. 
852         (-[WebView editingDelegate]): Added. 
853         (-[WebView undoManager]): Added. 
854         (-[WebView insertText:replacingDOMRange:]): Added. 
855         * WebView.subproj/WebViewPrivate.h: Added a collection of editing API 
856         declarations that will be public some day, but are still under review.
857
858 2004-03-11  John Sullivan  <sullivan@apple.com>
859
860         - fixed <rdar://problem/3585056>: Assertion failure if error page is loaded from 
861         webView:unableToImplementPolicyWithError:
862         - also added HeaderDoc comments to could-be-API-soon methods and fixed a
863         conceptual problem with said methods
864
865         Reviewed by Darin.
866
867         * WebView.subproj/WebDataSourcePrivate.h:
868         added HeaderDoc comment for -unreachableURL
869         
870         * WebView.subproj/WebFramePrivate.h:
871         added HeaderDoc comment for -loadAlternateHTMLString:baseURL:forUnreachableURL:;
872         also added boolean delegateIsHandlingUnimplementablePolicy ivar to WebFramePrivate
873         * WebView.subproj/WebFrame.m:
874         (-[WebFrame _shouldReloadToHandleUnreachableURLFromRequest:]):
875         treat delegateIsHandlingUnimplementablePolicy like delegateIsDecidingNavigationPolicy.
876         Safari serves up error pages during the latter but clients are equally or more likely
877         to do so during the former.
878         (-[WebFrame _handleUnimplementablePolicyWithErrorCode:forURL:]):
879         set delegateIsHandlingUnimplementablePolicy during delegate callback
880         (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
881         tweaked assertion so it doesn't erroneously fire for clients that call
882         loadAlternateHTML:baseURL:forUnreachableURL: while processing
883         webView:unableToImplementPolicyWithError:
884
885 2004-03-11  Chris Blumenberg  <cblu@apple.com>
886
887         Made WebArchive a class instead of a data object. This allows clients to easily get the main resource and subresources from a WebArchive.
888
889         Reviewed by kocienda.
890
891         * WebKit.exp:
892         * WebView.subproj/WebDocumentPrivate.h:
893         * WebView.subproj/WebFrame.m:
894         (-[WebFrame loadWebArchive:]):
895         * WebView.subproj/WebFramePrivate.h:
896         * WebView.subproj/WebHTMLRepresentation.m:
897         (-[WebHTMLRepresentation loadWebArchive]):
898         (-[WebHTMLRepresentation _webArchiveWithMarkupString:subresourceURLStrings:]):
899         (-[WebHTMLRepresentation webArchiveFromNode:]):
900         (-[WebHTMLRepresentation webArchiveFromRange:]):
901         * WebView.subproj/WebHTMLRepresentationPrivate.h:
902         * WebView.subproj/WebHTMLView.m:
903         (-[WebHTMLView _selectedWebArchive:]):
904         (-[WebHTMLView _writeSelectionToPasteboard:]):
905         (-[WebHTMLView _pasteMarkupFromPasteboard:]):
906         * WebView.subproj/WebResource.h:
907         * WebView.subproj/WebResource.m:
908         (-[WebArchivePrivate dealloc]):
909         (-[WebResource _response]):
910         (-[WebArchive init]):
911         (-[WebArchive initWithMainResource:subresources:]):
912         (-[WebArchive initWithData:]):
913         (-[WebArchive dealloc]):
914         (-[WebArchive mainResource]):
915         (-[WebArchive subresources]):
916         (-[WebArchive dataRepresentation]):
917         * WebView.subproj/WebResourcePrivate.h:
918
919 2004-03-10  Chris Blumenberg  <cblu@apple.com>
920
921         Made dragging of web archives work.
922
923         Reviewed by rjw.
924
925         * English.lproj/StringsNotToBeLocalized.txt: updated
926         * WebView.subproj/WebMainResourceClient.m:
927         (-[WebMainResourceClient connection:didReceiveResponse:]): added a FIXME about working around old Foundations that don't know about web archive files
928         * WebView.subproj/WebView.m:
929         (+[WebView canShowFile:]): tweak
930         (+[WebView suggestedFileExtensionForMIMEType:]): tweak
931         (+[WebView _MIMETypeForFile:]): handle web archive files since Foundation may be too old to know about them
932
933 2004-03-09  Chris Blumenberg  <cblu@apple.com>
934
935         Made web archives use NSPropertyListBinaryFormat_v1_0 instead of NSPropertyListXMLFormat_v1_0 because NSPropertyListBinaryFormat_v1_0 is 3-5 times faster to serialize and parse.
936
937         Reviewed by rjw.
938
939         * WebView.subproj/WebResource.m:
940         (+[WebResource _parseWebArchive:mainResource:subresources:]): add timing code
941         (+[WebResource _webArchiveWithMainResource:subresources:]): add timing code, use NSPropertyListBinaryFormat_v1_0
942
943 2004-03-09  Chris Blumenberg  <cblu@apple.com>
944
945         Fixed: <rdar://problem/3577508>: API: web archive related API's
946         Implemented WebKit side of: <rdar://problem/3144033>: ability to save web sites (images and all)
947
948         Reviewed by rjw.
949
950         * WebCoreSupport.subproj/WebBridge.h:
951         * WebCoreSupport.subproj/WebBridge.m:
952         (-[WebBridge receivedData:textEncodingName:]): renamed to take a textEncodingName instead of data source. The data source argument is only needed for the textEncodingName.
953         * WebKit.exp:
954         * WebView.subproj/WebDataSource.m:
955         (-[WebDataSource _subresourcesDictionary]): new
956         (+[WebDataSource _repTypesAllowImageTypeOmission:]): include "application/x-webarchive"
957         * WebView.subproj/WebDataSourcePrivate.h:
958         * WebView.subproj/WebDocumentInternal.h:
959         * WebView.subproj/WebDocumentPrivate.h:
960         * WebView.subproj/WebFrame.m:
961         (-[WebFrame loadWebArchive:]): renamed, code factored out to [WebResource _parseWebArchive:mainResource:subresources:]
962         * WebView.subproj/WebFramePrivate.h:
963         * WebView.subproj/WebFrameView.m:
964         (+[WebFrameView _viewTypesAllowImageTypeOmission:]): include "application/x-webarchive"
965         * WebView.subproj/WebHTMLRepresentation.h:
966         * WebView.subproj/WebHTMLRepresentation.m:
967         (-[WebHTMLRepresentationPrivate dealloc]):
968         (-[WebHTMLRepresentation _isDisplayingWebArchive]): new
969         (-[WebHTMLRepresentation receivedData:withDataSource:]): don't feed data to WebCore if we're displaying a web archive since web archive can't be progressively loaded
970         (-[WebHTMLRepresentation loadWebArchive]): new, feeds web archive data to WebCore
971         (-[WebHTMLRepresentation finishedLoadingWithDataSource:]): call loadWebArchive if necessary
972         (-[WebHTMLRepresentation documentSource]): if displaying a web archive, return the HTML source from within the archive
973         (-[WebHTMLRepresentation _webArchiveWithMarkupString:subresourceURLStrings:]): new
974         (-[WebHTMLRepresentation markupStringFromNode:]): implementation of new API
975         (-[WebHTMLRepresentation markupStringFromRange:]): ditto
976         (-[WebHTMLRepresentation webArchiveFromNode:]): ditto
977         (-[WebHTMLRepresentation webArchiveFromRange:]): ditto
978         * WebView.subproj/WebHTMLRepresentationPrivate.h:
979         * WebView.subproj/WebHTMLView.m:
980         (+[WebHTMLView _selectionPasteboardTypes]): use renamed WebArchivePboardType
981         (-[WebHTMLView _selectedWebArchive:]): renamed, call renamed methods
982         (-[WebHTMLView _writeSelectionToPasteboard:]): call renamed methods
983         (-[WebHTMLView _haveSelection]): indentation tweak
984         (-[WebHTMLView _canDelete]): ditto
985         (-[WebHTMLView _canPaste]): ditto
986         (-[WebHTMLView _pasteMarkupFromPasteboard:]): renamed, call [WebResource _webArchiveWithMainResource:subresources:]
987         (-[WebHTMLView initWithFrame:]): use renamed WebArchivePboardType
988         (-[WebHTMLView paste:]): call renamed _pasteMarkupFromPasteboard
989         (-[WebHTMLView concludeDragOperation:]): call renamed _pasteMarkupFromPasteboard
990         * WebView.subproj/WebHTMLViewPrivate.h:
991         * WebView.subproj/WebMainResourceClient.m:
992         (-[WebMainResourceClient connection:didReceiveResponse:]): modify the MIME type for web archives since Foundation is not yet web archive aware. This is ifdef'd pre-Tiger code.
993         * WebView.subproj/WebResource.h:
994         * WebView.subproj/WebResource.m:
995         (+[WebResource _parseWebArchive:mainResource:subresources:]): new
996         (+[WebResource _webArchiveWithMainResource:subresources:]): new
997         * WebView.subproj/WebResourcePrivate.h:
998
999 2004-03-09  John Sullivan  <sullivan@apple.com>
1000
1001         - fixed the following bugs:
1002         <rdar://problem/3579715>: Going to an error page in back/forward list doesn't work 
1003         correctly in some cases
1004         <rdar://problem/3581031>: REGRESSION (130+): World Leak of WebFrame after trying 
1005         to load page with unknown scheme
1006
1007         Reviewed by Darin.
1008
1009         * WebView.subproj/WebDataSourcePrivate.h:
1010         renamed __setRequest -> __adoptRequest
1011         * WebView.subproj/WebDataSource.m:
1012         (-[WebDataSource _URLForHistory]): 
1013         updated comment
1014         (-[WebDataSource __adoptRequest:]):
1015         Renamed from __setRequest; now takes an NSMutableURLRequest and uses it as-is.
1016         (-[WebDataSource _setRequest:]):
1017         now saves a mutable copy, instead of relying on the caller to do so. The
1018         (only) caller wasn't doing so in all cases, leading to trouble in River City.
1019         Also, special-case unreachable URL handling to allow alternate content to 
1020         replace a URL in a redirect-like way without sending a redirect callback.
1021         
1022         * WebView.subproj/WebFrame.m:
1023         (-[WebFrame loadAlternateHTMLString:baseURL:forUnreachableURL:]):
1024         renamed after discussion with Richard (was loadPlaceholderHTMLString:baseURL:unreachableURL:)
1025         (-[WebFrame _shouldReloadToHandleUnreachableURLFromRequest:]):
1026         new helper method, returns YES only if we receive a load request for alternate
1027         content from a delegate for an unreachable URL while we are going back or forward.
1028         That's a lot of prepositions!
1029         (-[WebFrame _loadRequest:subresources:]):
1030         if _shouldReloadToHandleUnreachableURLFromRequest: returns YES, change load type
1031         to WebFrameLoadTypeReload so b/f list is preserved appropriately.
1032         (-[WebFrame _transitionToCommitted:]):
1033         Update currentItem in the unreachableURL case.
1034         (-[WebFrame _isLoadComplete]):
1035         Don't reset b/f list before calling provisionalLoadDidFail delegate; instead, determine 
1036         where to reset b/f list beforehand, and then actually reset list afterwards only if we 
1037         didn't start an alternate content load in the delegate. Also, set new boolean ivar so we
1038         know when we're processing a provisionalLoadDidFail delegate callback.
1039         (-[WebFrame _loadItem:withLoadType:]):
1040         don't make extra copy before calling __adoptRequest; just pass it the one we made here.
1041         (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]):
1042         If we're loading alternate content for an unreachableURL, don't ask the decision listener,
1043         just do it. (This avoids problem with nested calls to checking the navigation policy that
1044         led to a WebFrame leak, and is conceptually the right thing to do also.) Also added some
1045         asserts that helped me track down the WebFrame leak. Set new boolean ivar so we know
1046         when we're processing a navigation policy delegate decision.
1047         (-[WebFrame _currentBackForwardListItemToResetTo]):
1048         new method, replaces _resetBackForwardListToCurrent. Does the same test as the
1049         latter but returns a boolean rather than actually resetting.
1050         (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
1051         save dataSource in a local var before calling stopLoading, and use it for
1052         _setProvisionalDataSource, because otherwise stopLoading was clobbering the dataSource
1053         for an unreachable URL handling case.
1054         
1055         * WebView.subproj/WebFramePrivate.h:
1056         two new boolean ivars
1057         
1058         * WebView.subproj/WebView.m:
1059         (+[WebView _canHandleRequest:]):
1060         return YES when we're loading alternate content for an unreachable URL
1061
1062 === Safari-131 ===
1063
1064 2004-03-08  Ken Kocienda  <kocienda@apple.com>
1065
1066         Reviewed by Darin
1067
1068         * WebKit.pbproj/project.pbxproj: Added CFBundleName to Info.plist
1069
1070 2004-03-05  Chris Blumenberg  <cblu@apple.com>
1071
1072         Fixed: <rdar://problem/3560132>: REGRESSION: Safari crashed in -[NSPasteboard setData:forType:] dragging a map out of Mapquest.com
1073
1074         Reviewed by john.
1075
1076         * Misc.subproj/WebNSPasteboardExtras.m:
1077         (-[NSPasteboard _web_writeImage:URL:title:fileWrapper:HTMLString:]): declare the pboard types by calling _web_writeURL:::: before calling setData::
1078
1079 2004-03-05  John Sullivan  <sullivan@apple.com>
1080
1081         First cut at WebKit support for showing error pages for unreachable URLs.
1082         This doesn't work quite right with the back/forward list yet, but is
1083         good enough for demos.
1084
1085         Reviewed by Darin.
1086
1087         * WebView.subproj/WebBaseResourceHandleDelegate.m:
1088         (-[WebBaseResourceHandleDelegate didReceiveResponse:]):
1089         use new _webDataRequextExternalURL to share code
1090         
1091         * WebView.subproj/WebDataProtocol.h:
1092         Three new methods (all internal to WebKit):
1093         -[NSURLRequest _webDataRequestUnreachableURL], -[NSURLRequest _webDataRequestExternalURL],
1094         -[NSURLRequest _webDataRequestSetUnreachableURL]
1095         * WebView.subproj/WebDataProtocol.m:
1096         new unreachableURL field of WebDataRequestParameters
1097         (-[WebDataRequestParameters copyWithZone:]):
1098         copy new field
1099         (-[WebDataRequestParameters dealloc]):
1100         release new field
1101         (-[NSURLRequest _webDataRequestUnreachableURL]):
1102         read new field
1103         (-[NSURLRequest _webDataRequestExternalURL]):
1104         new method, returns baseURL or "about:blank" for webdata protocol requests. This
1105         was done in multiple places previously.
1106         (-[NSURLRequest _webDataRequestExternalRequest]):
1107         now calls _webDataRequestExternalURL to share code
1108         (-[NSMutableURLRequest _webDataRequestSetUnreachableURL:]):
1109         write new field
1110         
1111         * WebView.subproj/WebDataSource.m:
1112         (-[WebDataSource unreachableURL]):
1113         new method, might become API; returns the unreachable URL, if any, for which this datasource
1114         holds placeholder content
1115         (-[WebDataSource _URLForHistory]):
1116         new method, returns the URL to be stored in History for this dataSource. This returns nil
1117         for run-of-the-mill WebDataProtocol URLs (replacing code elsewhere that checked for this
1118         case) but returns the unreachableURL for the case where this datasource holds placeholder
1119         content.
1120         (-[WebDataSource _setTitle:]):
1121         now calls _URLForHistory
1122         
1123         * WebView.subproj/WebDataSourcePrivate.h:
1124         added unreachableURL in the should-become-API section, and _URLForHistory elsewhere
1125         
1126         * WebView.subproj/WebFrame.m:
1127         (-[WebFrame loadPlaceholderHTMLString:baseURL:unreachableURL:]):
1128         new should-become-API method for displaying an error page for an unreachable URL
1129         (-[WebFrame loadPropertyList:]):
1130         updated to pass nil for unreachableURL
1131         (-[WebFrame _webDataRequestForData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
1132         added unreachableURL parameter, which gets set on the data request
1133         (-[WebFrame _addBackForwardItemClippedAtTarget:]):
1134         use _URLForHistory instead of just checking for WebDataProtocol
1135         (-[WebFrame _createItem:]):
1136         use unreachableURL if there is one
1137         (-[WebFrame _transitionToCommitted:]):
1138         use _URLForHistory instead of just checking for WebDataProtocol
1139         (-[WebFrame _isLoadComplete]):
1140         check whether a new load has started in the delegate callback and if so, don't
1141         reset the loading state here
1142         (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
1143         added unreachableURL parameter, which gets passed through
1144         (-[WebFrame loadData:MIMEType:textEncodingName:baseURL:]):
1145         send nil unreachableURL parameter
1146         (-[WebFrame _loadHTMLString:baseURL:unreachableURL:]):
1147         new bottleneck method for loadHTMLString:baseURL: and loadPlaceholderHTMLString:baseURL:unreachableURL:;
1148         this is the guts of loadHTMLString:baseURL: with the new unreachableURL parameter passed through
1149         (-[WebFrame loadHTMLString:baseURL:]):
1150         now calls new bottleneck method
1151         
1152         * WebView.subproj/WebFramePrivate.h:
1153         added loadPlaceholderString:baseURL:unreachableURL: to should-be-API section; added unreachableURL
1154         parameter to _webDataRequestForData:MIMEType:textEncodingName:baseURL:
1155
1156 2004-03-04  Chris Blumenberg  <cblu@apple.com>
1157
1158         - Made image dragging and copying always work without needing to re-download by using the data source's WebResource of the image instead of relying on the Foundation cache.
1159         - Fixed a "drag to self" problem I introduced in my last check-in. You could drag a URL from a WebHTMLView and drop it on its own WebView which we shouldn't allow.
1160
1161         Reviewed by rjw.
1162
1163         * ChangeLog:
1164         * WebCoreSupport.subproj/WebBridge.m:
1165         (-[WebBridge fileWrapperForURL:]): call _fileWrapperForURL on WebDataSource
1166         * WebView.subproj/WebDataSource.m:
1167         (-[WebDataSource _fileWrapperForURL:]): moved from WebView, creates a wrapper from a WebResource
1168         * WebView.subproj/WebDataSourcePrivate.h:
1169         * WebView.subproj/WebDefaultContextMenuDelegate.m:
1170         (-[WebDefaultUIDelegate copyImageToClipboard:]): call [WebDataSource _fileWrapperForURL:]
1171         * WebView.subproj/WebHTMLView.m:
1172         (-[WebHTMLView _handleMouseDragged:]): call [WebDataSource _fileWrapperForURL:]
1173         (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): call [WebDataSource _fileWrapperForURL:]
1174         (-[WebHTMLView _dragOperationForDraggingInfo:]): new, factored out from draggingUpdated:
1175         (-[WebHTMLView draggingEntered:]): call _dragOperationForDraggingInfo:, if NSDragOperationNone, forward to WebView to it can handle the drag
1176         (-[WebHTMLView draggingUpdated:]): ditto
1177         (-[WebHTMLView concludeDragOperation:]): ditto
1178         * WebView.subproj/WebResource.m:
1179         (-[WebResource _fileWrapperRepresentation]): new
1180         * WebView.subproj/WebResourcePrivate.h:
1181         * WebView.subproj/WebView.m:
1182         (-[WebViewPrivate dealloc]): release draggedTypes, a new ivar that keeps track of drag types that we're currently registered for
1183         (-[WebView _setDraggedTypes:]): new
1184         (-[WebView unregisterDraggedTypes]): new, calls _setDraggedTypes then super
1185         (-[WebView registerForDraggedTypes:]): ditto 
1186         (-[WebView _dragOperationForDraggingInfo:]): new, compares the types on the pasteboard against the types we are currently registered for. Normally the AppKit handles this for us, but since these messages can be forwarded from WebHTMLView, we need to do this comparison ourselves. 
1187         (-[WebView draggingEntered:]): calls _dragOperationForDraggingInfo:
1188         (-[WebView draggingUpdated:]): ditto
1189         (-[WebView concludeDragOperation:]): ditto
1190         * WebView.subproj/WebViewPrivate.h: define new draggedTypes ivar
1191
1192 2004-03-03  Chris Blumenberg  <cblu@apple.com>
1193
1194         Fixed a typo.
1195
1196         * WebView.subproj/WebHTMLView.m:
1197         (-[WebHTMLView concludeDragOperation:]):
1198
1199 2004-03-03  Chris Blumenberg  <cblu@apple.com>
1200
1201         Fixed: <rdar://problem/3576070>: REGRESSION: web view won't accept drag of webloc file
1202
1203         Reviewed by rjw.
1204
1205         * WebView.subproj/WebHTMLView.m:
1206         (-[WebHTMLView draggingUpdated:]): if we're not handling the drag, forward this message to the WebView since it may want to handle it
1207         (-[WebHTMLView concludeDragOperation:]): if we're not handling the drag, forward this message to the WebView since it may want to handle it
1208
1209 2004-03-03  Darin Adler  <darin@apple.com>
1210
1211         Reviewed by Vicki.
1212
1213         * English.lproj/InfoPlist.strings: Removed. No need to localize the version and
1214         copyright string, and that's all that was in here.
1215         * WebKit.pbproj/project.pbxproj: Removed InfoPlist.strings from build.
1216
1217 2004-03-03  Ken Kocienda  <kocienda@apple.com>
1218
1219         Reviewed by Chris
1220
1221         * copy-webcore-files-to-webkit: Fixed up this script so that
1222         it does not fail if it is running "non-locally", like for
1223         B&I. The idiom is to check these files into WebKit after
1224         copying them from WebCore, hence this script is merely
1225         a convenience to keep the files in sync.
1226
1227 2004-03-02  Ken Kocienda  <kocienda@apple.com>
1228
1229         Reviewed by me
1230
1231         * DOM.subproj/DOM.h: Checked in header copied over
1232         from WebCore.
1233
1234 2004-03-02  Richard Williamson   <rjw@apple.com>
1235
1236         Added WebJavaScriptObject API.  The location of this file may
1237         change.
1238
1239         Reviewed by Chris.
1240
1241         * Plugins.subproj/NP_objc.h: Added.
1242         * WebKit.pbproj/project.pbxproj:
1243
1244 2004-03-02  Chris Blumenberg  <cblu@apple.com>
1245
1246         Fixed: <rdar://problem/3575598>: REGRESSION: Safari crashes at IS&T website
1247
1248         Reviewed by darin.
1249
1250         * WebView.subproj/WebDataSource.m:
1251         (-[WebDataSourcePrivate dealloc]): don't stop the icon loader here because that can cause an infinite loop
1252         (-[WebDataSource _stopLoadingInternal]): always stop the icon loader here instead of just when the data source is loading as well.
1253
1254 === Safari-130 ===
1255
1256 2004-03-02  Ken Kocienda  <kocienda@apple.com>
1257
1258         Reviewed by me
1259
1260         * DOM.subproj/DOM.h: Rollout last night's checkin.
1261         The tree was closed.
1262
1263 2004-03-01  Chris Blumenberg  <cblu@apple.com>
1264
1265         Fixed: <rdar://problem/3574979>: REGRESSION (129-TOT): crash loading macromedia.com
1266
1267         deliverResource was being called after it had already been called in setDefersCallbacks:.
1268
1269         Reviewed by rjw.
1270
1271         * WebView.subproj/WebBaseResourceHandleDelegate.h:
1272         * WebView.subproj/WebBaseResourceHandleDelegate.m:
1273         (-[WebBaseResourceHandleDelegate deliverResource]): set deliveredResource to YES
1274         (-[WebBaseResourceHandleDelegate deliverResourceAfterDelay]): new, calls deliverResource after a delay
1275         (-[WebBaseResourceHandleDelegate loadWithRequest:]): call deliverResourceAfterDelay
1276         (-[WebBaseResourceHandleDelegate setDefersCallbacks:]): call deliverResourceAfterDelay
1277
1278 2004-03-01  Ken Kocienda  <kocienda@apple.com>
1279
1280         Reviewed by me
1281
1282         * DOM.subproj/DOM.h: Checked in header copied over
1283         from WebCore.
1284
1285 2004-03-01  Ken Kocienda  <kocienda@apple.com>
1286
1287         Reviewed by me
1288
1289         * DOM.subproj/DOM.h: Oh, it's like the Keystone Cops this afternoon...
1290         Backed out an unintended change to thsi file.
1291
1292 2004-03-01  Ken Kocienda  <kocienda@apple.com>
1293
1294         Reviewed by me
1295
1296         * copy-webcore-files-to-webkit: Dumb typing error on my part in making
1297         my previous quick fix. This quick fix works. 
1298
1299 2004-03-01  Chris Blumenberg  <cblu@apple.com>
1300
1301         Updated the WebKit project file to 1.1 because a previous check-in reverted to 1.01.
1302
1303         * WebKit.pbproj/project.pbxproj:
1304
1305 2004-03-01  Ken Kocienda  <kocienda@apple.com>
1306
1307         Reviewed by me
1308
1309         * copy-webcore-files-to-webkit: Made this file buildit-compliant
1310
1311 2004-03-01  Chris Blumenberg  <cblu@apple.com>
1312
1313         Found a bug in my last check-in. If a load that originates from a WebResource is cancelled before the data from the WebResource is delivered, callbacks are sent anyway. 
1314
1315         Reviewed by rjw.
1316
1317         * WebView.subproj/WebBaseResourceHandleDelegate.m:
1318         (-[WebBaseResourceHandleDelegate cancelWithError:]): cancel the perform request for deliverResource
1319
1320 2004-03-01  Chris Blumenberg  <cblu@apple.com>
1321
1322         Reviewed by darin.
1323
1324         * Misc.subproj/WebIconLoader.m:
1325         (-[WebIconLoader didFinishLoading]): rejigger handle code to avoid Deployment failure
1326         * WebKit.pbproj/project.pbxproj:
1327
1328 2004-03-01  Chris Blumenberg  <cblu@apple.com>
1329
1330         - Made WebResource loading not use Foundation at all. This allows "Mail Page" and paste to more directly load subresources without any indirection involving NSURLConnection and the Foundation cache.
1331         - Made WebIconLoader a subclass of WebBaseResourceHandleDelegate. This makes favicons appear in the activity window among other things.
1332
1333         Reviewed by kocienda.
1334
1335         * Misc.subproj/WebIconLoader.h:
1336         * Misc.subproj/WebIconLoader.m: removed connection and data ivars since WebBaseResourceHandleDelegate holds these 
1337         (-[WebIconLoaderPrivate dealloc]): removed calls to deleted ivars
1338         (-[WebIconLoader URL]): call renamed request ivar
1339         (-[WebIconLoader startLoading]): call loadWithRequest
1340         (-[WebIconLoader stopLoading]): call cancel
1341         (-[WebIconLoader didFinishLoading]):
1342         * Plugins.subproj/WebNetscapePluginStream.m:
1343         (-[WebNetscapePluginConnectionDelegate didReceiveResponse:]): renamed to be connection-less since callbacks may came from a WebResource and not an NSURLConnection
1344         (-[WebNetscapePluginConnectionDelegate didReceiveData:lengthReceived:]): ditto
1345         (-[WebNetscapePluginConnectionDelegate didFinishLoading]): ditto
1346         (-[WebNetscapePluginConnectionDelegate didFailWithError:]): ditto
1347         * WebCoreSupport.subproj/WebSubresourceClient.m:
1348         (-[WebSubresourceClient didReceiveResponse:]): ditto
1349         (-[WebSubresourceClient didReceiveData:lengthReceived:]): ditto
1350         (-[WebSubresourceClient didFinishLoading]): ditto
1351         (-[WebSubresourceClient didFailWithError:]): ditto
1352         * WebKit.pbproj/project.pbxproj:
1353         * WebView.subproj/WebBaseResourceHandleDelegate.h:
1354         * WebView.subproj/WebBaseResourceHandleDelegate.m:
1355         (-[WebBaseResourceHandleDelegate loadWithRequest:]): instead of storing the resource in the Foundation cache in order to later load it from the cache, deliver the callbacks ourselves after a delay
1356         (-[WebBaseResourceHandleDelegate setDefersCallbacks:]): call deliverResource if callbacks are turned back on
1357         (-[WebBaseResourceHandleDelegate deliverResource]): new, calls didReceiveResponse:, didReceiveData:lengthReceived:, and didFinishLoading
1358         (-[WebBaseResourceHandleDelegate willSendRequest:redirectResponse:]): renamed to be connection-less since callbacks may came from a WebResource and not an NSURLConnection
1359         (-[WebBaseResourceHandleDelegate didReceiveAuthenticationChallenge:]): ditto
1360         (-[WebBaseResourceHandleDelegate didCancelAuthenticationChallenge:]): ditto
1361         (-[WebBaseResourceHandleDelegate didReceiveResponse:]): ditto
1362         (-[WebBaseResourceHandleDelegate didReceiveData:lengthReceived:]): ditto
1363         (-[WebBaseResourceHandleDelegate didFinishLoading]): ditto
1364         (-[WebBaseResourceHandleDelegate didFailWithError:]): ditto
1365         (-[WebBaseResourceHandleDelegate willCacheResponse:]): ditto
1366         (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]): calls connection-less version of this method
1367         (-[WebBaseResourceHandleDelegate connection:didReceiveAuthenticationChallenge:]): ditto
1368         (-[WebBaseResourceHandleDelegate connection:didCancelAuthenticationChallenge:]): ditto
1369         (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]): ditto
1370         (-[WebBaseResourceHandleDelegate connection:didReceiveData:lengthReceived:]): ditto
1371         (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]): ditto
1372         (-[WebBaseResourceHandleDelegate connection:didFailWithError:]): ditto
1373         (-[WebBaseResourceHandleDelegate connection:willCacheResponse:]): ditto
1374         (-[WebBaseResourceHandleDelegate cancelWithError:]): call renamed _completeProgressForConnectionDelegate on WebView
1375         (-[WebBaseResourceHandleDelegate cancelledError]): tweak
1376         * WebView.subproj/WebDataSource.m:
1377         (-[WebDataSource _loadIcon]): set the data source on the icon loader so it can callback
1378         * WebView.subproj/WebResource.m:
1379         (-[WebResource _response]): new, factored out from _cachedResponseRepresentation
1380         (-[WebResource _cachedResponseRepresentation]): call _response
1381         * WebView.subproj/WebResourcePrivate.h:
1382         * WebView.subproj/WebView.m:
1383         (-[WebView _incrementProgressForConnectionDelegate:response:]): renamed to be connection-less
1384         (-[WebView _incrementProgressForConnectionDelegate:data:]): ditto
1385         (-[WebView _completeProgressForConnectionDelegate:]): ditto
1386         * WebView.subproj/WebViewPrivate.h:
1387
1388 2004-03-01  Ken Kocienda  <kocienda@apple.com>
1389
1390         Reviewed by Darin
1391         
1392         Changed all Objective-C DOM classes from protocols to classes. 
1393
1394         * DOM.subproj/DOM-compat.h:
1395         * DOM.subproj/DOM.h:
1396         * WebCoreSupport.subproj/WebBridge.m:
1397         (-[WebBridge loadURL:referrer:reload:onLoadEvent:target:triggeringEvent:form:formValues:]):
1398         (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
1399         * WebView.subproj/WebFormDelegate.h:
1400         * WebView.subproj/WebFormDelegate.m:
1401         (-[WebFormDelegate frame:sourceFrame:willSubmitForm:withValues:submissionListener:]):
1402         * WebView.subproj/WebFrame.m:
1403         (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
1404         (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
1405         (-[WebFormState initWithForm:values:sourceFrame:]):
1406         (-[WebFormState form]):
1407         * WebView.subproj/WebFramePrivate.h:
1408         * WebView.subproj/WebHTMLRepresentation.h:
1409         * WebView.subproj/WebHTMLRepresentation.m:
1410         (-[WebHTMLRepresentation DOMDocument]):
1411         (-[WebHTMLRepresentation setSelectionFrom:startOffset:to:endOffset:]):
1412         (-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:]):
1413         (-[WebHTMLRepresentation elementWithName:inForm:]):
1414         (-[WebHTMLRepresentation elementForView:]):
1415         (-[WebHTMLRepresentation elementDoesAutoComplete:]):
1416         (-[WebHTMLRepresentation elementIsPassword:]):
1417         (-[WebHTMLRepresentation formForElement:]):
1418         (-[WebHTMLRepresentation controlsInForm:]):
1419         (-[WebHTMLRepresentation searchForLabels:beforeElement:]):
1420         (-[WebHTMLRepresentation matchLabels:againstElement:]):
1421
1422 2004-02-27  John Sullivan  <sullivan@apple.com>
1423
1424         - WebKit changes to allow performance improvements to bookmarks 
1425
1426         Reviewed by Darin.
1427
1428         * History.subproj/WebHistoryItemPrivate.h:
1429         added notificationsSuppressed/setNotificationsSuppressed, and setURLString
1430         * History.subproj/WebHistoryItem.m:
1431         (-[WebHistoryItem setNotificationsSuppressed:]):
1432         setter for new flag. When this flag is set, making changes to the WebHistoryItem
1433         will not cause WebHistoryChanged notifications to be sent. This is a big speedup
1434         for reading bookmarks from disk, since currently each WebBookmarkLeaf object
1435         keeps around a WebHistoryItem object that isn't really part of history and thus
1436         doesn't need to send notifications about history changing.
1437         (-[WebHistoryItem notificationsSuppressed]):
1438         getter for new flag
1439         (-[WebHistoryItem setURLString:]):
1440         new method, extracted from guts of setURL:; this allows callers (though
1441         currently only callers at Apple) that have a URL string in hand to set
1442         it directly on the WebHistoryItem rather than converting to a URL and
1443         back, both relatively slow operations. Also, doesn't sent a notification
1444         if notifications are suppressed.
1445         (-[WebHistoryItem setURL:]):
1446         now calls extracted method
1447         (-[WebHistoryItem setAlternateTitle:]):
1448         doesn't send notification if notifications are suppressed
1449         (-[WebHistoryItem setOriginalURLString:]):
1450         ditto
1451         (-[WebHistoryItem setTitle:]):
1452         ditto
1453         (-[WebHistoryItem _setLastVisitedTimeInterval:]):
1454         ditto
1455
1456 2004-02-26  Chris Blumenberg  <cblu@apple.com>
1457
1458         WebKit side of:
1459         <rdar://problem/3056566>: mail a link to this page
1460         <rdar://problem/2961206>: implement ability to e-mail entire page
1461
1462         Reviewed by john.
1463
1464         * English.lproj/StringsNotToBeLocalized.txt:
1465         * Misc.subproj/WebIconDatabase.m:
1466         (-[WebIconDatabase _createFileDatabase]): tweaks
1467         (-[WebIconDatabase _loadIconDictionaries]): fixed an assertion failure I found in Blot. Keep the original list of icon URLs as a separate list when doing the initial clean-up so we don't over release any icons.
1468         (-[WebIconDatabase _updateFileDatabase]): tweaks
1469         (-[WebIconDatabase _setIcon:forIconURL:]): tweaks
1470         (-[WebIconDatabase _releaseIconForIconURLString:]): tweaks
1471         (-[WebIconDatabase _retainOriginalIconsOnDisk]): use the original list of icons on disk instead of the current list
1472         (-[WebIconDatabase _releaseOriginalIconsOnDisk]): use the original list of icons on disk instead of the current list
1473         * Misc.subproj/WebIconDatabasePrivate.h:
1474         * WebKit.exp:
1475         * WebKit.pbproj/project.pbxproj:
1476         * WebView.subproj/WebDataSource.m:
1477         (-[WebDataSource _propertyListWithData:subresourceURLStrings:]): new, code moved from [WebHTMLView _selectedPropertyList:], creates property list rep of data and subresources
1478         (-[WebDataSource propertyList]): does the above with all the data source data, this is what "Mail Page" uses
1479         * WebView.subproj/WebDataSourcePrivate.h:
1480         * WebView.subproj/WebFrame.m:
1481         (-[WebFrame loadPropertyList:]): renamed from loadHTMLPropertyList because the property list may contain non-HTML data
1482         * WebView.subproj/WebFramePrivate.h:
1483         * WebView.subproj/WebHTMLView.m:
1484         (-[WebHTMLView _selectedPropertyList:]): renamed, code moved to [WebDataSource _propertyListWithData:subresourceURLStrings:]
1485         (-[WebHTMLView _writeSelectionToPasteboard:]): call renamed _selectedPropertyList
1486
1487 2004-02-26  Ken Kocienda  <kocienda@apple.com>
1488
1489         Reviewed by Chris
1490
1491         Updated usage of DOM SPI to use new names and conventions. 
1492
1493         Unless indicated otherwise, the changes were to update protocol names for, which
1494         changed from using a "WebDOM" prefix to a "DOM" prefix, and changing now need 
1495         only include the DOM.h header from WebKit to get everything.
1496
1497         * DOM.subproj/DOM-compat.h: Added. This header contains some compatibility declarations
1498         to work with older clients of our DOM SPI. Though this file is checked into WebKit, 
1499         it really lives and should be updated in WebCore. It is copied into WebKit by the build 
1500         system as needed.
1501         * DOM.subproj/DOM.h: Added. This file includes the new "guts" of the DOM SPI. As above,
1502         this file is checked into WebKit, it really lives and should be updated in WebCore.
1503         It is copied into WebKit by the build system as needed.
1504         * DOM.subproj/WebDOMDocument.h: Removed declarations. Now just includes DOM.h and DOM-compat.h
1505         * DOM.subproj/WebDOMDocument.m: Removed.
1506         * DOM.subproj/WebDOMElement.h: Removed declarations. Now just includes DOM.h and DOM-compat.h
1507         * DOM.subproj/WebDOMElement.m: Removed.
1508         * DOM.subproj/WebDOMNode.h: Removed declarations. Now just includes DOM.h and DOM-compat.h
1509         * DOM.subproj/WebDOMNode.m: Removed.
1510         * WebCoreSupport.subproj/WebBridge.m:
1511         (-[WebBridge loadURL:referrer:reload:onLoadEvent:target:triggeringEvent:form:formValues:])
1512         (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:])
1513         * WebKit.pbproj/project.pbxproj:
1514         * WebView.subproj/WebDefaultContextMenuDelegate.m:
1515         * WebView.subproj/WebFormDelegate.h:
1516         * WebView.subproj/WebFormDelegate.m:
1517         (-[WebFormDelegate frame:sourceFrame:willSubmitForm:withValues:submissionListener:])
1518         * WebView.subproj/WebFrame.h: Unrelated change. Removed -undoManager accessor from public header. Moved to private header.
1519         * WebView.subproj/WebFrame.m: 
1520         (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:])
1521         (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:])
1522         (-[WebFrame undoManager]): Moved -undoManager accessor to private category implementation.
1523         (-[WebFormState initWithForm:values:sourceFrame:])
1524         (-[WebFormState form])
1525         (-[WebFrame childFrames])
1526         * WebView.subproj/WebFramePrivate.h: Moved in -undoManager accessor.
1527         * WebView.subproj/WebHTMLRepresentation.h:
1528         * WebView.subproj/WebHTMLRepresentation.m:
1529         (-[WebHTMLRepresentation DOMDocument])
1530         (-[WebHTMLRepresentation setSelectionFrom:startOffset:to:endOffset:])
1531         (-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:])
1532         (-[WebHTMLRepresentation elementWithName:inForm:])
1533         (-[WebHTMLRepresentation elementForView:])
1534         (-[WebHTMLRepresentation elementDoesAutoComplete:])
1535         (-[WebHTMLRepresentation elementIsPassword:])
1536         (-[WebHTMLRepresentation formForElement:])
1537         (-[WebHTMLRepresentation controlsInForm:])
1538         (-[WebHTMLRepresentation searchForLabels:beforeElement:])
1539         (-[WebHTMLRepresentation matchLabels:againstElement:])
1540         * WebView.subproj/WebHTMLView.m:
1541         * copy-webcore-files-to-webkit: Added. Copies DOM.h and DOM-compat.h from WebCore when they
1542         have been updated there.
1543
1544 2004-02-25  John Sullivan  <sullivan@apple.com>
1545
1546         WebKit part of fix for <rdar://problem/3546370>: add a way to tab to menus, 
1547         checkmarks, and buttons without turning on Full Keyboard Acceess
1548
1549         Reviewed by Ken.
1550
1551         * WebCoreSupport.subproj/WebBridge.m:
1552         (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]):
1553         turn on WebCoreKeyboardAccessFull bit whenever we turn on
1554         WebCoreKeyboardAccessTabsToLinks bit
1555
1556 2004-02-24  Chris Blumenberg  <cblu@apple.com>
1557
1558         I forgot to add these files in my last check-in.
1559
1560         * WebView.subproj/WebResource.h: Added.
1561         * WebView.subproj/WebResource.m: Added.
1562         (-[WebResourcePrivate dealloc]):
1563         (-[WebResource initWithData:URL:MIMEType:textEncodingName:]):
1564         (-[WebResource dealloc]):
1565         (-[WebResource data]):
1566         (-[WebResource URL]):
1567         (-[WebResource MIMEType]):
1568         (-[WebResource textEncodingName]):
1569         (+[WebResource _resourcesFromPropertyLists:]):
1570         (+[WebResource _propertyListsFromResources:]):
1571         (-[WebResource _initWithPropertyList:]):
1572         (-[WebResource _initWithCachedResponse:originalURL:]):
1573         (-[WebResource _propertyListRepresentation]):
1574         (-[WebResource _cachedResponseRepresentation]):
1575         * WebView.subproj/WebResourcePrivate.h: Added.
1576
1577 2004-02-24  Chris Blumenberg  <cblu@apple.com>
1578
1579         Fixed: <rdar://problem/3565476>: design/implement new pasteboard type for HTML that includes subresources
1580
1581         Reviewed by rjw.
1582
1583         * Plugins.subproj/WebNetscapePluginStream.m:
1584         (-[WebNetscapePluginConnectionDelegate initWithStream:view:]): don't manage buffer, WebBaseResourceHandleDelegate does this now
1585         (-[WebNetscapePluginConnectionDelegate releaseResources]): ditto
1586         (-[WebNetscapePluginConnectionDelegate connection:didReceiveData:lengthReceived:]): ditto
1587         (-[WebNetscapePluginConnectionDelegate connectionDidFinishLoading:]): ditto
1588         * WebKit.exp:
1589         * WebKit.pbproj/project.pbxproj:
1590         * WebView.subproj/WebBaseResourceHandleDelegate.h:
1591         * WebView.subproj/WebBaseResourceHandleDelegate.m:
1592         (-[WebBaseResourceHandleDelegate releaseResources]): release resourceData and resource
1593         (-[WebBaseResourceHandleDelegate loadWithRequest:]): check the dataSource for a resource, load that if we have one
1594         (-[WebBaseResourceHandleDelegate addData:]): new, adds data to resourceData
1595         (-[WebBaseResourceHandleDelegate saveResource]): new, saves data as a resource on the dataSource
1596         (-[WebBaseResourceHandleDelegate saveResourceWithCachedResponse:]): new, replaces the resource on the dataSource to save memory
1597         (-[WebBaseResourceHandleDelegate resourceData]): new
1598         (-[WebBaseResourceHandleDelegate connection:didReceiveData:lengthReceived:]): call addData:
1599         (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]): call saveResource
1600         (-[WebBaseResourceHandleDelegate connection:willCacheResponse:]): new, calls saveResourceWithCachedResponse:
1601         * WebView.subproj/WebDataSource.m:
1602         (-[WebDataSourcePrivate dealloc]): release subresources
1603         (-[WebDataSource subresources]): new, returns the subresources of the data source
1604         (-[WebDataSource subresourceForURL:]): new, returns a resource for a URL
1605         (-[WebDataSource addSubresource:]): new
1606         (-[WebDataSource addSubresources:]): new
1607         (-[WebDataSource _receivedData:]): added an assert
1608         (-[WebDataSource _setData:]): replaces the data of the data source
1609         (-[WebDataSource initWithRequest:]): create subresources
1610         * WebView.subproj/WebDataSourcePrivate.h:
1611         * WebView.subproj/WebFrame.m:
1612         (-[WebFrame loadHTMLPropertyList:]): new, loads a frame from an HTML plist
1613         (-[WebFrame _webDataRequestForData:MIMEType:textEncodingName:baseURL:]): new, factored out from loadData:MIMEType:textEncodingName:baseURL:
1614         (-[WebFrame _loadRequest:subresources:]): new, factored out from loadRequest:, handles subresources
1615         (-[WebFrame loadRequest:]): now just calls _loadRequest:subresources:
1616         * WebView.subproj/WebFramePrivate.h:
1617         * WebView.subproj/WebHTMLView.m:
1618         (-[WebHTMLView _dataSource]): new internal convenience
1619         (+[WebHTMLView _selectionPasteboardTypes]): renamed from _pasteboardTypes to be more precise
1620         (-[WebHTMLView _selectedHTMLPropertyList:]): new, constructs an HTML plist from the selection
1621         (-[WebHTMLView _writeSelectionToPasteboard:]): calls _selectedHTMLPropertyList to support WebHTMLPboardType
1622         (-[WebHTMLView _pasteHTMLFromPasteboard:]): added support for pasting WebHTMLPboardType
1623         (+[WebHTMLView initialize]): call renamed _selectionPasteboardTypes 
1624         (-[WebHTMLView initWithFrame:]): allow WebHTMLPboardType to be dragged in
1625         (-[WebHTMLView validRequestorForSendType:returnType:]): call renamed _selectionPasteboardTypes 
1626         * WebView.subproj/WebHTMLViewPrivate.h:
1627         * WebView.subproj/WebMainResourceClient.m:
1628         (-[WebMainResourceClient addData:]): override since the main resource does it's own buffering
1629         (-[WebMainResourceClient saveResource]): override to do nothing since the main resource is not saved as a subresource
1630         (-[WebMainResourceClient saveResourceWithCachedResponse:]): override, calls _setData on the data source to 
1631         (-[WebMainResourceClient connection:didReceiveData:lengthReceived:]):
1632         * WebView.subproj/WebResource.h: Added.
1633         * WebView.subproj/WebResource.m: Added. New class the represents the data, URL, MIME type and textEncodingName of a resource.
1634         (-[WebResourcePrivate dealloc]):
1635         (-[WebResource initWithData:URL:MIMEType:textEncodingName:]):
1636         (-[WebResource dealloc]):
1637         (-[WebResource data]):
1638         (-[WebResource URL]):
1639         (-[WebResource MIMEType]):
1640         (-[WebResource textEncodingName]):
1641         (-[WebResource description]):
1642         (+[WebResource _resourcesFromPropertyLists:]):
1643         (+[WebResource _propertyListsFromResources:]):
1644         (-[WebResource _initWithPropertyList:]):
1645         (-[WebResource _propertyListRepresentation]):
1646         (-[WebResource _initWithCachedResponse:originalURL:]):
1647         (-[WebResource _cachedResponseRepresentation]):
1648         * WebView.subproj/WebResourcePrivate.h: Added.
1649         * WebView.subproj/WebView.m:
1650
1651 === Safari-129 ===
1652
1653 2004-02-20  Darin Adler <darin@apple.com>
1654
1655         Reviewed by mjs.
1656
1657         - fix build breakage caused by removal of kWindowNoBufferingAttribute.  
1658
1659         * Carbon.subproj/CarbonWindowAdapter.m:
1660         (-[CarbonWindowAdapter initWithCarbonWindowRef:takingOwnership:disableOrdering:carbon:]):
1661         always used a retained backing store type
1662
1663 2004-02-20  Chris Blumenberg  <cblu@apple.com>
1664
1665         Fixed: <rdar://problem/3563402>: when copying HTML, relative URLs should be made absolute
1666
1667         Reviewed by dave.
1668
1669         * WebView.subproj/WebHTMLRepresentation.h:
1670         * WebView.subproj/WebHTMLRepresentation.m:
1671         (-[WebHTMLRepresentation HTMLString]): renamed from reconstructed source to be more analogous with other data get methods
1672         * WebView.subproj/WebHTMLView.m:
1673         (-[WebHTMLView _writeSelectionToPasteboard:]): call renamed selectedHTML on the bridge
1674
1675 2004-02-19  John Sullivan  <sullivan@apple.com>
1676
1677         - WebKit part of fix for <rdar://problem/3292380>: Cycle Tabs keyboard shortcut 
1678         (cmd-shift-arrows) conflicts with text editing
1679
1680         Reviewed by Chris.
1681
1682         * WebView.subproj/WebFrameView.m:
1683         (-[WebFrameView keyDown:]):
1684         If shift key is down along with an arrow key, call super rather than eating
1685         event since we don't handle any shifted events here.
1686
1687 2004-02-15  Darin Adler  <darin@apple.com>
1688
1689         Reviewed by John and Don.
1690
1691         - discovered that jaguar.com doesn't need spoofing any more, so removed
1692           the spoofing machinery entirely; if we ever have to bring it back we
1693           can, but I doubt we will
1694
1695         * WebView.subproj/WebView.m: Removed include of WebUserAgentSpoofTable.c.
1696         (-[WebViewPrivate dealloc]): Release the new single userAgent rather than
1697         the array and userAgentOverride we used to.
1698         (-[WebView _preferencesChangedNotification:]): Release the single user agent,
1699         rather than the entire cache. Also only do it when the user agent is not
1700         overridden.
1701         (-[WebView setApplicationNameForUserAgent:]): Ditto.
1702         (-[WebView setCustomUserAgent:]): Set the new userAgentOverridden boolean,
1703         and also set userAgent itself.
1704         (-[WebView customUserAgent]): Return userAgent, but only if userAgentOverridden
1705         is true.
1706         (-[WebView userAgentForURL:]): Simplify, now that there's no automatic spoofing
1707         to do. Made even simpler by the fact that custom and computed user agents both
1708         share the same field now.
1709
1710         * WebView.subproj/WebViewPrivate.h: Got rid of UserAgentStringType, turned the
1711         userAgent field into a single item instead of an array, and replaced the
1712         userAgentOverride field with a boolean userAgentOverridden field.
1713
1714         * Makefile.am: Removed the rule to build WebUserAgentSpoofTable.c.
1715         * WebView.subproj/WebUserAgentSpoofTable.c: Removed.
1716         * WebView.subproj/WebUserAgentSpoofTable.gperf: Removed.
1717
1718 2004-02-15  Darin Adler  <darin@apple.com>
1719
1720         Reviewed by Dave.
1721
1722         * WebKit.pbproj/project.pbxproj: Tweak build styles a bit, fixing OptimizedWithSymbols,
1723         and removing redundant settings of things that match defaults in other build styles.
1724
1725 2004-02-12  Maciej Stachowiak  <mjs@apple.com>
1726
1727         Reviewed by John.
1728
1729         - redo visited link history checking for a 2% speed improvement
1730
1731         * History.subproj/WebHistory.m:
1732         (-[_WebCoreHistoryProvider containsItemForURLString:]): Removed.
1733         (-[_WebCoreHistoryProvider containsItemForURLLatin1:length:]): Implemented.
1734         For https and http URLs with empty path, add a slash. Make a CFString
1735         using the passed-in latin1 buffer without copying.
1736         (-[_WebCoreHistoryProvider containsItemForURLUnicode:length:]): Ditto
1737         for unicode.
1738         (matchLetter): New static helper function.
1739         (matchUnicodeLetter): Ditto.
1740
1741 === Safari-128 ===
1742
1743 2004-02-10  Ken Kocienda  <kocienda@apple.com>
1744
1745         Reviewed by Hyatt
1746
1747         * WebCoreSupport.subproj/WebBridge.m:
1748         (-[WebBridge registerCommandForUndo]): Some cleanup. Cookie for events no longer needed.
1749         (-[WebBridge registerCommandForRedo]): Ditto.
1750         (-[WebBridge clearUndoRedoOperations]): Tells the Cocoa undo manager to clear
1751         steps targeted at the bridge.
1752         * WebView.subproj/WebFrame.h: Declare undo manager accessor.
1753         * WebView.subproj/WebFrame.m:
1754         (-[WebFramePrivate dealloc]): Release undo manager
1755         (-[WebFrame undoManager]): Allocate and return an undo manager. This helps
1756         undo in a browser to be per tab.
1757         * WebView.subproj/WebFramePrivate.h: Declare undo manager ivar.
1758
1759 2004-02-08  Darin Adler  <darin@apple.com>
1760
1761         Reviewed by Dave.
1762
1763         - fixed things seen in the profile, for a total speedup of 4% on cvs-base
1764         - fixed some layout regressions from my last speedup due to text measurement inconsistencies by adding
1765           a flag to control whether word rounding is done or not
1766         - fixed text measurement to be used with AppKit to match AppKit again, as it did at some point in the past
1767
1768         * WebCoreSupport.subproj/WebTextRenderer.h: Remove some unused fields, and added a field to say whether we
1769         treat this font as fixed pitch.
1770         * WebCoreSupport.subproj/WebTextRenderer.m:
1771         (getUncachedWidth): Remove space width hack from this level. There was already a width hack up at the higher
1772         level for space itself, so there's not a significant speed benefit, and the higher level can make a more
1773         intelligent choice based on the current rounding setting since it's not cached.
1774         (-[WebTextRenderer _computeWidthForSpace]): Don't store so many widths; just the adjusted width we will
1775         actually use.
1776         (widthForNextCharacter): Use two different rules for when to adjust space widths, based on whether this is
1777         a fixed pitch font or not. Also, don't do any adjusting of space widths if applyWordRounding is false.
1778
1779         * Misc.subproj/WebKitNSStringExtras.m:
1780         (-[NSString _web_drawAtPoint:font:textColor:]): Turn off rounding, so we get the kind of spacing AppKit would normally give.
1781         (-[NSString _web_widthWithFont:]): Ditto.
1782         * Misc.subproj/WebStringTruncator.m: (stringWidth): Ditto.
1783
1784 2004-02-08  Darin Adler  <darin@apple.com>
1785
1786         Reviewed by NOBODY (OOPS!).
1787
1788         - fixed things seen in the profile, for a total speedup of 3.7% on cvs-base
1789
1790         * Misc.subproj/WebNSURLExtras.m: (-[NSURL _web_userVisibleString]): Check for "xn--" as we
1791         walk the string instead of in a separate call to strcasestr. Faster this way.
1792
1793 2004-02-07  Darin Adler  <darin@apple.com>
1794
1795         * WebKit.pbproj/project.pbxproj: Get rid of the DEPLOYMENT_LOCATION and DEPLOYMENT_POSTPROCESSING
1796         flags that were in the Deployment build style. These were causing the need to chmod all the time
1797         after building WebCore successfully, and were doing us no good.
1798
1799 2004-02-06  Darin Adler  <darin@apple.com>
1800
1801         * Resources/missing_image.tiff: Compressed with compress-tiffs; saved 15890 bytes.
1802
1803 === Safari-127 ===
1804
1805 2004-02-05  Ken Kocienda  <kocienda@apple.com>
1806
1807         Reviewed by Hyatt
1808
1809         Added so that editing can hook into Cocoa undo architecture. 
1810
1811         * WebCoreSupport.subproj/WebBridge.m:
1812         (-[WebBridge registerCommandForUndo:]):
1813
1814 2004-02-04  David Hyatt  <hyatt@apple.com>
1815
1816         Fix deployment build bustage.
1817         
1818         * Plugins.subproj/WebBaseNetscapePluginView.m:
1819         (ConsoleConnectionChangeNotifyProc):
1820
1821 2004-02-04  Chris Blumenberg  <cblu@apple.com>
1822
1823         Fixed: <rdar://problem/3546028>: Safari should not give plug-ins any time, thus use 0% CPU, when not in the currently active session
1824
1825
1826         Reviewed by john.
1827
1828         * Plugins.subproj/WebBaseNetscapePluginView.m:
1829         (+[WebBaseNetscapePluginView initialize]): observe CG changes
1830         (-[WebBaseNetscapePluginView addWindowObservers]): observe user switch notifications
1831         (-[WebBaseNetscapePluginView removeWindowObservers]): stop observing user switch notifications
1832         (-[WebBaseNetscapePluginView viewHasMoved:]): tweak
1833         (-[WebBaseNetscapePluginView windowWillClose:]): tweak 
1834         (-[WebBaseNetscapePluginView windowBecameKey:]): tweak
1835         (-[WebBaseNetscapePluginView windowResignedKey:]): tweak
1836         (-[WebBaseNetscapePluginView windowDidMiniaturize:]): tweak
1837         (-[WebBaseNetscapePluginView windowDidDeminiaturize:]): tweak
1838         (-[WebBaseNetscapePluginView loginWindowDidSwitchFromUser:]): new, stop null events
1839         (-[WebBaseNetscapePluginView loginWindowDidSwitchToUser:]): new, restart null events
1840         (ConsoleConnectionChangeNotifyProc): new, post user switch notifications
1841
1842 2004-02-02  John Sullivan  <sullivan@apple.com>
1843
1844         Reviewed by Darin.
1845
1846         * Misc.subproj/WebNSURLExtras.h:
1847         * Misc.subproj/WebNSURLExtras.m:
1848         (-[NSURL _web_URLWithLowercasedScheme]):
1849         new method, returns a URL whose scheme has been tolower'ed
1850
1851         * English.lproj/StringsNotToBeLocalized.txt:
1852         Updated for recent changes.
1853
1854 2004-02-02  Chris Blumenberg  <cblu@apple.com>
1855
1856         Fixed: <rdar://problem/3546924>: REGRESSION: dragging text or images over a WebView is jerky
1857
1858         Reviewed by mjs.
1859
1860         * DOM.subproj/WebDOMNode.h: added HTMLString to the protocol
1861         * WebView.subproj/WebDefaultContextMenuDelegate.m:
1862         (-[WebDefaultUIDelegate copyImageToClipboard:]): get the HTML representation via the DOM node
1863         * WebView.subproj/WebHTMLView.m:
1864         (-[WebHTMLView _handleMouseDragged:]): get the HTML representation via the DOM node
1865         * WebView.subproj/WebView.h: removed the HTML string element key constant
1866         * WebView.subproj/WebView.m: removed the HTML string element key constant
1867
1868 2004-02-02  Chris Blumenberg  <cblu@apple.com>
1869
1870         Fixed: <rdar://problem/3546426>: when copying images via context menus, only some data is added to the pasteboard
1871
1872         Reviewed by john.
1873
1874         * Misc.subproj/WebNSPasteboardExtras.h:
1875         * Misc.subproj/WebNSPasteboardExtras.m:
1876         (-[NSPasteboard _web_writeImage:URL:title:fileWrapper:HTMLString:]): new, writes and image, URL and other optional arguments to the pasteboard
1877         * Misc.subproj/WebNSViewExtras.m:
1878         (-[NSView _web_dragImage:fileWrapper:rect:URL:title:HTMLString:event:]): factored code out to _web_writeImage, call _web_writeImage
1879         * WebView.subproj/WebDefaultContextMenuDelegate.m:
1880         (-[WebDefaultUIDelegate copyImageToClipboard:]): call _web_writeImage
1881         * WebView.subproj/WebImageView.m:
1882         (-[WebImageView writeImageToPasteboard:]): call _web_writeImage
1883
1884 2004-02-02  Darin Adler  <darin@apple.com>
1885
1886         - fixed build failure on Merlot
1887
1888         * Misc.subproj/WebNSPasteboardExtras.m: Import just CoreTranslationFlavorTypeNames.h rather than all of
1889         ApplicationServicesPriv.h; should compile faster and avoid build failure.
1890
1891 2004-02-02  Chris Blumenberg  <cblu@apple.com>
1892
1893         Fixed: <rdar://problem/3546379>: support for editing via drag & drop
1894
1895         Reviewed by kocienda.
1896
1897         * Misc.subproj/WebNSViewExtras.h:
1898         * Misc.subproj/WebNSViewExtras.m:
1899         (-[NSView _web_dragImage:fileWrapper:rect:URL:title:HTMLString:event:]): added a HTMLString argument so that we retain all attributes when dragging images
1900         * WebView.subproj/WebHTMLView.m:
1901         (-[WebHTMLView _canDelete]): call renamed isSelectionEditable
1902         (-[WebHTMLView _canPaste]): call renamed isSelectionEditable
1903         (-[WebHTMLView _pasteHTMLFromPasteboard:]): new, factored out from paste:
1904         (-[WebHTMLView _handleMouseDragged:]): removed code that returned early if we were loading, this kind of protection is no longer needed since we now retain the view while dragging, call renamed _web_dragImage
1905         (-[WebHTMLView initWithFrame:]): register for drop types
1906         (-[WebHTMLView paste:]): call _pasteHTMLFromPasteboard
1907         (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]): set new isDragging BOOL to YES
1908         (-[WebHTMLView draggedImage:endedAt:operation:]): set new isDragging BOOL to NO
1909         (-[WebHTMLView draggingEntered:]): new
1910         (-[WebHTMLView draggingUpdated:]): new, handle caret movement during the drag
1911         (-[WebHTMLView prepareForDragOperation:]): new
1912         (-[WebHTMLView performDragOperation:]): new
1913         (-[WebHTMLView concludeDragOperation:]): new, paste in the drag
1914         * WebView.subproj/WebHTMLViewPrivate.h:
1915         * WebView.subproj/WebImageView.m:
1916         (-[WebImageView mouseDragged:]): call renamed _web_dragImage
1917         * WebView.subproj/WebView.h:
1918         * WebView.subproj/WebView.m:
1919
1920 === Safari-126 ===
1921
1922 2004-01-30  Chris Blumenberg  <cblu@apple.com>
1923
1924         Fixed: <rdar://problem/3536126>: REGRESSION (Merlot): WebKit dragging is in strange location
1925
1926         Reviewed by kocienda.
1927
1928         * WebView.subproj/WebHTMLView.m:
1929         (-[WebHTMLView _handleMouseDragged:]): use the proper offset when dragging text
1930
1931 2004-01-28  John Sullivan  <sullivan@apple.com>
1932
1933         More header/footer work: refactored the header/footer code so it could
1934         be easily reused by other WebDocument classes; used it from WebImageView
1935         and WebTextView; removed the page count parameters because it's possible
1936         (though currently nasty, see 3543078) to determine this in the client.
1937
1938         Reviewed by Dave.
1939
1940         * Misc.subproj/WebNSPrintOperationExtras.h Added.
1941         * Misc.subproj/WebNSPrintOperationExtras.m Added.
1942         (-[NSPrintOperation _web_pageSetupScaleFactor]):
1943         new convenience method.
1944                 
1945         * WebView.subproj/WebUIDelegatePrivate.h:
1946         Removed page index and page count parameters from delegate methods.
1947         
1948         * WebView.subproj/WebViewPrivate.h:
1949         New private category for header/footer printing methods so that different
1950         WebDocument methods can share almost all of the code.
1951         
1952         * WebView.subproj/WebView.m:
1953         (-[WebView _headerHeight]):
1954         (-[WebView _footerHeight]):
1955         (-[WebView _drawHeaderInRect:]):
1956         (-[WebView _drawFooterInRect:]):
1957         (-[WebView _adjustPrintingMarginsForHeaderAndFooter]):
1958         (-[WebView _drawHeaderAndFooter]):
1959         Moved all of these methods here, formerly in WebHTMLView. Removed the
1960         page index and page count parameters.
1961
1962         * WebView.subproj/WebHTMLView.m:
1963         Removed all the header/footer code that's now in WebView.m, and the
1964         method that's now -[NSPrintOperation _web_pageSetupScaleFactor]
1965         (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
1966         call methods differently that have now been moved
1967         (-[WebHTMLView _scaleFactorForPrintOperation:]):
1968         ditto
1969         (-[WebHTMLView knowsPageRange:]):
1970         ditto
1971         (-[WebHTMLView drawPageBorderWithSize:]):
1972         now just turns around and calls -[WebView _drawHeaderAndFooter]
1973         
1974         * WebView.subproj/WebImageView.m:
1975         (-[WebImageView drawPageBorderWithSize:]):
1976         new method, just calls -[WebView _drawHeaderAndFooter]
1977         (-[WebImageView beginDocument]):
1978         now calls -[WebView _adjustPrintMarginsForHeaderAndFooter], also moved in file.
1979         (-[WebImageView endDocument]):
1980         just moved in file.
1981
1982         * WebView.subproj/WebTextView.m:
1983         (-[WebTextView drawPageBorderWithSize:]):
1984         new method, just calls -[WebView _drawHeaderAndFooter]        
1985         (-[WebTextView knowsPageRange:]):
1986         overridden to call -[WebView _adjustPrintMarginsForHeaderAndFooter]
1987         
1988         * WebKit.pbproj/project.pbxproj:
1989         updated for added files
1990
1991
1992 2004-01-28  Chris Blumenberg  <cblu@apple.com>
1993
1994         Fixed: <rdar://problem/3197222>: need context menu items for back, forward, refresh.
1995
1996         Reviewed by rjw.
1997
1998         * English.lproj/Localizable.strings:
1999         * WebView.subproj/WebDefaultContextMenuDelegate.m:
2000         (-[WebDefaultUIDelegate menuItemWithTag:]): added support for WebMenuItemTagGoBack, WebMenuItemTagGoForward, WebMenuItemTagStop and WebMenuItemTagReload tags
2001         (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): added support for Back, Forward, Stop and Reload
2002         * WebView.subproj/WebUIDelegate.h: added WebMenuItemTagGoBack, WebMenuItemTagGoForward, WebMenuItemTagStop and WebMenuItemTagReload tags
2003
2004 2004-01-27  John Sullivan  <sullivan@apple.com>
2005
2006         WebKit part of fixes for:
2007         <rdar://problem/3123975>: ER: please list the source URL in the header 
2008         or footer when printing the contents of a page
2009         <rdar://problem/3184091>: Safari - Configurable printing header/footer
2010         <rdar://problem/3306826>: Please allow printing the date (as well as URL) 
2011         in the header or footer
2012
2013         Reviewed by Dave.
2014
2015         * WebView.subproj/WebHTMLView.m:
2016         (-[WebHTMLView _headerHeight]):
2017         new method, gets result from WebView's UI delegate or returns 0
2018         (-[WebHTMLView _footerHeight]):
2019         new method, gets result from WebView's UI delegate or returns 0
2020         (-[WebHTMLView _drawHeaderInRect:]):
2021         new method, gives WebView's UI delegate a chance to draw header
2022         (-[WebHTMLView _drawFooterInRect:]):
2023         new method, gives WebView's UI delegate a chance to draw footer
2024         (-[WebHTMLView _adjustPrintingMarginsForHeaderAndFooter]):
2025         new method, adds header and footer heights into page margins so
2026         AppKit printing code will compute and use the right area
2027         (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
2028         now calls _adjustPrintingMarginsForHeaderAndFooter if starting to print
2029         (-[WebHTMLView drawPageBorderWithSize:]):
2030         new method, computes rects for header and footer and calls new drawing methods
2031         
2032         * WebView.subproj/WebUIDelegatePrivate.h:
2033         add header and footer-related delegate methods
2034
2035 2004-01-27  Chris Blumenberg  <cblu@apple.com>
2036
2037         Fixed:
2038         <rdar://problem/3541812>: Implement Paste menu item
2039         <rdar://problem/3541814>: Implement Delete menu item
2040         <rdar://problem/3541811>: Implement Cut menu item
2041
2042         Reviewed by dave.
2043
2044         * WebView.subproj/WebHTMLView.m:
2045         (-[WebHTMLView _haveSelection]): new, renamed from hasSelection, calls haveSelection on the bridge, quicker than generating string rep of selection
2046         (-[WebHTMLView _canDelete]): new
2047         (-[WebHTMLView _canPaste]): new
2048         (-[WebHTMLView takeFindStringFromSelection:]): call renamed _haveSelection
2049         (-[WebHTMLView cut:]): new
2050         (-[WebHTMLView delete:]): new
2051         (-[WebHTMLView paste:]): new
2052         (-[WebHTMLView validateUserInterfaceItem:]): updated for new methods
2053         (-[WebHTMLView validRequestorForSendType:returnType:]): call renamed _haveSelection
2054         * WebView.subproj/WebHTMLViewPrivate.h:
2055
2056 2004-01-27  Chris Blumenberg  <cblu@apple.com>
2057
2058         Fixed build breakage.
2059
2060         Reviewed by darin.
2061
2062         * WebKit.pbproj/project.pbxproj: Use full path instead of -L to get at WebKitSecurity.a
2063
2064 2004-01-27  Chris Blumenberg  <cblu@apple.com>
2065
2066         Fixed: <rdar://problem/3536624>: Webkit 1.2 links against SecurityNssAsn1.framework
2067
2068         Reviewed by Darin.
2069
2070         * WebCoreSupport.subproj/WebKeyGeneration.h: Set DISABLE_WEB_KEY_GENERATION on Merlot for now.
2071         Then don't include anything if that's set.
2072         * WebCoreSupport.subproj/WebKeyGeneration.cpp: Don't compile anything if DISABLE_WEB_KEY_GENERATION
2073         is set.
2074         * WebCoreSupport.subproj/WebKeyGenerator.m:
2075         (-[WebKeyGenerator signedPublicKeyAndChallengeStringWithStrengthIndex:challenge:pageURL:]):
2076         Always return nil if DISABLE_WEB_KEY_GENERATION is set.
2077         (-[WebKeyGenerator addCertificatesToKeychainFromData:]): Always return failure if
2078         DISABLE_WEB_KEY_GENERATION is set.
2079
2080         * WebKit.pbproj/project.pbxproj: Added shell build step to make library with security
2081         libraries in it. On Merlot, makes empty library. Also added library to link options.
2082         * WebKitSecurityDummy.c: Added. Used to make empty version of library for build on Merlot.
2083
2084 2004-01-26  Darin Adler  <darin@apple.com>
2085
2086         * Makefile.am: Switch from pbxbuild to xcodebuild.
2087
2088 2004-01-26  Darin Adler  <darin@apple.com>
2089
2090         Reviewed by John.
2091
2092         - fixed <rdar://problem/3521379>: image dimensions uses lowercase x instead of multiplication sign
2093
2094         * WebView.subproj/WebImageRepresentation.m: (-[WebImageRepresentation title]):
2095         Change string to use multiplication sign instead of x.
2096         * English.lproj/Localizable.strings: Updated.
2097
2098 2004-01-23  Ken Kocienda  <kocienda@apple.com>
2099
2100         Reviewed by Richard
2101
2102         * WebView.subproj/WebHTMLView.m:
2103         (-[WebHTMLView updateShowsFirstResponder]): Renamed from updateFocusRing:
2104         since it is now used to kill caret blink timer.
2105         (-[WebHTMLView windowDidBecomeKey:]): Now calls new updateShowsFirstResponder
2106         method.
2107         (-[WebHTMLView windowDidResignKey:]): Ditto.
2108
2109 2004-01-22  Chris Blumenberg  <cblu@apple.com>
2110
2111         Fixed: <rdar://problem/3537542>: support for copying HTML
2112
2113         Reviewed by dave.
2114
2115         * WebView.subproj/WebHTMLRepresentation.h:
2116         * WebView.subproj/WebHTMLRepresentation.m:
2117         (-[WebHTMLRepresentation reconstructedSource]): for BLOT's eventual use
2118         * WebView.subproj/WebHTMLView.m:
2119         (+[WebHTMLView _pasteboardTypes]): provide NSHTMLPboardType 
2120         (-[WebHTMLView _writeSelectionToPasteboard:]): add HTML to the pasteboard
2121
2122 2004-01-22  John Sullivan  <sullivan@apple.com>
2123
2124         Reviewed by Chris.
2125
2126         * English.lproj/StringsNotToBeLocalized.txt:
2127         brought this file back up to date
2128
2129 2004-01-22  Darin Adler  <darin@apple.com>
2130
2131         - fixed 3536624: Webkit 1.2 links against SecurityNssAsn1.framework
2132
2133         * WebKit.pbproj/project.pbxproj: Remove SecurityNssAsn1.framework from the list we link against.
2134         It's still included in the list for places to find headers.
2135
2136 === Safari-125 ===
2137
2138 === Safari-124 ===
2139
2140 2004-01-15  Vicki Murley  <vicki@apple.com>
2141
2142         Reviewed by Darin.
2143
2144         * WebKit.pbproj/project.pbxproj: Update copyright date to 2004.
2145         * English.lproj/InfoPlist.strings: Update copyright date to 2004.
2146
2147 === Safari-122 ===
2148
2149 === Safari-121 ===
2150
2151 2004-01-10  Darin Adler  <darin@apple.com>
2152
2153         Reviewed by John.
2154
2155         - fixed 3524906: REGRESSION (114-115): page with plug-in content never stops loading (travelking.com.tw)
2156
2157         Put the plug-in streams clients into their own separate set. Now a plug-in client is not considered part
2158         of "loading", but it does participate in the callback deferral mechanism, which was the real goal of the
2159         change I made that introduced this regression. Also remove the plug-in client in one case I had missed
2160         before (cancel).
2161
2162         * WebView.subproj/WebDataSourcePrivate.h: Added a new set of plugInStreamClients.
2163         * WebView.subproj/WebDataSource.m:
2164         (-[WebDataSourcePrivate dealloc]): Release the set.
2165         (-[WebDataSource _addPlugInStreamClient:]): Added. Adds to the set.
2166         (-[WebDataSource _removePlugInStreamClient:]): Added. Removes from the set.
2167         (-[WebDataSource _defersCallbacksChanged]): Added code to loop through plugInStreamClients too.
2168
2169         * Plugins.subproj/WebNetscapePluginStream.m:
2170         (-[WebNetscapePluginStream start]): Use _add/removePlugInStreamClient instead of _add/removeSubresourceClient.
2171         (-[WebNetscapePluginConnectionDelegate connectionDidFinishLoading:]): Ditto.
2172         (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]): Ditto.
2173         (-[WebNetscapePluginConnectionDelegate cancelWithError:]): Override to call _removePlugInStreamClient and
2174         then call super.
2175
2176 2004-01-09  Darin Adler  <darin@apple.com>
2177
2178         - rolled out most of Dave's change for 3510669 and 3515442; it is not working yet
2179
2180         * WebView.subproj/WebHTMLViewPrivate.h:
2181         * WebView.subproj/WebHTMLView.m:
2182
2183 2004-01-09  Maciej Stachowiak  <mjs@apple.com>
2184
2185         Reviewed by Chris.
2186
2187         <rdar://problem/3514446>: cert downloaded from BofA or MIT is rejected (ACL issue on private key?)
2188         
2189         * WebCoreSupport.subproj/WebKeyGeneration.cpp:
2190         (createPair): Cut & paste hunk of code from Security framework.
2191         (Safari_SecKeyCreatePair): Ditto.
2192         (signedPublicKeyAndChallengeString): Instead of creating a normal ACL,
2193         use our hacked version of the SecKeyCreatePair call that doesn't put in
2194         any kind of ACL. This works around a SecureTransport bug.
2195
2196 2004-01-09  David Hyatt  <hyatt@apple.com>
2197
2198         Fixes for 3510669 and 3515442, blank frame problems caused by WebKit's resizing not scheduling actual
2199         layouts via WebCore.
2200         
2201         Reviewed by darin
2202
2203         * WebView.subproj/WebHTMLView.m:
2204         (-[WebHTMLView _web_layoutIfNeededRecursive:testDirtyRect:]):
2205         (-[WebHTMLView initWithFrame:]):
2206         (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]):
2207         (-[WebHTMLView setNeedsLayout:]):
2208         * WebView.subproj/WebHTMLViewPrivate.h:
2209
2210 2004-01-09  Darin Adler  <darin@apple.com>
2211
2212         Reviewed by Chris.
2213
2214         - fixed 3510805: "PoolCleaner" in Carbon WebKit leads to overrelease and crash using color picker in BBEdit
2215
2216         * Carbon.subproj/CarbonUtils.m: (PoolCleaner): Only do the autorelease
2217         pool stuff in the default run loop mode. If we're in another run loop
2218         mode that means we are in some Cocoa code that sets up its own autorelease
2219         pool; it's important that we don't release ours in that case.
2220
2221 2004-01-08  Maciej Stachowiak  <mjs@apple.com>
2222
2223         Reviewed by John.
2224
2225         <rdar://problem/3522298>: Error on MIT's x509 certificate site
2226
2227         * WebCoreSupport.subproj/WebKeyGeneration.cpp:
2228         (addCertificatesToKeychainFromData): Sign the freshly minted public key
2229         using RSA/MD5 instead of RSA/SHA-1, because MIT only supports MD5.
2230
2231 2004-01-08  Richard Williamson   <rjw@apple.com>
2232
2233         Fixed 3524430.  This was a regression introduced when we added '-' and '?' to the word boundary detection.
2234
2235         Also backed out workaround for 3521759 as it's no longer needed with correct argument passing to ATSUPositionToOffset.
2236
2237         Reviewed by Hyatt.
2238
2239         * WebCoreSupport.subproj/WebTextRenderer.m:
2240         (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:]):
2241         (widthForNextCharacter):
2242
2243 2004-01-08  Chris Blumenberg  <cblu@apple.com>
2244
2245         Fixed: <rdar://problem/3522900>: REGRESSION (100-117): Java plug-in description is garbled when displaying Plug-ins.html
2246
2247         Reviewed by darin.
2248
2249         * Misc.subproj/WebKitNSStringExtras.h:
2250         * Misc.subproj/WebKitNSStringExtras.m:
2251         (+[NSString _web_encodingForResource:]): new method, returns the encoding for a resource handle given its file system path
2252         * Plugins.subproj/WebNetscapePluginPackage.m:
2253         (-[WebNetscapePluginPackage stringForStringListID:andIndex:]): call _web_encodingForResource when creating the NSString
2254
2255 === Safari-120 ===
2256
2257 2004-01-06  Richard Williamson   <rjw@apple.com>
2258
2259         Fixed 3513660.  Make ATSU layout and draw with integer glyph boundaries.  This fix should be removed if/when we convert WebCore to use floats for measuring/positioning (3521781).
2260
2261         Reviewed by John.
2262
2263         * WebCoreSupport.subproj/WebTextRenderer.m:
2264         (-[WebTextRenderer _createATSUTextLayoutForRun:]):
2265
2266 2004-01-05  Richard Williamson   <rjw@apple.com>
2267
2268         Fix for 3514454.  Work-around added for 3521759.
2269
2270         Filed 3521781 to cover deeper problem.
2271
2272         Reviewed by Kocienda.
2273
2274         * WebCoreSupport.subproj/WebTextRenderer.m:
2275         (-[WebTextRenderer _ATSU_drawHighlightForRun:style:atPoint:]):
2276         (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:]):
2277
2278 2003-12-22  John Sullivan  <sullivan@apple.com>
2279
2280         - WebKit part of fix for <rdar://problem/3515706>: 
2281         REGRESSION (100-118): Web Kit printing does not honor Page Setup scale factor
2282
2283         Reviewed by Darin.
2284
2285         * WebView.subproj/WebHTMLView.m:
2286         (-[WebHTMLView _userScaleFactorForPrintOperation:]):
2287         new method, extracts the scale factor provided by the user in
2288         the Page Setup dialog
2289         (-[WebHTMLView _scaleFactorForPrintOperation:]):
2290         take user scale factor into account
2291         (-[WebHTMLView knowsPageRange:]):
2292         renamed local var scaleFactor -> totalScaleFactor for clarity;
2293         take user scale factor into account for print width; now assumes
2294         computePageRects returns autoreleased result.
2295
2296         * WebKit.pbproj/project.pbxproj:
2297         Xcode version wars; Darin says these don't affect the build.
2298
2299 2003-12-21  Darin Adler  <darin@apple.com>
2300
2301         Reviewed by John.
2302
2303         - fixed a storage leak
2304
2305         * WebView.subproj/WebFrame.m:
2306         (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
2307         Move the release of the request out of an if statement, since it's always needed.
2308
2309 2003-12-19  Chris Blumenberg  <cblu@apple.com>
2310
2311         Fixed: <rdar://problem/3515255>: Standalone image drag makes ocassionally makes 2 copies
2312
2313         Reviewed by john.
2314
2315         * WebKit.pbproj/project.pbxproj: Xcode 1.1 file format change
2316         * WebView.subproj/WebImageView.h:
2317         * WebView.subproj/WebImageView.m: copied double-drag protection code from WebHTMLView
2318         (-[WebImageView mouseDown:]): set ignoringMouseDraggedEvents to NO
2319         (-[WebImageView mouseDragged:]): if ignoringMouseDraggedEvents, return
2320         (-[WebImageView draggedImage:endedAt:operation:]): set ignoringMouseDraggedEvents to YES
2321
2322 === Safari-119 ===
2323
2324 2003-12-18  Richard Williamson   <rjw@apple.com>
2325
2326         Fixed 3511415.  We have to un-visually order visually ordered text
2327         before passing to ATSU.
2328
2329         Reviewed by John.
2330
2331         * WebCoreSupport.subproj/WebTextRenderer.m:
2332         (reverseCharactersInRun):
2333         (-[WebTextRenderer _ATSU_drawHighlightForRun:style:atPoint:]):
2334         (-[WebTextRenderer _ATSU_drawRun:style:atPoint:]):
2335         (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:]):
2336
2337 2003-12-17  Richard Williamson   <rjw@apple.com>
2338
2339         Fixed 3503011 (really, this time).  Always use integer width for '-' and '?', as we do for spaces, to ensure
2340         that 'words' (as defined by out rounding hack) start on integer boundaries.
2341
2342         Reviewed by John.
2343
2344         * WebCoreSupport.subproj/WebTextRenderer.m:
2345         (widthForNextCharacter):
2346
2347 2003-12-17  Chris Blumenberg  <cblu@apple.com>
2348
2349         Fixed:
2350         <rdar://problem/3393758>: REGRESSION (85-100): Flash onKeyUp event non-functional
2351         <rdar://problem/3479020>: REGRESSION (85-100): Safari sends plug-in key events to wrong instance of plug-in
2352
2353         Reviewed by darin.
2354
2355         * Plugins.subproj/WebBaseNetscapePluginView.h:
2356         * Plugins.subproj/WebBaseNetscapePluginView.m:
2357         (-[WebBaseNetscapePluginView sendEvent:]): set suspendKeyUpEvents to NO
2358         (-[WebBaseNetscapePluginView keyMessageForEvent:]): copied from CVS
2359         (-[WebBaseNetscapePluginView keyUp:]): if !suspendKeyUpEvents, send the keyUp event
2360         (-[WebBaseNetscapePluginView keyDown:]): set suspendKeyUpEvents to YES
2361         (-[WebBaseNetscapePluginView windowBecameKey:]): call SetUserFocusWindow
2362
2363 2003-12-17  Darin Adler  <darin@apple.com>
2364
2365         Reviewed by Richard.
2366
2367         - fixed 3513274: REGRESSION: anchor navigation within frames with "Back" is broken at tivofaq.com
2368
2369         * WebView.subproj/WebDataSource.m: (-[WebDataSource _setURL:]):
2370         Since this method is only used when you do a fragment scroll, we need to update
2371         the original request as well as the request. This ensure that the fragment gets
2372         recorded in the history item (which goes in the back/forward history).
2373
2374 === Safari-118 ===
2375
2376 2003-12-17  John Sullivan  <sullivan@apple.com>
2377
2378         - fixed <rdar://problem/3512801>: REGRESSION (Safari 100-116): 
2379         Mike Hay's Magic 8-ball game ignores slow clicks
2380
2381         Reviewed by Darin.
2382
2383         * WebView.subproj/WebHTMLView.m:
2384         (-[WebHTMLView _handleAutoscrollForMouseDragged:]):
2385         start the autoscroll timer here, so the timer only runs when KHTML is
2386         handling the event.
2387         (-[WebHTMLView mouseDown:]):
2388         don't start the autoscroll timer here.
2389
2390 2003-12-16  Ken Kocienda  <kocienda@apple.com>
2391
2392         * WebCoreSupport.subproj/WebBridge.m: ObjC runtime needs a declaration for new
2393         _calculatedExpiration SPI in NSURLResponse in Foundation
2394
2395 2003-12-16  Richard Williamson   <rjw@apple.com>
2396
2397         Fixed 3512348:  Rewrote _CG_drawHighlightForRun:style:atPoint: to use width
2398         iterators.  Much faster, better cheaper, etc.
2399
2400         Reviewed by Dave.
2401
2402         * WebCoreSupport.subproj/WebTextRenderer.m:
2403         (-[WebTextRenderer _CG_drawHighlightForRun:style:atPoint:]):
2404
2405 2003-12-16  Richard Williamson   <rjw@apple.com>
2406
2407         Fixed 3503011.  Added '-' and '?' to rounding hack.
2408
2409         Reviewed by John.
2410
2411         * WebCoreSupport.subproj/WebTextRenderer.m:
2412         (isRoundingHackCharacter):
2413         (widthForNextCharacter):
2414
2415 2003-12-16  Darin Adler  <darin@apple.com>
2416
2417         Reviewed by Richard.
2418
2419         - finished fix to 3109132: can't open movie file via open panel
2420
2421         * WebView.subproj/WebView.m: (+[WebView _supportedFileExtensions]):
2422         Include all the extensions for each MIME type, not jus the preferred one.
2423
2424 2003-12-16  Ken Kocienda  <kocienda@apple.com>
2425
2426         Reviewed by Darin
2427
2428         Fix for this bug:
2429
2430         <rdar://problem/3512199>: WebBridge expiresTimeForResponse can be 
2431         improved to use better expiration calculations
2432
2433         * WebCoreSupport.subproj/WebBridge.m:
2434         (-[WebBridge expiresTimeForResponse:]): Switch to use new 
2435         _calculatedExpiration SPI method on NSURLResponse.
2436
2437 2003-12-15  Chris Blumenberg  <cblu@apple.com>
2438
2439         Fixed: <rdar://problem/3505546>: always get keychain prompt when sending mail using cert downloaded with Safari
2440
2441         Reviewed by john.
2442
2443         * WebCoreSupport.subproj/WebKeyGeneration.cpp:
2444         (signedPublicKeyAndChallengeString): set up the SecAccessRef with "everything goes" restrictions
2445
2446 2003-12-14  Darin Adler  <darin@apple.com>
2447
2448         Reviewed by Maciej.
2449
2450         - fixed 3311205: click() on a file input type form element does not work bring up the file chooser as it does in IE
2451
2452         * WebCoreSupport.subproj/WebFileButton.m: (-[WebFileButton performClick]):
2453         Add method for clicking, now part of the WebCoreFileButton protocol.
2454         The rest of the fix is in WebCore.
2455
2456 2003-12-13  Darin Adler  <darin@apple.com>
2457
2458         Fixed by Ed Voas, reviewed by me.
2459
2460         - fixed 3278443: CARBON: grow box obscures scroll bar knob
2461
2462         * Carbon.subproj/CarbonWindowAdapter.m: (-[CarbonWindowAdapter _growBoxRect]):
2463         Return the grow box so AppKit's scroll bar code will know where it is.
2464
2465 2003-12-12  Ken Kocienda  <kocienda@apple.com>
2466
2467         * WebCoreSupport.subproj/WebKeyGeneration.cpp:
2468         (signedPublicKeyAndChallengeString): Fix build-bustin' typo.
2469
2470 2003-12-12  Chris Blumenberg  <cblu@apple.com>
2471
2472         Fixed:
2473         <rdar://problem/3396936>: can't obtain a digital ID from Verisign, form submission fails
2474         <rdar://problem/3505208>: keys added to keychain from KEYGEN need better UI names
2475
2476         Reviewed by rjw.
2477
2478         * English.lproj/Localizable.strings:
2479         * WebCoreSupport.subproj/WebKeyGeneration.cpp:
2480         (signedPublicKeyAndChallengeString): take a key description arg and use it, take and return CFStrings, handle the empty string case
2481         (addCertificatesToKeychainFromData): return a WebCertificateParseResult so WB knows how to handle the cert
2482         * WebCoreSupport.subproj/WebKeyGeneration.h:
2483         * WebCoreSupport.subproj/WebKeyGenerator.h:
2484         * WebCoreSupport.subproj/WebKeyGenerator.m:
2485         (-[WebKeyGenerator signedPublicKeyAndChallengeStringWithStrengthIndex:challenge:pageURL:]): take a page URL so we can use its host name in the key description
2486         * WebKit.pbproj/project.pbxproj:
2487
2488 2003-12-12  Vicki Murley  <vicki@apple.com>
2489
2490         Reviewed by NOBODY (OOPS!).
2491
2492         * WebKit.pbproj/project.pbxproj:
2493
2494 2003-12-12  Vicki Murley  <vicki@apple.com>
2495
2496         Reviewed by NOBODY (OOPS!).
2497
2498         * WebKit.pbproj/project.pbxproj:
2499
2500 2003-12-12  Vicki Murley  <vicki@apple.com>
2501
2502         Reviewed by NOBODY (OOPS!).
2503
2504         * WebKit.pbproj/project.pbxproj:
2505
2506 2003-12-11  Ken Kocienda  <kocienda@apple.com>
2507
2508         Reviewed by Darin
2509
2510         Fix for this bug:
2511
2512         <rdar://problem/3489280>: redirect via post blows cache, causing everything to get reloaded
2513
2514         Now POST requests reload the main document by default, but will not reload 
2515         all subresources.
2516
2517         * WebCoreSupport.subproj/WebSubresourceClient.m:
2518         (+[WebSubresourceClient startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]):
2519         * WebView.subproj/WebFrame.m:
2520         (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
2521         Take the cache policy for subresources from the original request, rather than
2522         the data source's current request. 
2523         * WebView.subproj/WebMainResourceClient.m:
2524         (-[WebMainResourceClient _isPostOrRedirectAfterPost:redirectResponse:]): New helper.
2525         (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]):
2526         Call new helper to set the cache policy on the main resource load.
2527
2528 === Safari-117 ===
2529
2530 2003-12-11  Ken Kocienda  <kocienda@apple.com>
2531
2532         Reviewed by Darin
2533
2534         * WebCoreSupport.subproj/WebBridge.m: time_t is a signed type, so
2535         casting -1 to a time_t does not work to make a max value.
2536         We'll go with INT_MAX.
2537
2538 2003-12-11  Ken Kocienda  <kocienda@apple.com>
2539
2540         Reviewed and C++ heavy-lifting by Darin
2541
2542         Fix warnings in C++ files.
2543
2544         * WebCoreSupport.subproj/WebKeyGeneration.cpp:
2545         (signedPublicKeyAndChallengeString): Add cast to remove warning.
2546         (addCertificatesToKeychainFromData): Add cast to remove warning.
2547         * WebKit.pbproj/project.pbxproj: Add back warnings to C++ files.
2548         * WebKitPrefix.h: Add define for NULL that works for C++.
2549
2550 2003-12-09  Ken Kocienda  <kocienda@apple.com>
2551
2552         Reviewed by Darin
2553         
2554         <rdar://problem/3505444>: WebCore cache does not use expiration dates on cache items
2555         
2556         * WebCoreSupport.subproj/WebBridge.m:
2557         (-[WebBridge expiresTimeForResponse:]): New method. Call response
2558         freshness lifetime method and add it to the current time to yield
2559         an expiration time.
2560
2561 2003-12-10  Maciej Stachowiak  <mjs@apple.com>
2562
2563         Reviewed by Richard.
2564
2565         WebKit part of fix for:
2566
2567         <rdar://problem/3487160>: Implement synchronous loading for XMLHttpRequest
2568
2569         * WebCoreSupport.subproj/WebBridge.m:
2570         (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
2571
2572 2003-12-10  Richard Williamson   <rjw@apple.com>
2573
2574         Added method to get to the bridge from a view.  This is
2575         used to ultimately get the part and KJS::Window for a
2576         particular applet.
2577
2578         Reviewed by Hyatt.
2579
2580         * WebCoreSupport.subproj/WebViewFactory.m:
2581         (-[WebViewFactory refreshPlugins:]):
2582         (-[WebViewFactory bridgeForView:]):
2583
2584 2003-12-10  John Sullivan  <sullivan@apple.com>
2585
2586         - WebKit part of fix for:
2587         <rdar://problem/3505231>: REGRESSION (100-114): Some sites autoscroll to bottom of page when loading
2588
2589         Reviewed by Darin
2590
2591         * Misc.subproj/WebNSViewExtras.h:
2592         * Misc.subproj/WebNSViewExtras.m:
2593         removed _web_scrollPointToVisible:fromView:
2594         
2595         * WebView.subproj/WebHTMLView.m:
2596         (-[WebHTMLView scrollPoint:]):
2597         removed call to _web_scrollPointToVisible:fromView:
2598
2599 2003-12-10  Chris Blumenberg  <cblu@apple.com>
2600
2601         Fixed: <rdar://problem/3505537>: certificates downloaded from Verisign are multipart/mixed, must be parsed out
2602
2603         Reviewed by kocienda.
2604
2605         * WebCoreSupport.subproj/WebKeyGeneration.cpp:
2606         (signedPublicKeyAndChallengeString): tweak
2607         (addCertificateToKeychainFromData): renamed to use lowercase "c" in "keychain"
2608         (addCertificatesToKeychainFromData): take data instead of a path to a file
2609         * WebCoreSupport.subproj/WebKeyGeneration.h:
2610         * WebCoreSupport.subproj/WebKeyGenerator.h:
2611         * WebCoreSupport.subproj/WebKeyGenerator.m:
2612         (-[WebKeyGenerator signedPublicKeyAndChallengeStringWithStrengthIndex:challenge:]): added temporary workaround for 3396936
2613
2614 2003-12-09  Chris Blumenberg  <cblu@apple.com>
2615
2616         Fixed: <rdar://problem/3504237>: add downloaded certificates to keychain
2617
2618         Reviewed by darin.
2619
2620         * WebCoreSupport.subproj/WebKeyGeneration.cpp:
2621         (signedPublicKeyAndChallengeString):
2622         (addCertificateToKeyChainFromData): new
2623         (addCertificateToKeyChainFromFile): new
2624         * WebCoreSupport.subproj/WebKeyGeneration.h:
2625         * WebCoreSupport.subproj/WebKeyGenerator.h:
2626         * WebCoreSupport.subproj/WebKeyGenerator.m:
2627         (-[WebKeyGenerator addCertificateToKeyChainFromFileAtPath:]): new
2628         * WebKit.exp:
2629         * WebKit.pbproj/project.pbxproj: made WebKeyGenerator.h private
2630
2631 2003-12-09  John Sullivan  <sullivan@apple.com>
2632
2633         - fixed <rdar://problem/3504907>: REGRESSION (100-116): 
2634         Clicking QuickTime-requiring link twice crashes (wholenote.com)
2635
2636         I found the bug; Darin wrote the fix; I reviewed and tested.
2637
2638         * Plugins.subproj/WebNetscapePluginPackage.m:
2639         (-[WebNetscapePluginPackage stringForStringListID:andIndex:]):
2640         Rewrote this method to not use GetIndString, because GetIndString looks
2641         at all open resource files and in this case was reading information from
2642         the wrong plugin file.
2643
2644 2003-12-08  Chris Blumenberg  <cblu@apple.com>
2645
2646         Fixed: <rdar://problem/3234676>: Support for KEYGEN tag (ie 509 email certificates from www.thawte.com)
2647
2648         Reviewed by mjs.
2649
2650         * WebCoreSupport.subproj/WebKeyGeneration.cpp: Added.
2651         (gnrAddContextAttribute): new
2652         (gnrGetSubjPubKey): new
2653         (gnrNullAlgParams): new
2654         (gnrSign): new
2655         (gnrFreeCssmData): new
2656         (signedPublicKeyAndChallengeString): new
2657         * WebCoreSupport.subproj/WebKeyGeneration.h: Added.
2658         * WebCoreSupport.subproj/WebKeyGenerationFactory.h: Added. Renamed from WebLocalizedStringFactory.
2659         * WebCoreSupport.subproj/WebKeyGenerationFactory.m: Added.
2660         (+[WebKeyGenerationFactory createSharedFactory]): no change
2661         (-[WebKeyGenerationFactory dealloc]): no change
2662         (-[WebKeyGenerationFactory strengthMenuItemTitles]): new
2663         (-[WebKeyGenerationFactory signedPublicKeyAndChallengeStringWithStrengthIndex:challenge:]): new
2664         * WebCoreSupport.subproj/WebLocalizedStringFactory.h: Removed.
2665         * WebCoreSupport.subproj/WebLocalizedStringFactory.m: Removed.
2666         * WebCoreSupport.subproj/WebNetscapeTemplates.cpp: Added.
2667         * WebCoreSupport.subproj/WebNetscapeTemplates.h: Added.
2668         * WebKit.pbproj/project.pbxproj:
2669         * WebKitPrefix.h:
2670         * WebView.subproj/WebFrameView.m:
2671
2672 2003-12-05  John Sullivan  <sullivan@apple.com>
2673
2674         - fixed <rdar://problem/3491427>: REGRESSION (100-114): multi-page HTML 
2675         content in Mail is blank when printed
2676
2677         Darin and I figured this one out.
2678
2679         Reviewed by Ken.
2680
2681         * WebView.subproj/WebHTMLView.m:
2682         (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
2683         Don't call setNeedsDisplay:NO when we're turning printing on, as doing so prevents
2684         anything from drawing in the case where this is called from 
2685         adjustPageHeightsNew:top:bottom:limit
2686
2687 2003-12-05  Darin Adler  <darin@apple.com>
2688
2689         Reviewed by John.
2690
2691         - fixed regression in small caps with substituted fonts my patch from yesterday caused
2692         - fixed 3463599: if Lucida font is installed, you see bad glyphs on pages that use it (advogato.org)
2693         - fixed storage leak if a renderer is ever deallocated (I don't think we ever do that)
2694         - fixed some small leaks in various error cases by adding appropriate free and dispose calls
2695
2696         * WebCoreSupport.subproj/WebTextRenderer.m:
2697         (-[WebTextRenderer dealloc]): Free the Unicode glyph map too.
2698         (fontContainsString): Moved inline function up here so it will be inlined.
2699         (-[WebTextRenderer _setupFont]): Free the glyph map and set it back to zero if we fail after
2700         extending the glyph map to include space. This fixes the "wrong glyph codes" bug with Lucida above.
2701         (-[WebTextRenderer _extendUnicodeCharacterToGlyphMapToInclude:]): Add free calls needed to avoid
2702         storage leaks in failure cases.
2703         (-[WebTextRenderer _extendCharacterToGlyphMapToInclude:]): Ditto.
2704         (-[WebTextRenderer _initializeATSUStyle]): Add ATSUDisposeStyle to fix storage leak.
2705         (freeWidthMap): Use a loop instead of recursion.
2706         (freeGlyphMap): Use a loop instead of recursion.
2707         (freeUnicodeGlyphMap): Added.
2708         (widthForNextCharacter): Don't use the original characters or cluster length, because the
2709         character may have been capitalized for use in small caps rendering. So check the character
2710         for <= 0xFFFF instead of looking at clusterLength, and break the character into a local array
2711         instead of using the original character pointer.
2712
2713 2003-12-04  Darin Adler  <darin@apple.com>
2714
2715         Reviewed by Richard.
2716
2717         - fixed 3497879: REGRESSION (100-115): all non-BMP characters (including Deseret) are broken
2718
2719         * WebCoreSupport.subproj/WebTextRenderer.m:
2720         (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:]): Bump offset by getting it from
2721         the iterator; don't assume we can just bump it by one each time. It would be even nicer to have
2722         a bit more abstraction.
2723         (initializeCharacterWidthIterator): Remove call to initializeCharacterShapeIterator.
2724         (widthForNextCharacter): Move handling of surrogate pairs (non-BMP) in here and unify it with
2725         the handling of BMP characters; this removes the broken code that was returning the wrong font,
2726         and changes us to use the code that was already doing the right thing for the surrogate pair case.
2727         Also get rid of the use of 0 width to mean "no glyph", which fixes the doubled glyph problem.
2728         Also got rid of remnants of use of the shape iterator.
2729
2730         * Misc.subproj/WebUnicode.h: Remove obsolete shape iterator.
2731         * Misc.subproj/WebUnicode.m: Ditto.
2732
2733 === Safari-116 ===
2734
2735 2003-12-04  Darin Adler  <darin@apple.com>
2736
2737         Reviewed by Ken.
2738
2739         - fixed 3498426: assertion failure in tooltip code at macosx.apple.com
2740
2741         * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _setToolTip:]): Work around
2742         the apparent bug in AppKit (3500217) that causes it to return 0 for the tool tip
2743         tag by using removeAllToolTips and not storing the tag at all. Besides the assertion
2744         failure there may also be a symptom of a "stuck" tool tip and a small memory
2745         leak until the window is closed.
2746         * WebView.subproj/WebHTMLViewPrivate.h: Remove unused toolTipTag.
2747
2748 2003-12-02  Chris Blumenberg  <cblu@apple.com>
2749
2750         Fixed:
2751         <rdar://problem/3439222>: always hangs opening plain text file on a particular machine due to missing font, no UI to detect
2752         <rdar://problem/3492983>: Certain fonts cause Safari to hang on text/plain pages
2753
2754         Reviewed by rjw.
2755
2756         * WebView.subproj/WebTextView.m:
2757         (-[WebTextView setFixedWidthFont]): Use [[WebTextRendererFactory sharedFactory] fontWithFamilies:traits:size:] to get the font since it takes the font family which is what we store in WebPreferences and it does fallback work. Only set the font if 
2758
2759
2760 non-nil is returned.
2761
2762 2003-11-21  Maciej Stachowiak  <mjs@apple.com>
2763
2764         Reviewed by Richard.
2765
2766         <rdar://problem/3487185>: implement security checks for XMLHttpRequest
2767         
2768         * WebCoreSupport.subproj/WebSubresourceClient.m:
2769         (-[WebSubresourceClient connection:willSendRequest:redirectResponse:]): Let
2770         WebCore know about redirects.
2771
2772 2003-12-01  Richard Williamson   <rjw@apple.com>
2773
2774         Moved grungy polling code from WebKit to the JavaPlugin.
2775
2776         Reviewed by Chris.
2777
2778         * WebCoreSupport.subproj/WebBridge.m:
2779         (-[WebBridge pollForAppletInView:]):
2780
2781 2003-12-01  Ken Kocienda  <kocienda@apple.com>
2782
2783         Reviewed by John
2784
2785         Fix for this bug:
2786
2787         <rdar://problem/3496873>: Move key event helper functions to WebKit
2788
2789         * Misc.subproj/WebNSEventExtras.h: Add declarations for new key event
2790         helpers.
2791         * Misc.subproj/WebNSEventExtras.m:
2792         (-[NSEvent _web_isKeyEvent:]): Added.
2793         (-[NSEvent _web_isDeleteKeyEvent]): Added.
2794         (-[NSEvent _web_isEscapeKeyEvent]): Added.
2795         (-[NSEvent _web_isOptionTabKeyEvent]): Added.
2796         (-[NSEvent _web_isReturnOrEnterKeyEvent]): Added.
2797         (-[NSEvent _web_isTabKeyEvent]): Added.
2798         * WebKit.pbproj/project.pbxproj: Made WebNSEventExtras.h a private header
2799         so WebBrowser can use the new helpers.
2800
2801 === Safari-115 ===
2802
2803 2003-11-21  Maciej Stachowiak  <mjs@apple.com>
2804
2805         Reviewed by Ken.
2806
2807         WebKit part of fix for:
2808         
2809         <rdar://problem/3487134>: Implement http request/response status and headers for XMLHttpRequest
2810         
2811         * WebCoreSupport.subproj/WebBridge.m:
2812         (-[WebBridge startLoadingResource:withURL:customHeaders:]): Added customHeaders
2813         parameter.
2814         (-[WebBridge startLoadingResource:withURL:customHeaders:postData:]): Ditto.
2815         * WebCoreSupport.subproj/WebSubresourceClient.h:
2816         * WebCoreSupport.subproj/WebSubresourceClient.m:
2817         (+[WebSubresourceClient startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]): Add the custom headers.
2818         (+[WebSubresourceClient startLoadingResource:withURL:customHeaders:referrer:forDataSource:]): Pass along the custom headers.
2819         (+[WebSubresourceClient startLoadingResource:withURL:customHeaders:postData:referrer:forDataSource:]): Pass along the custom headers.
2820
2821 2003-11-21  John Sullivan  <sullivan@apple.com>
2822
2823         - WebKit part of fix for <rdar://problem/3333744>: Safari prints page with 
2824         very, very long line very, very small
2825
2826         Reviewed by Ken.
2827
2828         * WebView.subproj/WebHTMLView.m:
2829         renamed PrintingExtraWidthFactor to PrintingMinimumShrinkFactor, added
2830         PrintingMaximumShrinkFactor of 2.0, which matches IE
2831         (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]):
2832         now takes a min and max page width; passes them along to bridge
2833         (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
2834         now takes a min and max page width; passes them along to layoutTo...
2835         (-[WebHTMLView _scaleFactorForPrintOperation:]):
2836         now takes PrintingMaximumScaleFactor into account
2837         (-[WebHTMLView knowsPageRange:]):
2838         now takes PrintingMaximumScaleFactor into account
2839
2840         (-[WebHTMLView layout]):
2841         pass 0 for maximumPageWidth when passing 0 for minimumPageWidth
2842         (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]):
2843         ditto
2844         (-[WebHTMLView _web_setPrintingModeRecursive]):
2845         ditto
2846         (-[WebHTMLView _web_clearPrintingModeRecursive]):
2847         ditto
2848         (-[WebHTMLView endDocument]):
2849         ditto
2850
2851 2003-11-20  John Sullivan  <sullivan@apple.com>
2852
2853         - WebKit part of <rdar://problem/3183124>: Support page-break-before/after with a value of "always"
2854
2855         Dave and I wrote and reviewed this.
2856
2857         * WebView.subproj/WebHTMLView.m:
2858         (-[WebHTMLView _setPrinting:pageWidth:adjustViewSize:]):
2859         reset page rects when printing status changes
2860         (-[WebHTMLView _availablePaperWidthForPrintOperation:]):
2861         new helper method to compute paper width taking margins into account
2862         (-[WebHTMLView _scaleFactorForPrintOperation:]):
2863         new helper method to compute how much we need to shrink to fit one page across
2864         (-[WebHTMLView _provideTotalScaleFactorForPrintOperation:]):
2865         we overrode this secret internal AppKit method to make shrink-to-fit work;
2866         we wrote bug 3491344 about the need for this to be public.
2867         (-[WebHTMLView knowsPageRange:]):
2868         new method, computes rects and returns YES
2869         (-[WebHTMLView rectForPage:]):
2870         new method, returns rect computed above
2871         (-[WebHTMLView _calculatePrintHeight]):
2872         new method, used by knowsPageRange
2873         
2874         * WebView.subproj/WebHTMLViewPrivate.h:
2875         new pageRects ivar
2876
2877 2003-11-20  Maciej Stachowiak  <mjs@apple.com>
2878
2879         Reviewed by Ken.
2880
2881         - fixed 3490086 - support http post for XMLHttpRequest
2882         
2883         * WebCoreSupport.subproj/WebBridge.m:
2884         (-[WebBridge startLoadingResource:withURL:postData:]):
2885         * WebCoreSupport.subproj/WebSubresourceClient.h:
2886         * WebCoreSupport.subproj/WebSubresourceClient.m:
2887         (+[WebSubresourceClient startLoadingResource:withRequest:referrer:forDataSource:]):
2888         (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
2889         (+[WebSubresourceClient startLoadingResource:withURL:postData:referrer:forDataSource:]):
2890
2891 2003-11-20  Chris Blumenberg  <cblu@apple.com>
2892
2893         Fixed: <rdar://problem/3491229>: Need UI and localized strings for <KEYGEN> support
2894
2895         Reviewed by john.
2896
2897         * ChangeLog:
2898         * English.lproj/Localizable.strings:
2899         * WebCoreSupport.subproj/WebLocalizedStringFactory.h: Added.
2900         * WebCoreSupport.subproj/WebLocalizedStringFactory.m: Added.
2901         (+[WebLocalizedStringFactory createSharedFactory]): new
2902         (-[WebLocalizedStringFactory dealloc]): new
2903         (-[WebLocalizedStringFactory keyGenerationMenuItemTitles]): new
2904         * WebKit.pbproj/project.pbxproj:
2905         * WebView.subproj/WebFrameView.m: call [WebLocalizedStringFactory createSharedFactory]
2906
2907 2003-11-20  Richard Williamson   <rjw@apple.com>
2908
2909         Added spin of event loop during applet lookup poll.  This
2910         is necessary to allow timers and performOnMainThread: methods
2911         a chance to fire.  The plugin depends on these mechanisms during
2912         initialization.
2913
2914         Reviewed by Chris.
2915
2916         * WebCoreSupport.subproj/WebBridge.m:
2917         (-[WebBridge pollForAppletInView:]):
2918
2919 2003-11-20  Ken Kocienda  <kocienda@apple.com>
2920
2921         John and I decided to apply the _web_ prefix to the tab key 
2922         event method in the extras file, but I neglected to do this
2923         before checking in. Fixed now.
2924
2925         * Misc.subproj/WebNSEventExtras.h:
2926         * Misc.subproj/WebNSEventExtras.m:
2927         (-[NSEvent _web_isTabKeyEvent])
2928         * WebView.subproj/WebHTMLView.m:
2929         (-[WebHTMLView keyDown:])
2930
2931 2003-11-20  Ken Kocienda  <kocienda@apple.com>
2932
2933         Reviewed by John
2934
2935         Fix for this bug:
2936
2937         <rdar://problem/3482159>: Tabbing to links gets "stuck" in "style switcher" on zeldman.com
2938
2939         * Misc.subproj/WebNSEventExtras.h: Added.
2940         * Misc.subproj/WebNSEventExtras.m: Added.
2941         (-[NSEvent _isTabKeyEvent]): New helper.
2942         * WebKit.pbproj/project.pbxproj:
2943         * WebView.subproj/WebHTMLView.m: 
2944         (-[WebHTMLView keyDown:]): Pass the key event to super unconditionally
2945         if it is a tab key. This fixes the bug.
2946
2947 2003-11-19  John Sullivan  <sullivan@apple.com>
2948
2949         - WebKit part of fix for:
2950         <rdar://problem/3305671>: Web pages print with 1.25" border without regard to Page 
2951         Setup margin settings
2952
2953         Reviewed by Dave.
2954
2955         * WebView.subproj/WebHTMLView.m:
2956         (-[WebHTMLView beginDocument]):
2957         Lay out the page into a width 25% wider than there's room for on the printed page.
2958         This will make pages that can fit into a thin area be scaled down a little when printed,
2959         which lets them fit on fewer pages. This closely matches what IE and Camino (at least)
2960         do; I used Google as my test page, and the Google logo is now precisely the same size
2961         when printed from Safari as when printed from IE. Pages that don't fit into a thin
2962         area are already causing the printed page to be scaled horizontally to fit, and this
2963         won't affect them.
2964
2965 2003-11-19  Chris Blumenberg  <cblu@apple.com>
2966
2967         Fixed: <rdar://problem/3489935>: Mentioning "to Disk" in context menus such as "Download Linked File To Disk..." is redundant
2968
2969         Reviewed by john.
2970
2971         * English.lproj/Localizable.strings:
2972         * English.lproj/StringsNotToBeLocalized.txt:
2973         * WebView.subproj/WebDefaultContextMenuDelegate.m:
2974         (-[WebDefaultUIDelegate menuItemWithTag:]): use "Download Linked File" and "Download Image"
2975
2976 2003-11-19  Chris Blumenberg  <cblu@apple.com>
2977
2978         Fixed: <rdar://problem/3488783>: Flash at http://www.sjwilson.net/reef/ does not load photos
2979         
2980         Reviewed by rjw.
2981
2982         * Misc.subproj/WebKitNSStringExtras.h:
2983         * Misc.subproj/WebKitNSStringExtras.m:
2984         (-[NSString _web_stringByStrippingReturnCharacters]): new
2985         * Plugins.subproj/WebBaseNetscapePluginView.m:
2986         (-[WebBaseNetscapePluginView requestWithURLCString:]): call _web_stringByStrippingReturnCharacters on the relative string
2987
2988 2003-11-19  Richard Williamson   <rjw@apple.com>
2989
2990         More LiveConnect stuff.  Horrible polling hack that
2991         blocks main thread waiting for applet to fully initialize.
2992
2993         Reviewed by Ken.
2994
2995         * Plugins.subproj/WebPluginController.m:
2996         (-[WebPluginController addPlugin:]):
2997         * WebCoreSupport.subproj/WebBridge.m:
2998         (-[WebBridge pollForAppletInView:]):
2999
3000 2003-11-19  David Hyatt  <hyatt@apple.com>
3001
3002         Make updateScrollers guard non-static, so that it applies only to the view whose scrollers are being
3003         updated.
3004         
3005         Reviewed by darin
3006
3007         * WebView.subproj/WebDynamicScrollBarsView.h:
3008         * WebView.subproj/WebDynamicScrollBarsView.m:
3009         (-[WebDynamicScrollBarsView reflectScrolledClipView:]):
3010
3011 2003-11-18  Richard Williamson   <rjw@apple.com>
3012
3013         More live connect stubs.  We're getting close.
3014
3015         Reviewed by Chris.
3016
3017         * Plugins.subproj/WebPluginController.m:
3018         (-[WebPluginController addPlugin:]):
3019         (-[WebPluginController _delayedGetApplet:]):
3020         * WebView.subproj/WebView.m:
3021         (-[WebView _goToItem:withLoadType:]):
3022
3023 2003-11-17  Darin Adler  <darin@apple.com>
3024
3025         Reviewed by Maciej.
3026
3027         - fixed 3487335: REGRESSION (112-113): "a:b" error message does not cite the URL properly
3028
3029         * Misc.subproj/WebKitErrors.m:
3030         (+[NSError _webKitErrorWithCode:failingURL:]): Call _webKitErrorWithDomain:code:URL:.
3031         (+[NSError _webKitErrorWithDomain:code:URL:]): Call _web_errorWithDomain:code:URL:, instead of using
3032         the deprecated failingURL: flavor.
3033         (-[NSError _initWithPluginErrorCode:contentURLString:pluginPageURLString:pluginName:MIMEType:]):
3034         Change this method to call the other one.
3035         (-[NSError _initWithPluginErrorCode:contentURL:pluginPageURL:pluginName:MIMEType:]): Implement this one,
3036         and put in the NSErrorFailingURLKey, as well as the NSErrorFailingURLStringKey, to match what Foundation
3037         now does for other errors.
3038
3039         * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]):
3040         Change to use the non-deprecated flavor of the NSError call above.
3041
3042         * English.lproj/StringsNotToBeLocalized.txt: Updated for above changes and other recent changes.
3043
3044 2003-11-16  Maciej Stachowiak  <mjs@apple.com>
3045
3046         Reviewed by Dave.
3047
3048         WebKit part of fix for:
3049
3050         <rdar://problem/3131664>: add support for the window.print() command used for "print this page" buttons
3051         
3052         * WebCoreSupport.subproj/WebBridge.m:
3053         (-[WebBridge print]): Call delegate.
3054         * WebView.subproj/WebDefaultUIDelegate.m:
3055         (-[WebDefaultUIDelegate webViewPrint:]): Implemented (do nothing).
3056         * WebView.subproj/WebUIDelegatePrivate.h: Added. Add extra SPI method webViewPrint:
3057         for UI delegate.
3058         * WebKit.pbproj/project.pbxproj: Install WebUIDelegatePrivate.h as private header
3059
3060 2003-11-15  Darin Adler  <darin@apple.com>
3061
3062         Reviewed by John.
3063
3064         - fixes 3457162 -- selecting text during a page load that blows the text field away causes a crash
3065         - fixes 3160035 -- crash or hang if you hold down a button while "go to about:blank soon" test runs
3066         - without causing 3484608 -- REGRESSION: Flash broken at http://www.macromedia.com/
3067
3068         The WebKit part of this fix is making setDefersCallbacks: work. It had succumbed to bit rot.
3069         This has a side effect of not considering a page load done until all the plug-in streams are loaded.
3070         If that's not a good idea, we'll have to keep two separate lists in WebDataSource.
3071
3072         * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate setDataSource:]):
3073         Set the defersCallbacks state from the WebView here so that clients don't have to do it.
3074
3075         * WebView.subproj/WebDataSource.m: (-[WebDataSource _addSubresourceClient:]): Remove call to
3076         set the defersCallbacks state on the subresource client, because the above change obviates it.
3077         (the client/delegate terminology makes it confusing, but it's a subclass). Also loosen the type
3078         so we can call this on clients for plug-in streams too.
3079         (-[WebDataSource _removeSubresourceClient:]): Loosen type here too.
3080         (-[WebDataSource _defersCallbacksChanged]): And here.
3081         * WebView.subproj/WebDataSourcePrivate.h: Loosen type of subresource client so we can pass in the
3082         delegates for plug-in streams too.
3083
3084         * WebView.subproj/WebMainResourceClient.h: Added an _initialRequest field so we can defer the very
3085         first callback, which does not rely on NSURLConnection.
3086         * WebView.subproj/WebMainResourceClient.m:
3087         (-[WebMainResourceClient dealloc]): Release the initial request.
3088         (-[WebMainResourceClient loadWithRequestNow:]): Moved the guts of loadWithRequest in here; to be
3089         used when the request is no longer deferred. Also removed the code to call setDefersCallbacks:
3090         on the connection, and assert that we are only called when callbacks are not deferred. Because
3091         the very first callback was not deferred, we would end up calling setDefersCallbacks:NO on the
3092         WebView, so nothing would be deferred.
3093         (-[WebMainResourceClient loadWithRequest:]): If callbacks are not deferred, then call the
3094         loadWithRequestNow: method, otherwise simply store the request in _initialRequest.
3095         (-[WebMainResourceClient setDefersCallbacks:]): If there is an _initialRequest and we are
3096         ceasing deferral of callbacks, then call the loadWithRequestNow: method.
3097
3098         * Plugins.subproj/WebNetscapePluginStream.m:
3099         (-[WebNetscapePluginStream start]): Call _addSubresourceClient, and then _removeSubresourceClient
3100         if the load fails to even start.
3101         (-[WebNetscapePluginConnectionDelegate connectionDidFinishLoading:]): Call _removeSubresourceClient.
3102         (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]): Call _removeSubresourceClient.
3103
3104         * Plugins.subproj/WebBaseNetscapePluginStream.h: Removed unneeded import.
3105         * Plugins.subproj/WebPluginDatabase.m: Add import needed now that WebBaseNetscapePluginStream.h
3106         imports less than before.
3107
3108 2003-11-16  Maciej Stachowiak  <mjs@apple.com>
3109
3110         Reviewed by John.
3111
3112         - fixed 3362841 - javascript History Object length property is always 0
3113         
3114         * WebCoreSupport.subproj/WebBridge.m:
3115         (-[WebBridge historyLength]): Add one to the length to match other browsers.
3116
3117 2003-11-14  John Sullivan  <sullivan@apple.com>
3118         
3119         - WebKit part of fix for <rdar://problem/3474757>: Safari on-screen text needs review
3120
3121         Reviewed by Ken.
3122
3123         * WebView.subproj/WebDefaultContextMenuDelegate.m:
3124         (-[WebDefaultUIDelegate menuItemWithTag:]):
3125         change "Download Link to Disk" to "Download Linked File to Disk"
3126
3127         * English.lproj/Localizable.strings:
3128         updated for these changes
3129
3130 2003-11-14  Ken Kocienda  <kocienda@apple.com>
3131
3132         Reviewed by John
3133
3134         Fix for this bug:
3135
3136         <rdar://problem/3481701>: Crashes before loading page/no error msg
3137         (forums.pelicanparts.com) Works in IE and Netscape
3138
3139         This fix is really a workaround for this bug:
3140
3141         <rdar://problem/3484937>: Horribly malformed URL crashes when call
3142         is made to CFURLCopyHostName
3143
3144         The fix is to avoid all usages of [NSURL host] by replacing all
3145         such calls with a private URL method added to WebNSURLExtras.
3146
3147         I copied a number of URL methods from the private NSURL
3148         extras file in Foundation to the WebKit URL extras file.
3149
3150         * Misc.subproj/WebNSDataExtras.h: Added. Helper for new URL extras.
3151         * Misc.subproj/WebNSDataExtras.m: Ditto.
3152         (-[NSData _web_isCaseInsensitiveEqualToCString:]): New helper.
3153         * Misc.subproj/WebNSURLExtras.h:
3154         * Misc.subproj/WebNSURLExtras.m:
3155         (-[NSURL _web_hasQuestionMarkOnlyQueryString]): Added.
3156         (-[NSURL _web_schemeSeparatorWithoutColon]): Added.
3157         (-[NSURL _web_dataForURLComponentType:]): Added.
3158         (-[NSURL _web_schemeData]): Added.
3159         (-[NSURL _web_hostData]): Added.
3160         (-[NSURL _web_hostString]): Added.
3161         * WebKit.pbproj/project.pbxproj:
3162         * WebView.subproj/WebView.m:
3163         (-[WebView userAgentForURL:]): Replace call to [NSURL host] with new
3164         extras _web_hostString method.
3165
3166 === Safari-114 ===
3167
3168 2003-11-14  Vicki Murley <vicki@apple.com>
3169
3170         - rolled out Darin's fixes for 3457162 and 3160035, since these changes broke plugins on macromedia.com and disney.go.com
3171
3172         * WebView.subproj/WebBaseResourceHandleDelegate.m:
3173         (-[WebBaseResourceHandleDelegate setDataSource:]):
3174         * WebView.subproj/WebDataSource.m:
3175         (-[WebDataSource _addSubresourceClient:]):
3176         * WebView.subproj/WebMainResourceClient.h:
3177         * WebView.subproj/WebMainResourceClient.m:
3178         (-[WebMainResourceClient dealloc]):
3179         (-[WebMainResourceClient loadWithRequest:]):
3180         (-[WebMainResourceClient setDefersCallbacks:]):
3181
3182 2003-11-14  Darin Adler  <darin@apple.com>
3183
3184         Reviewed by John.
3185
3186         - fixes 3457162 -- selecting text during a page load that blows the text field away causes a crash
3187         - fixes 3160035 -- crash or hang if you hold down a button while "go to about:blank soon" test runs
3188
3189         The WebKit part of this fix is making setDefersCallbacks: work. It had succumbed to bit rot.
3190
3191         * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate setDataSource:]):
3192         Set the defersCallbacks state from the WebView here so that clients don't have to do it.
3193         * WebView.subproj/WebDataSource.m: (-[WebDataSource _addSubresourceClient:]): Remove call to
3194         set the defersCallbacks state on the subresource client, because the above change obviates it.
3195         (the client/delegate terminology makes it confusing, but it's a subclass).
3196
3197         * WebView.subproj/WebMainResourceClient.h: Added an _initialRequest field so we can defer the very
3198         first callback, which does not rely on NSURLConnection.
3199         * WebView.subproj/WebMainResourceClient.m:
3200         (-[WebMainResourceClient dealloc]): Release the initial request.
3201         (-[WebMainResourceClient loadWithRequestNow:]): Moved the guts of loadWithRequest in here; to be
3202         used when the request is no longer deferred. Also removed the code to call setDefersCallbacks:
3203         on the connection, and assert that we are only called when callbacks are not deferred. Because
3204         the very first callback was not deferred, we would end up calling setDefersCallbacks:NO on the
3205         WebView, so nothing would be deferred.
3206         (-[WebMainResourceClient loadWithRequest:]): If callbacks are not deferred, then call the
3207         loadWithRequestNow: method, otherwise simply store the request in _initialRequest.
3208         (-[WebMainResourceClient setDefersCallbacks:]): If there is an _initialRequest and we are
3209         ceasing deferral of callbacks, then call the loadWithRequestNow: method.
3210
3211 2003-11-13  Ken Kocienda  <kocienda@apple.com>
3212
3213         Reviewed by John
3214
3215         Fix for this bug:
3216
3217         <rdar://problem/3483284>: Tabbing to links needs to honor new 
3218         WebKit tab-to-links preference
3219
3220         * WebCoreSupport.subproj/WebBridge.m:
3221         (-[WebBridge dealloc]): Remove self from notification center.
3222         (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]): Now
3223         checks for WebCoreKeyboardAccessTabsToLinks preference.
3224         (-[WebBridge keyboardUIMode]): Adds self to notification center
3225         to pick up changes to WebPreferences.
3226
3227 2003-11-13  Ken Kocienda  <kocienda@apple.com>
3228
3229         Reviewed by John
3230
3231         Fix for this bug:
3232
3233         <rdar://problem/3481719>: WebKit needs preference for tabbing to links
3234
3235         * WebView.subproj/WebPreferences.m:
3236         (+[WebPreferences initialize]): Add initialization of new 
3237         WebKitTabToLinksPreferenceKey.
3238         (-[WebPreferences setTabsToLinks:]): Added preference setter.
3239         (-[WebPreferences tabsToLinks]): Added preference getter.
3240         * WebView.subproj/WebPreferencesPrivate.h: Declared new methods as
3241         SPI on WebPreferences.
3242
3243 2003-11-12  Richard Williamson   <rjw@apple.com>
3244
3245         Fixed 3475082.  Remove unnecessary orderKey before showKey.
3246
3247         Written by Ed Voas.
3248
3249         Reviewed by Richard.
3250
3251         * Carbon.subproj/CarbonWindowAdapter.m:
3252         (-[CarbonWindowAdapter makeKeyWindow]):
3253
3254 2003-11-12  Chris Blumenberg  <cblu@apple.com>
3255
3256         Fixed: <rdar://problem/3482147>: replace _releaseFutureIconForURL assertion with a log statement
3257
3258         Reviewed by rjw.
3259
3260         * Misc.subproj/WebIconDatabase.m:
3261         (-[WebIconDatabase _releaseFutureIconForURL:]):
3262
3263 2003-11-10  Richard Williamson   <rjw@apple.com>
3264
3265         Fixed 3478765.  Use ICU to access unicode properties.
3266         Fixed 3478831.  Unicode property/conversion functions should be 32 bit savvy.
3267         Fixed 3478885.  Remove dead arabic shaping code
3268
3269         Reviewed by Darin.
3270
3271         * Misc.subproj/WebUnicode.h:
3272         * Misc.subproj/WebUnicode.m:
3273         (_unicodeDigitValue):
3274         (_unicodeDirection):
3275         (_unicodeMirrored):
3276         (_unicodeMirroredChar):
3277         (_unicodeLower):
3278         (_unicodeUpper):
3279         (WebKitInitializeUnicode):
3280         (shapeForNextCharacter):
3281         (initializeCharacterShapeIterator):
3282         * Misc.subproj/WebUnicodeTables.m:
3283         * WebCoreSupport.subproj/WebTextRenderer.m:
3284         (widthForNextCharacter):
3285         (fontContainsString):
3286
3287 2003-11-10  Chris Blumenberg  <cblu@apple.com>
3288
3289         Fixed: <rdar://problem/3478351>: Safari: URL Alias on Dock failed to open the 2byte URL
3290
3291         Reviewed by dave.
3292
3293         * Misc.subproj/WebNSURLExtras.m:
3294         (-[NSString _web_mapHostNameWithRange:encode:makeString:]): if the host name is percent-escaped, use CFURLCreateStringByReplacingPercentEscapes
3295
3296 2003-11-10  Richard Williamson   <rjw@apple.com>
3297
3298         Use ICU for upper/lower conversion.  Fixed 3477157, 3478455, 3478456, 3478457, 3478486.
3299         Remaining issues with surrogates (3477159) and Turkish I (3478482).
3300
3301         Reviewed by Ken.
3302
3303         * Misc.subproj/WebUnicode.m:
3304         (_unicodeLower):
3305         (_unicodeUpper):
3306
3307 2003-11-07  Chris Blumenberg  <cblu@apple.com>
3308
3309         Fixed: <rdar://problem/3240778>: add "save" menu item to contextual menu for text pages
3310
3311         Reviewed by darin.
3312
3313         * WebView.subproj/WebTextView.m:
3314         (-[WebTextView menuForEvent:]): Made WebTextView's context menu behavior like WebHTMLView's context menu behavior with regards to selection. If the control-click was on a selection, show menu options for the selection like copy. If it was not on a
3315
3316
3317  selection, show menu options such as save and print. Don't select anything when control-clicking.
3318
3319 2003-11-08  Chris Blumenberg  <cblu@apple.com>
3320
3321         Fixed: <rdar://problem/3478022>: assertion failure while loading WMP content
3322
3323         Reviewed by darin.
3324
3325         * ChangeLog:
3326         * Plugins.subproj/WebNetscapePluginStream.m:
3327         (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): Don't continue if the stream is cancelled in startStreamWithResponse.
3328
3329 2003-11-07  Richard Williamson   <rjw@apple.com>
3330
3331         Fixed 3477067.  Use our case unicode conversion routines.
3332
3333         Reviewed by Ken.
3334
3335         * WebCoreSupport.subproj/WebTextRenderer.m:
3336         (toUpper):
3337
3338 2003-11-06  Richard Williamson   <rjw@apple.com>
3339
3340         Fixed 3476393.  Call scrollPoint: recursively up the view hierarchy to ensure point is visible.
3341
3342         Reviewed by Ken.
3343
3344         * Misc.subproj/WebNSViewExtras.h:
3345         * Misc.subproj/WebNSViewExtras.m:
3346         (-[NSView _web_scrollPointToVisible:fromView:]):
3347         * WebView.subproj/WebHTMLView.m:
3348         (-[WebHTMLView scrollPoint:]):
3349
3350 === Safari-113 ===
3351
3352 2003-11-05  Darin Adler  <darin@apple.com>
3353
3354         Reviewed by Maciej.
3355
3356         - fixed 3473913 -- host names in simple mailto URLs are not getting encoded/decoded correctly yet
3357
3358         * Misc.subproj/WebNSURLExtras.m:
3359         (applyHostNameFunctionToMailToURLString): Handle case where host name is at the end of the string.
3360         (applyHostNameFunctionToURLString): Add the # character to the set of characters that can end
3361         a domain name.
3362
3363 2003-11-05  Richard Williamson   <rjw@apple.com>
3364
3365         Fixed 3413067, 3405797, 3456877
3366         Use ATSUI to render Arabic and Hebrew.
3367
3368         Reviewed by John.
3369
3370         * WebCoreSupport.subproj/WebTextRenderer.m:
3371         (shouldUseATSU):
3372
3373 2003-11-05  John Sullivan  <sullivan@apple.com>
3374
3375         - fixed <rdar://problem/3469791>: Bigger/Smaller commands are 
3376         disabled for HTML Mail in separate window (w/WebKit-111)
3377
3378         Reviewed by Darin.
3379
3380         * WebView.subproj/WebFrameView.m:
3381         (-[WebFrameView acceptsFirstResponder]):
3382         always be willing to become first responder, even if no page
3383         has yet been loaded.
3384         (-[WebFrameView becomeFirstResponder]):
3385         if no page has yet been loaded (so our scrollview refuses
3386         first responder-ness), don't do any special becoming-first-
3387         responder shenanigans.
3388
3389         Also removed obsolete overrides for nextKeyView, nextValidKeyView,
3390         previousKeyView, and previousValidKeyView that are no longer
3391         required now that we handle the key loop more like NSScrollView.
3392
3393         * WebView.subproj/WebFrameViewPrivate.h:
3394         removed now-unused ivar inNextValidKeyView
3395
3396 2003-11-05  Richard Williamson   <rjw@apple.com>
3397
3398         Fixed 3029966.  Animated backgrounds specified in <BODY> don't animate
3399         Fixed 3474824.  Tiled animated GIFs don't animate.
3400         Fixed 3029966.  Animated backgrounds specified with CSS don't animate.
3401
3402         Reviewed by Chris.
3403
3404         * WebCoreSupport.subproj/WebImageRenderer.h:
3405         * WebCoreSupport.subproj/WebImageRenderer.m:
3406         (-[WebImageRenderer nextFrame:]):
3407         (-[WebImageRenderer drawImageInRect:fromRect:]):
3408         (-[WebImageRenderer startAnimationIfNecessary]):
3409         (-[WebImageRenderer tileInRect:fromPoint:]):
3410         * WebView.subproj/WebImageView.m:
3411         (-[WebImageView drawRect:]):
3412
3413 2003-11-05  Chris Blumenberg  <cblu@apple.com>
3414
3415         Fixed: <rdar://problem/3201364>: Safari crashes when hosting carbon plug-in using drag and drop
3416
3417         Reviewed by rjw.
3418
3419         * WebView.subproj/WebView.m:
3420         (-[WebView draggingUpdated:]): return NSDragOperationNone if we're over a plug-in view so the plug-in can handle the drag
3421
3422 2003-11-05  Chris Blumenberg  <cblu@apple.com>
3423
3424         Fixed: <rdar://problem/3474360>: should attempt to resolve symbolic links when choosing "Save Link As..."
3425
3426         Reviewed by kocienda.
3427
3428         * WebView.subproj/WebView.m:
3429         (-[WebView _fileWrapperForURL:]): follow sym links
3430
3431 2003-11-05  Ken Kocienda  <kocienda@apple.com>
3432
3433         Reviewed by Darin
3434
3435         Fix for this bug:
3436
3437         <rdar://problem/3455910>: hitting up or down arrows when focus 
3438         is on a pop-up menu should pop the menu
3439
3440         * WebView.subproj/WebFrameView.m:
3441         (-[WebFrameView keyDown:]): Call super with the event if focus 
3442         is on a pop up button.
3443
3444 2003-11-05  Ken Kocienda  <kocienda@apple.com>
3445
3446         Reviewed by Maciej
3447
3448         Fix for these bugs:
3449
3450         <rdar://problem/3467558>: Cannot tab to form file input widgets
3451         <rdar://problem/3473631>: WebFileButton sends notifications to communicate with WebCore
3452
3453         Tabbing now works for these widgets. While I was in the neighborhood,
3454         I improved the communication mechanism between the WebKit and WebCore
3455         sides of the file button implementation, replacing notifications
3456         with a callback object.
3457
3458         * WebCoreSupport.subproj/WebBridge.m:
3459         (-[WebBridge fileButtonWithDelegate:]): Method now takes a 
3460         delegate object.
3461         * WebCoreSupport.subproj/WebFileButton.h:
3462         * WebCoreSupport.subproj/WebFileButton.m:
3463         (-[WebFileButton initWithBridge:delegate:]):
3464         (-[WebFileButton initWithFrame:]):
3465         (-[WebFileButton dealloc]):
3466         (-[WebFileButton chooseFilename:]): Sends callback rather than posting
3467         a notification.
3468         (-[WebFileButton chooseButtonPressed:]): Ditto.
3469         (-[WebFileButton mouseDown:]):
3470         (-[WebFileButton acceptsFirstResponder]):
3471         (-[WebFileButton becomeFirstResponder]): Make the button subview
3472         first responder.
3473         (-[WebFileButton nextKeyView]): Hook up to WebBridge key view machinery.
3474         (-[WebFileButton previousKeyView]): Ditto.
3475         (-[WebFileButton nextValidKeyView]): Ditto.
3476         (-[WebFileButton previousValidKeyView]): Ditto.
3477         (-[WebFileChooserButton initWithDelegate:]):
3478         (-[WebFileChooserButton nextValidKeyView]): Ditto.
3479         (-[WebFileChooserButton previousValidKeyView]): Ditto.
3480         (-[WebFileChooserButton resignFirstResponder]): Sends a focus change 
3481         callback.
3482
3483 2003-11-04  Darin Adler  <darin@apple.com>
3484
3485         Reviewed by John, except for one bit reviewed by Maciej.
3486
3487         - first step for IDNA support; helper functions for Safari
3488
3489         * Misc.subproj/WebNSURLExtras.h: Add six new methods to manipulate host names directly.
3490         * Misc.subproj/WebNSURLExtras.m:
3491         (applyHostNameFunctionToMailToURLString): Added. Finds host names within a mailto URL.
3492         (applyHostNameFunctionToURLString): Added. Finds host names within a URL.
3493         (collectRangesThatNeedMapping): Added. Builds a list of host name ranges that need mapping.
3494         (collectRangesThatNeedEncoding): Added. Calls the above for encoding.
3495         (collectRangesThatNeedDecoding): Added. Calls the above for decoding.
3496         (mapHostNames): Added. Helper function that does the entire mapping process for a URL.
3497         (+[NSURL _web_URLWithUserTypedString:]): Call mapHostNames to encode after trimming whitespace.
3498         (-[NSURL _web_userVisibleString]): Call mapHostNames to decode after decoding escape sequences.
3499         (-[NSURL _webkit_URLByRemovingFragment]): Removed unneeded redundant NULL check.
3500         (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Added. Workhorse function to call
3501         the IDN functions in the Unicode library.
3502         (-[NSString _web_hostNameNeedsDecodingWithRange:]): Added.
3503         (-[NSString _web_hostNameNeedsEncodingWithRange:]): Added.