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