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