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