[Release] Webkit2-efl-123997_0.11.86
[framework/web/webkit-efl.git] / Source / WebKit / mac / ChangeLog-2002-12-03
1 2002-12-03  Trey Matteson  <trey@apple.com>
2
3         Re-fix of 3113393 - Clients side redirects shouldn't always add item to back/forward list
4         Fix 3116980 - REGRESSION: Back button goes back twice
5         Fix 3099631 - assertion failure at http://www.calendarlive.com/ when pop-up blocking is off
6
7         The earlier fix for the first bug was to consider any redirect happening within one
8         second as a continuation of the previous load.  To fix the regressions I re-cast that
9         fix using a similar, pre-existing mechanism.
10
11         Reviewed by: Richwill
12
13         * WebView.subproj/WebFramePrivate.h:  Nuke shortRedirectComing, rename
14         instantRedirectComing to quickRedirectComing.
15         * WebView.subproj/WebFramePrivate.m:
16         (-[WebFrame _createOrUpdateItem]):  Remove code related to shortRedirectComing,
17         the fix that brought the regressions.
18         (-[WebFrame _setState:]):  Don't cache the page we're leaving if we're doing
19         a redirect (since we don't want the redirecting page in the cache).
20         (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:request:]):  Above rename.
21         (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]):  Above rename.
22         (-[WebFrame _loadURL:intoChild:]):  Comment fix.
23         (-[WebFrame _clientRedirectedTo:delay:fireDate:]):  Use 1 second instead of 0
24         seconds as the metric of a client redirect.  Do not consider whether the frame
25         state is completed as part of the decision.
26         (-[WebFrame _clientRedirectCancelled]):  Above rename.
27
28 2002-12-03  John Sullivan  <sullivan@apple.com>
29
30         Reviewed by: Darin
31
32         - REALLY changed the default state for block pop-ups to be off.
33
34         * WebView.subproj/WebPreferences.m:
35         (+[WebPreferences load]):
36         change default for letting JavaScript open windows automatically
37         to YES
38
39 2002-12-03  Darin Adler  <darin@apple.com>
40
41         - fixed 3117135 -- world leak: drag any image, get a leak of 1 WebFrame
42
43         Reviewed by John.
44
45         * WebView.subproj/WebHTMLView.m:
46         (-[WebHTMLView mouseDragged:]): Retain the URL of the dragged image, not the entire
47         element dictionary. The element dictionary creates a reference cycle since it includes
48         a reference to the WebFrame.
49         (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Use the URL rather than
50         extracting it from the dictionary with a WebElementImageURLKey.
51
52         * WebView.subproj/WebHTMLViewPrivate.h: URL, not element dictionary.
53         * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLViewPrivate dealloc]): Release the
54         URL, not the element dictionary.
55
56 2002-12-03  Richard Williamson   <rjw@apple.com>
57
58         Added a preference to change the page cache size, i.e.:
59         Alexander.app/Contents/MacOS/Alexander -WebKitPageCacheSizePreferenceKey 4
60         
61         Reviewed by: hyatt
62
63         * History.subproj/WebBackForwardList.m:
64         (+[WebBackForwardList setPageCacheSize:]):
65         (+[WebBackForwardList pageCacheSize]):
66         * WebView.subproj/WebPreferences.m:
67         (+[WebPreferences load]):
68         (-[WebPreferences _initialTimedLayoutSize]):
69         (-[WebPreferences _pageCacheSize]):
70         * WebView.subproj/WebPreferencesPrivate.h:
71
72 2002-12-03  Richard Williamson   <rjw@apple.com>
73
74         Fixed 3019986.  Use an array of font families instead of a single
75         font family to support CSS family lists.
76         r=hyatt
77         
78         * Misc.subproj/WebKitNSStringExtras.m:
79         (-[NSString _web_widthForString:font:]):
80         * Misc.subproj/WebStringTruncator.m:
81         (+[WebStringTruncator rightTruncateString:toWidth:withFont:]):
82         (+[WebStringTruncator centerTruncateString:toWidth:withFont:]):
83         * WebCoreSupport.subproj/WebTextRenderer.h:
84         * WebCoreSupport.subproj/WebTextRenderer.m:
85         (-[WebTextRenderer substituteFontForString:families:]):
86         (-[WebTextRenderer substituteFontForCharacters:length:families:]):
87         (-[WebTextRenderer widthForCharacters:length:]):
88         (-[WebTextRenderer drawCharacters:stringLength:fromCharacterPosition:toCharacterPosition:atPoint:withPadding:withTextColor:backgroundColor:rightToLeft:letterSpacing:wordSpacing:fontFamilies:]):
89         (-[WebTextRenderer floatWidthForCharacters:stringLength:characterPosition:]):
90         (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:]):
91         (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:letterSpacing:wordSpacing:fontFamilies:]):
92         (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:fontFamilies:]):
93         * WebCoreSupport.subproj/WebTextRendererFactory.h:
94         * WebCoreSupport.subproj/WebTextRendererFactory.m:
95         (-[WebTextRendererFactory fontWithFamilies:traits:size:]):
96         (-[WebTextRendererFactory fontWithFamily:traits:size:]):
97         (+[WebTextRendererFactory fallbackFontWithTraits:size:]):
98         (-[WebTextRendererFactory cachedFontFromFamily:traits:size:]):
99         (-[WebTextRendererFactory cachedFontFromFamilies:traits:size:]):
100         (-[WebTextRendererFactory rendererWithFamilies:traits:size:]):
101
102 2002-12-03  Chris Blumenberg  <cblu@apple.com>
103
104         Fixed: 3115073 - REGRESSION: plants.com is crashing in WebIconDB with bad retain count
105
106         The plants.com favicon was marked to be removed from disk and thus it had no retain count. The problem was that it was still on disk and _hasIconForIconURL would return YES. If hasIconForIconURL returns YES, its is ok to call  _setIconURL:forSiteURL:. Since there was no retain count, the assert in _setIconURL:forSiteURL: would be hit.
107
108         We now consider icons without retain counts to not exist even if they're on disk.
109
110         * Misc.subproj/WebIconDatabase.m:
111         (-[WebIconDatabase _updateFileDatabase]):
112         (-[WebIconDatabase _setIconURL:forSiteURL:]):
113
114 2002-12-03  Chris Blumenberg  <cblu@apple.com>
115
116         Fixed:
117         3112477 - REGRESSION: dropping image within window loads image in current window
118         Fix: Unregister the parent webview for dragging when the drag starts, reregister after the drag ends.
119
120         3116423 - Dragged images sometimes have the wrong promised-file file type
121         Fix: Make the - [NSView_web_dragPromisedImage...] method take a file type rather than deriving the file type from the URL
122
123         3115768 - REGRESSION: contextual menu item "copy url to clipboard" doesn't work
124         Fix: In [NSPastboard _web_writeURL:andTitle:withOwner:] adding pboard types  doesn't work for the general pasteboard, have to redeclare.
125
126         3116594 - Image on the drag pasteboard shouldn't have applied transparency and scaling
127         Fix: In - [NSView_web_dragPromisedImage...] put the original image on the pboard
128
129         Reviewed by John.
130
131         * Misc.subproj/WebNSPasteboardExtras.m:
132         (-[NSPasteboard _web_writeURL:andTitle:withOwner:]): don't use addTypes as it doesn't work as I expected
133         * Misc.subproj/WebNSViewExtras.h:
134         * Misc.subproj/WebNSViewExtras.m:
135         (-[NSView _web_dragPromisedImage:origin:URL:fileType:title:event:]): put the original image on the pboard, not the drag image
136         * WebView.subproj/WebHTMLView.m:
137         (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]):
138         (-[WebHTMLView mouseDragged:]): call _web_dragPromisedImage
139         (-[WebHTMLView draggedImage:endedAt:operation:]): call -[WebView _reregisterDraggedTypes]
140         * WebView.subproj/WebImageView.m:
141         (-[WebImageView mouseDragged:]): call _web_dragPromisedImage
142         (-[WebImageView draggedImage:endedAt:operation:]): call -[WebView _reregisterDraggedTypes]
143         * WebView.subproj/WebView.m:
144         (-[WebView initWithFrame:]): call _reregisterDraggedTypes
145         (-[WebView draggingEntered:]): simplified, don't need to check drag source
146         * WebView.subproj/WebViewPrivate.h:
147         * WebView.subproj/WebViewPrivate.m:
148         (-[WebView _reregisterDraggedTypes]):
149
150 2002-12-03  Darin Adler  <darin@apple.com>
151
152         - fixed 3114796 -- WORLD LEAKS: 1 WebFrame leaked on trivial source file with <html> tag only
153         (probably fixed a ton of other bugs too, since this always leaks)
154
155         Reviewed by Chris.
156
157         * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _elementAtPoint:]):
158         Added a missing autorelease.
159
160 2002-12-03  Darin Adler  <darin@apple.com>
161
162         Reviewed by Maciej.
163
164         * WebView.subproj/WebView.m: Fixed a pair of strings that conflict.
165         * English.lproj/Localizable.strings: Regenerated.
166         * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
167
168 2002-12-02  Trey Matteson  <trey@apple.com>
169
170         Refined bookmark notifications to be more detailed.  We now have added, removed,
171         willChange and didChange.
172
173         * Bookmarks.subproj/WebBookmarkGroup.h:   New API.
174         * Bookmarks.subproj/WebBookmarkGroup.m:
175         (-[WebBookmarkGroup _sendNotification:forBookmark:children:]):
176         (-[WebBookmarkGroup _setTopBookmark:]):
177         (-[WebBookmarkGroup _bookmarkWillChange:]):
178         (-[WebBookmarkGroup _bookmarkDidChange:]):
179         (-[WebBookmarkGroup _bookmarkChildren:wereAddedToParent:]):
180         (-[WebBookmarkGroup _bookmarkChildren:wereRemovedToParent:]):
181         All just small pieces of flow control for posting the notes.
182         * Bookmarks.subproj/WebBookmarkGroupPrivate.h:  Internal methods for posting the notes.
183         * Bookmarks.subproj/WebBookmarkLeaf.m:
184         (-[WebBookmarkLeaf setTitle:]):  Post da note
185         (-[WebBookmarkLeaf setURLString:]):  Post da note
186         (-[WebBookmarkLeaf description]):  Added for debugging.
187         * Bookmarks.subproj/WebBookmarkList.m:
188         (-[WebBookmarkList setTitle:]):  Post da note
189         (-[WebBookmarkList removeChild:]):  Post da note
190         (-[WebBookmarkList insertChild:atIndex:]):  Post da note
191         * Bookmarks.subproj/WebBookmarkProxy.m:
192         (-[WebBookmarkProxy setTitle:]):  Post da note
193         * English.lproj/StringsNotToBeLocalized.txt:  New strings.
194         * WebKit.exp:   New strings.
195
196 2002-12-02  Maciej Stachowiak  <mjs@apple.com>
197
198         - added original URL field to action dictionary so that policy delegates
199         can avoid prompting over and over on redirects.
200         
201         * WebKit.exp:
202         * WebView.subproj/WebControllerPolicyDelegate.h:
203         * WebView.subproj/WebControllerPolicyDelegate.m:
204         * WebView.subproj/WebDataSource.m:
205         (-[WebDataSource initWithRequest:]):
206         * WebView.subproj/WebDataSourcePrivate.m:
207         (-[WebDataSource _startLoading:]):
208         * WebView.subproj/WebFrame.m:
209         (-[WebFrame loadRequest:]):
210         * WebView.subproj/WebFramePrivate.h:
211         * WebView.subproj/WebFramePrivate.m:
212         (-[WebFrame _actionInformationForNavigationType:event:originalURL:]):
213         (-[WebFrame _checkNavigationPolicyForRequest:dataSource:andCall:withSelector:]):
214         (-[WebFrame _addExtraFieldsToRequest:]):
215         (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]):
216         (-[WebFrame _postWithURL:data:contentType:triggeringEvent:]):
217
218 2002-11-28  Darin Adler  <darin@apple.com>
219
220         * Downloads.subproj/WebDownloadHandler.m:
221         (-[WebDownloadHandler createFileIfNecessary]): Add a FIXME.
222         (-[WebDownloadHandler writeDataForkData:resourceForkData:]): Notify that the file system has
223         changed so the Finder can respond to the size change.
224         (-[WebDownloadHandler finishedLoading]): Notify that the file system has changed now that the
225         download has completed and the files are closed (may be redundant now that we have the above,
226         but will do no harm).
227
228         * Plugins.subproj/WebBaseNetscapePluginView.m:
229         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]):
230         Use _web_isCaseInsensitiveEqualToString instead of lowercaseString.
231
232         * Misc.subproj/WebNSViewExtras.m: Tweak formatting.
233         
234 2002-11-27  Richard Williamson   <rjw@apple.com>
235
236         Fixed 3113393.  Client side redirects that happen <= 1 second
237         update the current back/forward item, rather than creating
238         a new one.
239
240         * WebView.subproj/WebFramePrivate.h:
241         * WebView.subproj/WebFramePrivate.m:
242         (-[WebFrame _addBackForwardItemClippedAtTarget:]):
243         (-[WebFrame _createOrUpdateItem]):
244         (-[WebFrame _createItemTreeWithTargetFrame:clippedAtTarget:]):
245         (-[WebFrame _transitionToCommitted:]):
246         (-[WebFrame _clientRedirectedTo:delay:fireDate:]):
247         (-[WebFrame _clientRedirectCancelled]):
248
249 2002-11-27  Richard Williamson   <rjw@apple.com>
250
251         Fixed measurement error for Ahem font (and any font that
252         has a tiny fractional value). 3112745, 3112742
253          
254         * WebCoreSupport.subproj/WebTextRenderer.m:
255         (-[WebTextRenderer initWithFont:]):
256
257 2002-11-26  Chris Blumenberg  <cblu@apple.com>
258
259         Fixed: 3090834 - Launch WMP (Window Media Player) when encountering WMP content
260
261         Added contentURL to WebPluginError. 
262
263         * Plugins.subproj/WebNetscapePluginDocumentView.m:
264         (-[WebNetscapePluginDocumentView setDataSource:]):
265         * Plugins.subproj/WebNetscapePluginPackage.m:
266         (-[WebNetscapePluginPackage initWithPath:]):
267         * Plugins.subproj/WebNullPluginView.m:
268         (-[WebNullPluginView viewDidMoveToWindow]):
269         * Plugins.subproj/WebPluginError.h:
270         * Plugins.subproj/WebPluginError.m:
271         (-[WebPluginErrorPrivate dealloc]):
272         (-[WebPluginError dealloc]):
273         * WebCoreSupport.subproj/WebBridge.m:
274         (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]):
275         (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURL:]):
276
277 === Alexander-34 ===
278
279 2002-11-26  Richard Williamson   <rjw@apple.com>
280
281         Only cache page if the load has completed.
282         * WebView.subproj/WebFramePrivate.m:
283         (-[WebFrame _setState:]):
284
285 2002-11-26  Chris Blumenberg  <cblu@apple.com>
286
287         Removed some logging.
288
289         * WebView.subproj/WebControllerPrivate.m:
290         (+[WebController _supportedImageMIMETypes]):
291
292 2002-11-26  Chris Blumenberg  <cblu@apple.com>
293
294         Fixed: 3112003 - Show standalone tiffs using AppKit not QT plug-in
295
296         We now dynamically check NSImage for supported image types when registering WebImageView's and WebImageRepresentation's supported MIME types. 
297
298         * WebView.subproj/WebControllerPrivate.h:
299         * WebView.subproj/WebControllerPrivate.m:
300         (+[WebController _supportedImageMIMETypes]): convert NSImage types to mime types
301         * WebView.subproj/WebDataSourcePrivate.m:
302         (+[WebDataSource _repTypes]): use _supportedImageMIMETypes to register mime types of WebImageRepresentation
303         * WebView.subproj/WebViewPrivate.m:
304         (+[WebView _viewTypes]): use _supportedImageMIMETypes to register mime types of WebImageView
305
306 2002-11-26  Chris Blumenberg  <cblu@apple.com>
307
308         Fixed: 3061174 - javascript: URLs sent by plugins don't work
309
310         For "Javascript:" URLs. 
311
312         * Plugins.subproj/WebBaseNetscapePluginView.m:
313         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): lowercase the scheme
314
315 2002-11-26  Richard Williamson   <rjw@apple.com>
316
317         More work on back/forward cache.  It's ready for
318         more general testing.  Although, to be safe I've
319         left it disabled by default for tomorrow's release.
320         It will log when a page is save and restored from
321         the page cache.
322                 
323         * WebCoreSupport.subproj/WebBridge.m:
324         (-[WebBridge saveDocumentToPageCache:]):
325         * WebView.subproj/WebDataSourcePrivate.m:
326         (-[WebDataSource _startLoading:]):
327         (-[WebDataSource _commitIfReady:]):
328         (-[WebDataSource _loadIcon]):
329         * WebView.subproj/WebFramePrivate.h:
330         * WebView.subproj/WebFramePrivate.m:
331         (-[WebFrame _transitionToCommitted:]):
332         (-[WebFrame _setState:]):
333         (-[WebFrame _loadItem:fromItem:withLoadType:]):
334         (-[WebFrame _continueLoadRequestAfterNavigationPolicy:request:]):
335         (-[WebFrame _setProvisionalDataSource:]):
336
337 2002-11-25  Richard Williamson   <rjw@apple.com>
338
339         Cleanup leaking objects in page cache.
340         Cleaned up API a bit.
341         
342         * History.subproj/WebBackForwardList.h:
343         * History.subproj/WebBackForwardList.m:
344         (-[WebBackForwardList dealloc]):
345         (+[WebBackForwardList setUsesPageCache:]):
346         (+[WebBackForwardList usesPageCache]):
347         (+[WebBackForwardList setPageCacheSize:]):
348         (+[WebBackForwardList pageCacheSize]):
349         * History.subproj/WebHistoryItem.h:
350         * History.subproj/WebHistoryItem.m:
351         (-[WebHistoryItem setHasPageCache:]):
352         * WebCoreSupport.subproj/WebBridge.m:
353         (-[WebBridge saveDocumentToPageCache:]):
354         * WebKit.exp:
355         * WebView.subproj/WebFramePrivate.m:
356         (-[WebFrame _canCachePage]):
357         (-[WebFrame _purgePageCache]):
358         (-[WebFrame _setState:]):
359         (-[WebFrame _continueLoadRequestAfterNavigationPolicy:request:]):
360
361 2002-11-25  Richard Williamson   <rjw@apple.com>
362
363         Changed ordering of cachability check.
364         
365         * WebView.subproj/WebFramePrivate.m:
366         (-[WebFrame _setState:]):
367
368 2002-11-25  Richard Williamson   <rjw@apple.com>
369
370         Changes fro back/forward cache.
371         
372         * History.subproj/WebHistoryItem.h:
373         * History.subproj/WebHistoryItem.m:
374         (+[WebHistoryItem setUsePageCache:]):
375         (+[WebHistoryItem usePageCache]):
376         * WebCoreSupport.subproj/WebBridge.m:
377         (-[WebBridge saveDocumentToPageCache:]):
378         * WebView.subproj/WebFramePrivate.h:
379         * WebView.subproj/WebFramePrivate.m:
380         (-[WebFrame _detachFromParent]):
381         (-[WebFrame _canCachePage]):
382         (-[WebFrame _setState:]):
383
384 2002-11-25  Chris Blumenberg  <cblu@apple.com>
385
386         Fixed 2 drag-related crashes. Oops.
387
388         * Misc.subproj/WebNSViewExtras.m:
389         (-[NSView _web_dragPromisedImage:fromOrigin:withURL:title:event:]): put nil at the end of the array list.
390         * WebView.subproj/WebHTMLView.m:
391         (-[WebHTMLView mouseDragged:]): retain self before drag
392
393 2002-11-25  Chris Blumenberg  <cblu@apple.com>
394
395         - Allow missing icons to be restored when going to the page of the missing icon.
396
397         * Misc.subproj/WebIconDatabase.m:
398         (-[WebIconDatabase _setIconURL:forSiteURL:]):
399
400 2002-11-25  Richard Williamson   <rjw@apple.com>
401
402         Changes for back/forward.  Currently disabled.
403
404         * History.subproj/WebHistoryItem.h:
405         * History.subproj/WebHistoryItem.m:
406         (-[WebHistoryItem dealloc]):
407         (-[WebHistoryItem setPageCacheEnabled:]):
408         (-[WebHistoryItem pageCache]):
409         * Misc.subproj/WebKitLogging.h:
410         * Misc.subproj/WebKitLogging.m:
411         * WebCoreSupport.subproj/WebBridge.m:
412         (-[WebBridge saveDocumentToPageCache:]):
413         * WebView.subproj/WebDataSource.m:
414         (-[WebDataSource startLoading]):
415         * WebView.subproj/WebDataSourcePrivate.h:
416         * WebView.subproj/WebDataSourcePrivate.m:
417         (-[WebDataSource _startLoading:]):
418         (-[WebDataSource _startLoading]):
419         (-[WebDataSource _commitIfReady:]):
420         (-[WebDataSource _commitIfReady]):
421         (-[WebDataSource _setStoredInPageCache:]):
422         (-[WebDataSource _storedInPageCache]):
423         * WebView.subproj/WebFramePrivate.h:
424         * WebView.subproj/WebFramePrivate.m:
425         (-[WebFrame _transitionToCommitted:]):
426         (-[WebFrame _canCachePage]):
427         (-[WebFrame _purgePageCache]):
428         (-[WebFrame _setState:]):
429         (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:request:]):
430         (-[WebFrame _continueLoadRequestAfterNavigationPolicy:request:]):
431
432 2002-11-25  Richard Williamson   <rjw@apple.com>
433
434         Fixed exception thrown often when creating mouseover status text (3110186).
435         
436         * WebView.subproj/WebHTMLViewPrivate.m:
437         (-[WebHTMLView _elementAtPoint:]):
438
439 2002-11-25  Darin Adler  <darin@apple.com>
440
441         - fixed a problem I discovered in testing where multiple identical bookmarks confuse us
442
443         * Bookmarks.subproj/WebBookmarkList.m:
444         (-[WebBookmarkList removeChild:]): Use indexOfObjectIdenticalTo: and removeObjectIdenticalTo:
445         instead of containsObject: and removeObject:.
446         (-[WebBookmarkList insertChild:atIndex:]): Use indexOfObjectIdenticalTo: instead of
447         containsObject: in the assertion.
448
449 2002-11-25  Chris Blumenberg  <cblu@apple.com>
450
451         Fixed: 3084350 - No URL flavors provided for images
452
453         * Misc.subproj/WebNSViewExtras.h:
454         * Misc.subproj/WebNSViewExtras.m:
455         (-[NSView _web_dragPromisedImage:fromOrigin:withURL:title:event:]): renamed, simplifies dragging an image
456         (-[WebFilePromiseDragSource initWithSource:]): subclass of NSFilePromiseDragSource, to be used later
457         (-[WebFilePromiseDragSource draggingSource]):
458         (-[WebFilePromiseDragSource dealloc]):
459         * WebView.subproj/WebHTMLView.m:
460         (-[WebHTMLView mouseDragged:]): call _web_dragPromisedImage:fromOrigin:withURL:title:event:, retain self
461         (-[WebHTMLView draggedImage:endedAt:operation:]): added, release self
462         * WebView.subproj/WebImageView.m:
463         (-[WebImageView mouseDragged:]): call _web_dragPromisedImage:fromOrigin:withURL:title:event:, retain self
464         (-[WebImageView draggedImage:endedAt:operation:]): added, release self
465         * WebView.subproj/WebView.m:
466         (-[WebView isDocumentHTML]): call isKindOfClass instead of className
467         (-[WebView draggingEntered:]): check for WebFilePromiseDragSource
468
469 2002-11-24  Trey Matteson  <trey@apple.com>
470
471         Added URLString method to WebHistoryItem to avoid silly conversions between
472         NSURL and NSString.  When the dust settles with our plans for NSURL we can
473         rationalize this API with the rest of WebKit.
474
475         * History.subproj/WebHistoryItem.h:
476         * History.subproj/WebHistoryItem.m:
477         (-[WebHistoryItem URLString]):
478
479 2002-11-24  Chris Blumenberg  <cblu@apple.com>
480
481         Added element keys for the image ALT and link TITLE attributes. This will eventually be used to fix other bugs. Also made WebKit and WebCore use the same element keys to simplify the conversion of the element dictionary.
482
483         * WebView.subproj/WebController.h:
484         * WebView.subproj/WebController.m:
485         * WebView.subproj/WebHTMLViewPrivate.m:
486         (-[WebHTMLView _elementAtPoint:]):
487
488 2002-11-24  Chris Blumenberg  <cblu@apple.com>
489
490         Fixed: 3109945 - Assertion failure in -[WebIconDatabase_largestIconFromDictionary:]
491         Added error strings for download decoding errors.
492
493         * English.lproj/Localizable.strings: Added error strings for download decoding errors
494         * English.lproj/StringsNotToBeLocalized.txt:
495         * Misc.subproj/WebIconDatabase.m:
496         (-[WebIconDatabase _loadIconDictionaries]): tweak
497         (-[WebIconDatabase _updateFileDatabase]): more error checking to prevent assert
498         (-[WebIconDatabase _setIconURL:forSiteURL:]): added asserts to prevent a site URL <-> icon URL mapping without a icon URL -> icon mapping
499         (-[WebIconDatabase _largestIconFromDictionary:]): tweak
500         * Misc.subproj/WebNSPasteboardExtras.m:
501         (-[NSPasteboard _web_writeURL:andTitle:withOwner:]): declare pboard types if none have been declared, else append types
502         * WebView.subproj/WebView.m:
503         (+[WebView initialize]): Added error strings for download decoding errors
504
505 2002-11-24  Maciej Stachowiak  <mjs@apple.com>
506
507         - fixed 3067939 - no support for window.document.lastModified
508
509         * WebView.subproj/WebDataSourcePrivate.m:
510         (-[WebDataSource _commitIfReady]): Pass last modified date to WebCore.
511         * WebView.subproj/WebFramePrivate.m:
512         (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:request:]): Pass
513         nil last modified date.
514
515 2002-11-23  Chris Blumenberg  <cblu@apple.com>
516
517         Fixed: 3109835 - Download errors aren't communicated to client
518
519         Cleaned-up WebMainResourceClient and WebBaseResourceHandleDelegate a little.
520
521         * Misc.subproj/WebIconDatabase.m:
522         (-[WebIconDatabase defaultIconWithSize:]): tweak
523         (-[WebIconDatabase releaseIconForSiteURL:]): don't retain site URL here 
524         (-[WebIconDatabase _setIcon:forIconURL:]): tweak
525         (-[WebIconDatabase _setIconURL:forSiteURL:]): tweak
526         (-[WebIconDatabase _releaseIconForIconURLString:]): retain site URL here 
527         (-[WebIconDatabase _releaseFutureIconForSiteURL:]): tweak
528         (-[WebIconDatabase _sendNotificationForSiteURL:]): tweak
529         * WebView.subproj/WebBaseResourceHandleDelegate.h:
530         * WebView.subproj/WebBaseResourceHandleDelegate.m:
531         (-[WebBaseResourceHandleDelegate cancelWithError:]): made public
532         (-[WebBaseResourceHandleDelegate cancel]): cancel downloads too, call cancelWithError
533         (-[WebBaseResourceHandleDelegate cancelQuietly]): call cancelWithError
534         (-[WebBaseResourceHandleDelegate cancelledError]): tweak
535         (-[WebBaseResourceHandleDelegate notifyDelegatesOfInterruptionByPolicyChange]): tweak
536         * WebView.subproj/WebMainResourceClient.m:
537         (-[WebMainResourceClient receivedError:]): stop downloadHandler if downloading, else notify controller
538         (-[WebMainResourceClient cancel]): call receivedError
539         (-[WebMainResourceClient checkContentPolicyForResponse:andCallSelector:]): tweak
540         (-[WebMainResourceClient handle:didReceiveData:]): stop load for download errors, report error
541         (-[WebMainResourceClient handleDidFinishLoading:]): call didFailLoadingWithError is download error
542         (-[WebMainResourceClient handle:didFailLoadingWithError:]): call receivedError
543
544 2002-11-22  Darin Adler  <darin@apple.com>
545
546         * Misc.subproj/WebCoreStatistics.h:
547         * Misc.subproj/WebCoreStatistics.m:
548         (+[WebCoreStatistics javaScriptRootObjectClasses]):
549         Update for name change -- root object classes, not all live object classes.
550
551 2002-11-22  Chris Blumenberg  <cblu@apple.com>
552
553         Fixed assertion while loading local files.
554
555         * Misc.subproj/WebIconDatabase.m: we don't have icon URLs for files
556         * WebView.subproj/WebDataSourcePrivate.m:
557         (-[WebDataSource _loadIcon]): Only try loading favicon as the root of server if scheme is http or https. This isn't really a feature of other protocols.
558
559 2002-11-22  Chris Blumenberg  <cblu@apple.com>
560
561         * WebView.subproj/WebMainResourceClient.m:
562         (-[WebMainResourceClient continueAfterContentPolicy:response:]): Added a FIXME around saveFilenameForResponse:andRequest: because the API expects a path but is asking for a filename.
563
564 2002-11-22  Chris Blumenberg  <cblu@apple.com>
565
566         Fixed: 3104693 - QT movie doesn't show video while still downloading
567
568         The initial size of plug-in should be 0,0 instead of 1,1 or else we don't get the layout
569
570         * Plugins.subproj/WebNetscapePluginDocumentView.m:
571         (-[WebNetscapePluginDocumentView initWithFrame:]):
572
573 2002-11-22  Chris Blumenberg  <cblu@apple.com>
574
575         Fixed: 3078737 - Crash in -[WebHistoryItem dealloc] after closing last window
576
577         * Misc.subproj/WebIconDatabase.m:
578         (-[WebIconDatabase releaseIconForSiteURL:]): retain the site URL string because it may get released from beneath
579         (-[WebIconDatabase _updateFileDatabase]): tweak
580         (-[WebIconDatabase _iconsForIconURLString:]): disable timings for deployment build
581         (-[WebIconDatabase _setIconURL:forSiteURL:]): tweak
582         (-[WebIconDatabase _releaseIconForIconURLString:]): tweak
583         (-[WebIconDatabase _scaleIcon:toSize:]): disable timings for deployment build
584         * Misc.subproj/WebIconDatabasePrivate.h:
585         * WebView.subproj/WebDataSourcePrivate.m:
586         (-[WebDataSource _updateIconDatabaseWithURL:]): new, does the db binding
587         (-[WebDataSource _loadIcon]): call _updateIconDatabaseWithURL
588
589 2002-11-22  Chris Blumenberg  <cblu@apple.com>
590
591         Attempt to fix: 3078737 - Crash in -[WebHistoryItem dealloc] after closing last window
592         I haven't found anything that would cause the crash. I did some clean-up, added asserts and error messages in hopes that this help me track this down.
593
594         * Misc.subproj/WebIconDatabase.h:
595         * Misc.subproj/WebIconDatabase.m:
596         (-[WebIconDatabase init]):
597         (-[WebIconDatabase iconForSiteURL:withSize:cache:]):
598         (-[WebIconDatabase iconForSiteURL:withSize:]):
599         (-[WebIconDatabase retainIconForSiteURL:]):
600         (-[WebIconDatabase releaseIconForSiteURL:]):
601         (-[WebIconDatabase delayDatabaseCleanup]):
602         (-[WebIconDatabase allowDatabaseCleanup]):
603         (-[WebIconDatabase _iconDictionariesAreGood]):
604         (-[WebIconDatabase _loadIconDictionaries]):
605         (-[WebIconDatabase _updateFileDatabase]):
606         (-[WebIconDatabase _hasIconForSiteURL:]):
607         (-[WebIconDatabase _iconsForIconURLString:]):
608         (-[WebIconDatabase _iconForFileURL:withSize:]):
609         (-[WebIconDatabase _setIcon:forIconURL:]):
610         (-[WebIconDatabase _setIconURL:forSiteURL:]):
611         (-[WebIconDatabase _retainIconForIconURLString:]):
612         (-[WebIconDatabase _releaseIconForIconURLString:]):
613         (-[WebIconDatabase _retainFutureIconForSiteURL:]):
614         (-[WebIconDatabase _releaseFutureIconForSiteURL:]):
615         (-[WebIconDatabase _releaseOriginalIconsOnDisk]):
616         (-[WebIconDatabase _sendNotificationForSiteURL:]):
617         (-[WebIconDatabase _addObject:toSetForKey:inDictionary:]):
618         (-[WebIconDatabase _largestIconFromDictionary:]):
619         (-[WebIconDatabase _iconsBySplittingRepresentationsOfIcon:]):
620         (-[WebIconDatabase _iconFromDictionary:forSize:cache:]):
621         (-[WebIconDatabase _scaleIcon:toSize:]):
622         * Misc.subproj/WebIconDatabasePrivate.h:
623         * WebKit.exp:
624         * WebView.subproj/WebDataSourcePrivate.m:
625         (-[WebDataSource _loadIcon]):
626
627 2002-11-22  Richard Williamson   <rjw@apple.com>
628
629         Fixed rendering issues associated with 3100120.
630         We now correctly map surrogate pairs in UTF-16.  khtml still has
631         issues dealing with characters outside BMP.  These are tracked
632         with 3109251 and 3109258.
633         
634         Surrogate pairs are treated as exceptions and have their own character
635         to glyph map.
636         
637         * Misc.subproj/WebUnicode.h:
638         * Misc.subproj/WebUnicode.m:
639         (shapedString):
640         * WebCoreSupport.subproj/WebTextRenderer.h:
641         * WebCoreSupport.subproj/WebTextRenderer.m:
642         (glyphForUnicodeCharacter):
643         (findLengthOfCharacterCluster):
644         (-[WebTextRenderer substituteFontForString:]):
645         (-[WebTextRenderer convertUnicodeCharacters:length:toGlyphs:]):
646         (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:]):
647         (-[WebTextRenderer extendUnicodeCharacterToGlyphMapToInclude:]):
648         (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]):
649
650 2002-11-22  John Sullivan  <sullivan@apple.com>
651
652         * Resources/url_icon.tiff:
653         new generic URL icon -- little blue globe, pretty nice
654
655         * WebKit.exp:
656         removed symbol for WebTextRendererFactory which was in here
657         to support an obsolete SPI hack
658
659 2002-11-22  Trey Matteson  <trey@apple.com>
660
661         Added more detailed notifications on history changes.
662         All changes below are just posting the new notes at the right time.
663
664         * English.lproj/StringsNotToBeLocalized.txt:
665         * History.subproj/WebHistory.h:
666         * History.subproj/WebHistory.m:
667         (-[WebHistory _sendNotification:entries:]):
668         (-[WebHistory addEntry:]):
669         (-[WebHistory removeEntry:]):
670         (-[WebHistory removeEntries:]):
671         (-[WebHistory removeAllEntries]):
672         (-[WebHistory addEntries:]):
673         (-[WebHistory loadHistory]):
674         * WebKit.exp:
675
676 2002-11-22  Richard Williamson   <rjw@apple.com>
677
678         Changed NSString category methods to include _web_ prefix.
679
680         * Misc.subproj/WebKitNSStringExtras.h:
681         * Misc.subproj/WebKitNSStringExtras.m:
682         (-[NSString _web_widthForString:font:]):
683
684 2002-11-22  Richard Williamson   <rjw@apple.com>
685
686         Simplified drawing and measuring SPI for use by Alex.
687
688         * Misc.subproj/WebKitNSStringExtras.h: Added.
689         * Misc.subproj/WebKitNSStringExtras.m: Added.
690         (-[NSString widthForString:font:]):
691         * WebKit.pbproj/project.pbxproj:
692
693 2002-11-21  Chris Blumenberg  <cblu@apple.com>
694
695         Removed workaround for: 3093170 - Handle clients receive data with length 0
696
697         as it's now fixed.
698
699         * Downloads.subproj/WebDownloadHandler.m:
700         (-[WebDownloadHandler receivedData:]): remove workaround
701         * WebView.subproj/WebMainResourceClient.m:
702         (-[WebMainResourceClient handle:didReceiveData:]): added asserts
703
704 2002-11-21  Richard Williamson   <rjw@apple.com>
705
706         A different fix to 3078065 that doesn't depend on the appkit's idea of
707         fixed pitch font.
708         
709         The fix is to adjust the width of all characters that have the same width
710         as the space character to match the adjustment of the space character.
711         This has the slight downside that non-monospace fonts that contain glyphs
712         with the same width as the space character will have an extra adjustment.
713         In practice this is not noticeable as the adjustment is always sub-pixel.
714         Nor of course does this cause any mislayout, as it's done at the lowest
715         level for both measurement and drawing.
716         
717         Until we move kthml internals to floats this will be just fine.
718         
719         * WebCoreSupport.subproj/WebTextRenderer.h:
720         * WebCoreSupport.subproj/WebTextRenderer.m:
721         (widthForGlyph):
722         (-[WebTextRenderer initWithFont:]):
723         (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:]):
724 tAfterNavigationPolicy:request:]):
725
726 2002-11-21  Maciej Stachowiak  <mjs@apple.com>
727
728         * Makefile.am: Pass symroots for this tree to pbxbuild.
729
730 2002-11-21  Chris Blumenberg  <cblu@apple.com>
731
732         Fixed: 3009881 - plugins get mouse-overs even when mouse is in menus
733         Fixed: 3108240 - Loading datasource sometimes doesn't have cancelled error when cancelled
734
735         * Plugins.subproj/WebBaseNetscapePluginView.m:
736         (-[WebBaseNetscapePluginView sendNullEvent]): check if menus are showing
737         (-[WebBaseNetscapePluginView restartNullEvents]): tweak
738         * WebView.subproj/WebDataSourcePrivate.m:
739         (-[WebDataSource _stopLoading]): set cancelled error if main handle is gone
740
741 === Alexander-33 ===
742
743 2002-11-20  Darin Adler  <darin@apple.com>
744
745         * Plugins.subproj/WebBaseNetscapePluginView.m:
746         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]):
747         Unescape the string before executing it, so we don't suffer from bug 3083043
748         here in the javascript: URLs that come from plug-ins.
749
750         * English.lproj/StringsNotToBeLocalized.txt: Update.
751
752 2002-11-20  Chris Blumenberg  <cblu@apple.com>
753
754         Fixed: 3079134 - Throttle plug-ins while in background
755
756         * Plugins.subproj/WebBaseNetscapePluginView.h:
757         * Plugins.subproj/WebBaseNetscapePluginView.m:
758         (-[WebBaseNetscapePluginView sendNullEvent]): new
759         (-[WebBaseNetscapePluginView stopNullEvents]): stops timer
760         (-[WebBaseNetscapePluginView restartNullEvents]): stops timer if there is one, and starts a new one based on window activation state
761         (-[WebBaseNetscapePluginView start]): call restartNullEvents
762         (-[WebBaseNetscapePluginView stop]): call stopNullEvents
763         (-[WebBaseNetscapePluginView windowBecameKey:]): call restartNullEvents
764         (-[WebBaseNetscapePluginView windowResignedKey:]): call restartNullEvents
765         (-[WebBaseNetscapePluginView windowDidMiniaturize:]): call stopNullEvents
766         (-[WebBaseNetscapePluginView windowDidDeminiaturize:]): call restartNullEvents
767         * Plugins.subproj/WebNetscapePluginNullEventSender.h: Removed. No need for another class, use a timer.
768         * Plugins.subproj/WebNetscapePluginNullEventSender.m: Removed. No need for another class, use a timer.
769         * WebKit.pbproj/project.pbxproj:
770
771 2002-11-20  Richard Williamson   <rjw@apple.com>
772
773         Fixed 3107007.  Letter-spacing is causing width to be miscalculated.
774         This also fixed some selection problems.
775         
776         * WebCoreSupport.subproj/WebTextRenderer.m:
777         (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:]):
778
779 2002-11-20  Richard Williamson   <rjw@apple.com>
780
781         Fixed mono spaced fonts to always render with mono spacing! (3078065)
782         
783         * WebCoreSupport.subproj/WebTextRenderer.h:
784         * WebCoreSupport.subproj/WebTextRenderer.m:
785         (widthForGlyph):
786         (-[WebTextRenderer initWithFont:]):
787
788 2002-11-20  Chris Blumenberg  <cblu@apple.com>
789
790         Fixed: 3074926 - crash in BitsToPix() trying to print cnet page
791
792         * Plugins.subproj/WebBaseNetscapePluginView.m:
793         (-[WebBaseNetscapePluginView drawRect:]): disable experimental plug-in printing code.
794
795 2002-11-20  Chris Blumenberg  <cblu@apple.com>
796
797         Minor clean-up, logging and more error checking in plug-in code.
798
799         * Plugins.subproj/WebBaseNetscapePluginStream.m:
800         (-[WebBaseNetscapePluginStream setResponse:]):
801         (-[WebBaseNetscapePluginStream receivedData:]):
802         (-[WebBaseNetscapePluginStream finishedLoadingWithData:]):
803         * Plugins.subproj/npapi.m:
804         (NPN_UserAgent):
805         (NPN_MemFree):
806         (NPN_MemFlush):
807         (NPN_ReloadPlugins):
808
809 2002-11-20  Chris Blumenberg  <cblu@apple.com>
810         
811         Fixed: 3061174 - javascript: URLs sent by plugins don't work
812
813         * Plugins.subproj/WebBaseNetscapePluginView.m:
814         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]):
815
816 2002-11-20  Darin Adler  <darin@apple.com>
817
818         * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
819
820 2002-11-19  Chris Blumenberg  <cblu@apple.com>
821
822         Fixed: 3106061 - REGRESSION: Copy in text view copies all text not just selection
823
824         * Misc.subproj/WebSearchableTextView.m:
825         (-[WebSearchableTextView copy:]):
826
827 2002-11-19  Chris Blumenberg  <cblu@apple.com>
828
829         Fixed: 3092588 - redraw errors in QT controller if window is in background
830
831         We need to send update events after we activate/deactivate after all.
832
833         * Plugins.subproj/WebBaseNetscapePluginView.m:
834         (-[WebBaseNetscapePluginView windowBecameKey:]):
835         (-[WebBaseNetscapePluginView windowResignedKey:]):
836
837 2002-11-19  Chris Blumenberg  <cblu@apple.com>
838
839         Fixed: 3020720 - dropping a folder in the page address makes the folder open in Finder, empties the field
840
841         * Misc.subproj/WebNSPasteboardExtras.m:
842         (-[NSPasteboard _web_bestURL]): Don't accept directories.
843
844 2002-11-19  Chris Blumenberg  <cblu@apple.com>
845
846         Fixed: 3068112 - extra line breaks when copying from source window
847
848         * Misc.subproj/WebSearchableTextView.m:
849         (-[WebSearchableTextView copy:]): Convert CRLF to LF
850
851 2002-11-19  David Hyatt  <hyatt@apple.com>
852
853         Make sure that if the scrollers are shown/hidden that we
854         force an immediate layout, since if we don't, an intervening
855         display can cause us to show scrollbars when they really
856         shouldn't be there.
857         
858         * WebView.subproj/WebDynamicScrollBarsView.m:
859         (-[WebDynamicScrollBarsView updateScrollers]):
860
861 2002-11-19  Chris Blumenberg  <cblu@apple.com>
862
863         Fixed: 3100597 - repro NSArray exception using contextual menu
864
865         * Misc.subproj/WebNSPasteboardExtras.m:
866         (-[NSPasteboard _web_writeURL:andTitle:withOwner:]): more error checking
867
868 2002-11-19  Trey Matteson  <trey@apple.com>
869
870         Just a tweak to the description printout.
871
872         * History.subproj/WebHistoryItem.m:
873         (-[WebHistoryItem description]):
874
875 2002-11-18  Chris Blumenberg  <cblu@apple.com>
876
877         Real fix for: 3104183 - Assert loading www.louisvuitton.com
878
879         Since we don't consider plug-in content as a subresource, attaching plug-in streams to the datasource has no affect on the loading state of the datasource. Both stopLoading on WebFrame and _stopLoading datasource, would not stop plug-ins streams after th
880 e data source was done loading. Because of this, I've decided to not keep a list of plug-in streams attached to the data source and pulled my previous change. To fix this bug, WebBaseResourceHandleDelegate now retains the controller.
881
882         * Plugins.subproj/WebNetscapePluginStream.m:
883         (-[WebNetscapePluginStream start]):
884         (-[WebNetscapePluginStream cancel]):
885         (-[WebNetscapePluginStream handleDidFinishLoading:]):
886         (-[WebNetscapePluginStream handle:didFailLoadingWithError:]):
887         * WebView.subproj/WebBaseResourceHandleDelegate.h:
888         * WebView.subproj/WebBaseResourceHandleDelegate.m:
889         (-[WebBaseResourceHandleDelegate _releaseResources]):
890         (-[WebBaseResourceHandleDelegate setDataSource:]):
891         (-[WebBaseResourceHandleDelegate handle:willSendRequest:]):
892         (-[WebBaseResourceHandleDelegate handleDidFinishLoading:]):
893         (-[WebBaseResourceHandleDelegate handle:didFailLoadingWithError:]):
894         (-[WebBaseResourceHandleDelegate _cancelWithError:]):
895         * WebView.subproj/WebDataSourcePrivate.h:
896         * WebView.subproj/WebDataSourcePrivate.m:
897         (-[WebDataSourcePrivate dealloc]):
898         (-[WebDataSource _stopLoading]):
899         (-[WebDataSource _makeHandleDelegates:deferCallbacks:]):
900         (-[WebDataSource _defersCallbacksChanged]):
901
902 2002-11-18  Chris Blumenberg  <cblu@apple.com>
903
904         Fixed: 3104183 - Assert loading www.louisvuitton.com
905
906         We need to treat plug-in streams like subresources except they don't change the loading state of the data source.
907
908         * Plugins.subproj/WebNetscapePluginStream.m:
909         (-[WebNetscapePluginStream start]): call _addPluginStream
910         (-[WebNetscapePluginStream cancel]): call _removePluginStream
911         (-[WebNetscapePluginStream handleDidFinishLoading:]): call _removePluginStream
912         (-[WebNetscapePluginStream handle:didFailLoadingWithError:]): call _removePluginStream
913         * WebView.subproj/WebDataSourcePrivate.h:
914         * WebView.subproj/WebDataSourcePrivate.m:
915         (-[WebDataSourcePrivate dealloc]): release pluginStreams
916         (-[WebDataSource _addPluginStream:]): just like addSubresourceClient except don't change the loading state.
917         (-[WebDataSource _removePluginStream:]): just like removeSubresourceClient except don't change the loading state.
918         (-[WebDataSource _stopLoading]): stop plug-ins streams
919         (-[WebDataSource _makeHandleDelegates:deferCallbacks:]): 
920         (-[WebDataSource _defersCallbacksChanged]): call _makeHandleDelegates:deferCallbacks: for subresources and plug-in streams.
921
922 2002-11-18  Richard Williamson   <rjw@apple.com>
923
924         Check for usesBackForwardList was excluding all load types.
925         
926         * WebView.subproj/WebFramePrivate.m:
927         (-[WebFrame _transitionToCommitted]):
928
929 2002-11-18  Chris Blumenberg  <cblu@apple.com>
930
931         Fixed: 3098767 - REGRESSION: standalone quicktime content just shows blank window
932
933         Check the instance not the class for the class type.
934
935         * Plugins.subproj/WebNetscapePluginRepresentation.m:
936         (-[WebNetscapePluginRepresentation receivedData:withDataSource:]):
937
938 2002-11-18  Ken Kocienda  <kocienda@apple.com>
939
940         Added feature to import bookmarks/favorites from MSIE. This
941         fixes Radar 2961230 (import Mac IE bookmarks).
942
943         * Bookmarks.subproj/WebBookmarkImporter.h: Added.
944         * Bookmarks.subproj/WebBookmarkImporter.m: Added.
945         (_breakStringIntoLines):
946         (_HREFRangeFromSpec):
947         (_HREFTextFromSpec):
948         (_linkTextRangeFromSpec):
949         (_linkTextFromSpec):
950         (-[WebBookmarkImporter initWithPath:group:]):
951         (-[WebBookmarkImporter topBookmark]):
952         (-[WebBookmarkImporter error]):
953         (-[WebBookmarkImporter dealloc]):
954         * Bookmarks.subproj/WebBookmarkList.m:
955         (-[WebBookmarkList init]): Create the bookmark list object. This
956         was not created with the -init initializer, causing bookmark lists
957         to fail.
958         * English.lproj/Localizable.strings:
959         * English.lproj/StringsNotToBeLocalized.txt:
960         * WebKit.exp:
961         * WebKit.pbproj/project.pbxproj:
962
963 2002-11-17  Trey Matteson  <trey@apple.com>
964
965         Code cleanup to make some internal methods return autoreleased objects.
966
967         * WebView.subproj/WebFramePrivate.m:
968         (-[WebFrame _addBackForwardItemClippedAtTarget:]):
969         (-[WebFrame _createItem]):
970         (-[WebFrame _createItemTreeWithTargetFrame:clippedAtTarget:]):
971         (-[WebFrame _transitionToCommitted]):
972
973 2002-11-17  Trey Matteson  <trey@apple.com>
974
975         Fixed 3102076 - REGRESSION: infinite recursion involving bridge end
976         Fixed 3100929 - REGRESSION: serverRedirectedForDataSource: not sent on server redirects
977         Fixed 3103381 - REGRESSION: Going back from anchor doesn't restore scroll position
978
979         * WebView.subproj/WebBaseResourceHandleDelegate.m:
980         (-[WebBaseResourceHandleDelegate handle:willSendRequest:]):  Return the copy of the
981         request that we make instead of the original.
982         * WebView.subproj/WebMainResourceClient.m:
983         (-[WebMainResourceClient handle:willSendRequest:]):  Call super after we make our mods
984         to the request, so the copy that super makes for us includes those mods.
985
986         * WebView.subproj/WebFramePrivate.h:  Added new state, WebFrameStateCompleting.
987         * WebView.subproj/WebFramePrivate.m:
988         (-[WebFrame _transitionToLayoutAcceptable]):  Completing state is a NOP.
989         (-[WebFrame _transitionToCommitted]):  Completing state is a NOP.
990         (-[WebFrame _isLoadComplete]):  Go to Completing state before calling [bridge end].
991         Go to Completed state afterwards, only if no new loads started in the meantime.
992         (-[WebFrame _loadItem:fromItem:withLoadType:]):  When doing anchor nav to get to the
993         item, save and restore scroll state, and set the current item.
994         (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:request:]):
995         Reorder the steps so the right scroll state gets saved to the right place.  Also, don't
996         add a backForward item if we're doing a client redirect to an anchor.
997
998 2002-11-17  David Hyatt  <hyatt@apple.com>
999
1000         Back out my previous fix.  I have a better one that is
1001         confined to WebCore.
1002         
1003         * WebView.subproj/WebFramePrivate.m:
1004         (-[WebFrame _isLoadComplete]):
1005
1006 2002-11-17  David Hyatt  <hyatt@apple.com>
1007
1008         The needsdisplay is necessary even for HTML documents.
1009         I over-optimized here.  Fixes the directory.apple.com
1010         regression and the santa clara library regression.
1011         
1012         * WebView.subproj/WebFramePrivate.m:
1013         (-[WebFrame _isLoadComplete]):
1014
1015 2002-11-17  Darin Adler  <darin@apple.com>
1016
1017         - update for change to WebCore API so it never uses NSURL
1018
1019         * WebCoreSupport.subproj/WebBridge.m:
1020         (-[WebBridge createWindowWithURL:frameName:]): Take NSString instead of NSURL.
1021         (-[WebBridge startLoadingResource:withURL:]): Ditto.
1022         (-[WebBridge objectLoadedFromCacheWithURL:response:size:]): Ditto.
1023         (-[WebBridge reportClientRedirectToURL:delay:fireDate:]): Ditto.
1024         (-[WebBridge setIconURL:]): Ditto.
1025         (-[WebBridge setIconURL:withType:]): Ditto.
1026         (-[WebBridge loadURL:reload:triggeringEvent:isFormSubmission:]): Ditto.
1027         (-[WebBridge postWithURL:data:contentType:triggeringEvent:]): Ditto.
1028         (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]): Ditto.
1029         (-[WebBridge userAgentForURL:]): Ditto.
1030         (-[WebBridge requestedURL]): Return NSString instead of NSURL.
1031         (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]): Take NSString instead of NSURL.
1032         (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURL:]): Take NSString instead of NSURL.
1033
1034         * WebCoreSupport.subproj/WebCookieAdapter.m:
1035         (-[WebCookieAdapter cookiesForURL:]): Take NSString instead of NSURL.
1036         (-[WebCookieAdapter setCookies:forURL:policyBaseURL:]): Ditto.
1037
1038         * WebView.subproj/WebDataSourcePrivate.m:
1039         (-[WebDataSource _commitIfReady]): Pass NSString instead of NSURL.
1040         * WebView.subproj/WebFramePrivate.m:
1041         (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:request:]): Pass NSString instead of NSURL
1042         (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): Turn bridge URL into NSURL so we
1043         can call _web_URLByRemovingFragment on it.
1044         * WebView.subproj/WebHTMLViewPrivate.m:
1045         (-[WebHTMLView _elementAtPoint:]): Convert NSString to NSURL when making the WebKit element dictionary.
1046
1047 2002-11-17  Maciej Stachowiak  <mjs@apple.com>
1048
1049         - fixed 2949193 - implement onKeyDown, onKeyPress, and onKeyUp event handlers
1050         
1051         * WebView.subproj/WebHTMLViewPrivate.h:
1052         * WebView.subproj/WebHTMLViewPrivate.m:
1053         (+[WebHTMLView load]): Pose as NSWindow too now.
1054         (-[WebHTMLView _interceptKeyEvent:toView:]): Pass event to WebCore and
1055         see if WebCore wants to block it.
1056         (-[WebNSWindow sendEvent:]): For all key events that would go to a
1057         subview of a WebHTMLView, let the WebHTMLView take a first crack
1058         at it.
1059
1060 2002-11-15  Darin Adler  <darin@apple.com>
1061
1062         - fixed 3079214 -- text/plain page shows up slowly, a few pages at a time
1063
1064         * WebView.subproj/WebTextView.m:
1065         (-[WebTextView initWithFrame:]): Remove unneeded setWidthTracksTextView:, because
1066         that's the default.
1067         (-[WebTextView dataSourceUpdated:]): Replace the thing each time in the RTF case.
1068         (-[WebTextView viewDidMoveToSuperview]): Here's where we resize, but only the width.
1069         Resizing the height was causing the bug.
1070         (-[WebTextView layout]): Do nothing.
1071         (-[WebTextView setAcceptsDrags:]): Update to new name. Since we weren't
1072         importing WebDocument.h, we never noticed that this file got out of sync.
1073         (-[WebTextView acceptsDrags]): Ditto.
1074         (-[WebTextView setAcceptsDrops:]): Ditto.
1075         (-[WebTextView acceptsDrops]): Ditto.
1076
1077         * WebView.subproj/WebDocument.h: Fix typo. It said setAcceptsDrags: twice.
1078
1079 2002-11-15  Darin Adler  <darin@apple.com>
1080
1081         * WebView.subproj/WebFramePrivate.m: Removed a bunch of tabs and fixed indenting.
1082
1083 2002-11-15  Maciej Stachowiak  <mjs@apple.com>
1084
1085         - fixed 3102016 - REGRESSION: Command-clicking on a link can open _two_ windows.
1086         
1087         * WebView.subproj/WebDataSourcePrivate.h:
1088         * WebView.subproj/WebDataSourcePrivate.m:
1089         (-[WebDataSource _setJustOpenedForTargetedLink:]):
1090         (-[WebDataSource _justOpenedForTargetedLink]):
1091         * WebView.subproj/WebFrame.m:
1092         (-[WebFrame findOrCreateFramedNamed:]):
1093         * WebView.subproj/WebFramePrivate.h:
1094         * WebView.subproj/WebFramePrivate.m:
1095         (-[WebFrame _continueAfterNavigationPolicy:]):
1096         (-[WebFrame _loadDataSource:withLoadType:]):
1097         (-[WebFrame _downloadRequest:toPath:]):
1098         (-[WebFrame _setJustOpenedForTargetedLink:]):
1099
1100 2002-11-15  Darin Adler  <darin@apple.com>
1101
1102         * WebView.subproj/WebFramePrivate.m:
1103         (-[WebFrame _checkNavigationPolicyForRequest:dataSource:andCall:withSelector:]):
1104         Give the listener a slightly longer lifetime, to make this API a bit more foolproof.
1105
1106 2002-11-15  Maciej Stachowiak  <mjs@apple.com>
1107
1108         Fix world leak I introduced, and also add an early return when needed.
1109         
1110         * WebView.subproj/WebFramePrivate.m:
1111         (-[WebFrame _invalidatePendingPolicyDecisionCallingDefaultAction:]):
1112         (-[WebFrame _checkNavigationPolicyForRequest:dataSource:andCall:withSelector:]):
1113
1114 2002-11-15  Maciej Stachowiak  <mjs@apple.com>
1115
1116         Make navigation policy asynchronous for real.
1117         
1118         * WebKit.pbproj/project.pbxproj:
1119         * WebView.subproj/WebControllerPolicyDelegate.h:
1120         * WebView.subproj/WebControllerPolicyDelegate.m:
1121         (-[WebPolicyDecisionListenerPrivate initWithTarget:action:]):
1122         (-[WebPolicyDecisionListenerPrivate dealloc]):
1123         (-[WebPolicyDecisionListener usePolicy:]):
1124         (-[WebPolicyDecisionListener _initWithTarget:action:]):
1125         (-[WebPolicyDecisionListener dealloc]):
1126         (-[WebPolicyDecisionListener _invalidate]):
1127         * WebView.subproj/WebControllerPolicyDelegatePrivate.h: Added.
1128         * WebView.subproj/WebDefaultPolicyDelegate.m:
1129         (-[WebDefaultPolicyDelegate decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]):
1130         * WebView.subproj/WebFrame.m:
1131         (-[WebFrame stopLoading]):
1132         * WebView.subproj/WebFramePrivate.h:
1133         * WebView.subproj/WebFramePrivate.m:
1134         (-[WebFramePrivate dealloc]):
1135         (-[WebFrame _invalidatePendingPolicyDecisionCallingDefaultAction:]):
1136         (-[WebFrame _checkNavigationPolicyForRequest:dataSource:andCall:withSelector:]):
1137         (-[WebFrame _continueAfterNavigationPolicy:]):
1138         (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]):
1139         (-[WebFrame _loadDataSource:withLoadType:]):
1140
1141 2002-11-15  Maciej Stachowiak  <mjs@apple.com>
1142
1143         Wrap content policy invocation to look asynchronous.
1144         
1145         * WebView.subproj/WebBaseResourceHandleDelegate.h:
1146         * WebView.subproj/WebMainResourceClient.m:
1147         (-[WebMainResourceClient continueAfterContentPolicy:response:]):
1148         (-[WebMainResourceClient checkContentPolicyForResponse:andCallSelector:]):
1149         (-[WebMainResourceClient handle:didReceiveResponse:]):
1150
1151 2002-11-15  Maciej Stachowiak  <mjs@apple.com>
1152
1153         Refactor so that all invocations of navigation policy are set up
1154         to be asynchronous. However, the actually delegate method is not
1155         async yet.
1156         
1157         * WebView.subproj/WebFramePrivate.h:
1158         * WebView.subproj/WebFramePrivate.m:
1159         (-[WebFrame _checkNavigationPolicyForRequest:dataSource:andCall:withSelector:]):
1160         (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:request:]):
1161         (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]):
1162         (-[WebFrame _continueLoadRequestAfterNavigationPolicy:request:]):
1163         (-[WebFrame _loadDataSource:withLoadType:]):
1164         * WebView.subproj/WebMainResourceClient.h:
1165         * WebView.subproj/WebMainResourceClient.m:
1166         (-[WebMainResourceClient stopLoadingForPolicyChange]):
1167         (-[WebMainResourceClient continueAfterNavigationPolicy:request:]):
1168         (-[WebMainResourceClient handle:willSendRequest:]):
1169         (-[WebMainResourceClient handle:didReceiveResponse:]):
1170
1171 2002-11-14  Maciej Stachowiak  <mjs@apple.com>
1172
1173         Refactor things a bit so all loads bottleneck through a single
1174         method (_loadDataSource:withLoadType:).
1175         
1176         * WebView.subproj/WebFrame.m:
1177         (-[WebFrame loadRequest:]):
1178         (-[WebFrame reload]):
1179         * WebView.subproj/WebFramePrivate.h:
1180         * WebView.subproj/WebFramePrivate.m:
1181         (-[WebFrame _loadItem:fromItem:withLoadType:]):
1182         (-[WebFrame _loadRequest:triggeringAction:loadType:]):
1183         (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]):
1184         (-[WebFrame _postWithURL:data:contentType:triggeringEvent:]):
1185         (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]):
1186         (-[WebFrame _loadDataSource:withLoadType:]):
1187         (-[WebFrame _downloadRequest:toPath:]):
1188
1189 2002-11-14  Maciej Stachowiak  <mjs@apple.com>
1190
1191         Change things so the public interface to loading is loadRequest:
1192         and everything else is private.
1193         
1194         * Plugins.subproj/WebBaseNetscapePluginView.m:
1195         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]):
1196         * Plugins.subproj/WebPluginController.m:
1197         (-[WebPluginController showURL:inFrame:]):
1198         * WebView.subproj/WebController.h:
1199         * WebView.subproj/WebController.m:
1200         (-[WebController init]):
1201         * WebView.subproj/WebControllerPrivate.m:
1202         (-[WebController _createFrameNamed:inParent:allowsScrolling:]):
1203         (-[WebController _downloadURL:toPath:]):
1204         * WebView.subproj/WebFrame.h:
1205         * WebView.subproj/WebFrame.m:
1206         (-[WebFrame init]):
1207         (-[WebFrame initWithName:webView:controller:]):
1208         (-[WebFrame loadRequest:]):
1209         (-[WebFrame reload]):
1210         * WebView.subproj/WebFramePrivate.h:
1211         * WebView.subproj/WebFramePrivate.m:
1212         (-[WebFrame _timedLayout:]):
1213         (-[WebFrame _clearProvisionalDataSource]):
1214         (-[WebFrame _loadItem:fromItem:withLoadType:]):
1215         (-[WebFrame _loadRequest:triggeringAction:]):
1216         (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]):
1217         (-[WebFrame _itemForRestoringDocState]):
1218         (-[WebFrame _setProvisionalDataSource:]):
1219         (-[WebFrame _startLoading]):
1220         (-[WebFrame _downloadRequest:toPath:]):
1221         * WebView.subproj/WebMainResourceClient.m:
1222         (-[WebMainResourceClient handle:willSendRequest:]):
1223         (-[WebMainResourceClient stopLoadingAfterContentPolicy]):
1224         (-[WebMainResourceClient handle:didReceiveResponse:]):
1225         * WebView.subproj/WebView.m:
1226         (-[WebView concludeDragOperation:]):
1227
1228 2002-11-14  David Hyatt  <hyatt@apple.com>
1229
1230         Move text measurement and layout beyond onload.  This
1231         shoudl speed up i-bench substantially and morrison's
1232         PLT test slightly.  Note that the adjustFrames layout
1233         stuff has been removed from isLoadComplete.
1234         
1235         * WebView.subproj/WebFramePrivate.m:
1236         (-[WebFrame _timedLayout:]):
1237         (-[WebFrame _isLoadComplete]):
1238
1239 2002-11-14  Darin Adler  <darin@apple.com>
1240
1241         * English.lproj/Localizable.strings: Updated to include the new
1242         error messages that Maciej just added. I wonder what effect this
1243         will have if we see those errors in Alex-32?
1244
1245 === Alexander-32 ===
1246
1247 2002-11-14  Don Melton  <gramps@apple.com>
1248
1249         * WebView.subproj/WebControllerPolicyDelegate.h:
1250
1251         Added missing semi-colon in definition of WebPolicyDecisionListener to
1252         fix build error.
1253
1254 2002-11-14  Maciej Stachowiak  <mjs@apple.com>
1255
1256         Combined file URL policy with content policy. We don't actually
1257         bother to ask earlier for file URLs yet, since that will make
1258         things more complicated.
1259         
1260         * Misc.subproj/WebKitErrors.h:
1261         * WebView.subproj/WebControllerPolicyDelegate.h:
1262         * WebView.subproj/WebDefaultPolicyDelegate.m:
1263         * WebView.subproj/WebFramePrivate.h:
1264         * WebView.subproj/WebFramePrivate.m:
1265         (-[WebFrame _handleUnimplementablePolicy:errorCode:forURL:]):
1266         (-[WebFrame _continueAfterNavigationPolicyForRequest:dataSource:]):
1267         * WebView.subproj/WebMainResourceClient.h:
1268         * WebView.subproj/WebMainResourceClient.m:
1269         (-[WebMainResourceClient stopLoadingAfterContentPolicy]):
1270         (-[WebMainResourceClient handle:didReceiveResponse:]):
1271         * WebView.subproj/WebView.m:
1272         (+[WebView initialize]):
1273
1274 2002-11-14  Darin Adler  <darin@apple.com>
1275
1276         - fixed 3099240 -- REGRESSION: repro assert d->m_doc->parsing
1277
1278         Make the reload flag pass across the bridge.
1279
1280         * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _commitIfReady]):
1281         Pass a reload flag, based on the load type, to the bridge.
1282         * WebView.subproj/WebFramePrivate.m:
1283         (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): Pass a
1284         reload flag of NO in the anchor case. Preserve reload load types even when
1285         doing client redirects (have to talk with Trey about this tomorrow).
1286
1287 2002-11-14  Darin Adler  <darin@apple.com>
1288
1289         - fixed 3100235 -- nil-deference in khtml::RenderTable at money.cnn.com
1290
1291         * WebView.subproj/WebHTMLView.m: (-[WebHTMLView drawRect:]):
1292         If the WebCore side needs layout, then do layout before trying to draw.
1293
1294 2002-11-13  Trey Matteson  <trey@apple.com>
1295
1296         Fixed client redirects, some more.  The upshot is that they do not
1297         generate two items in the back-forward list.  iBench still works.
1298
1299         * WebCoreSupport.subproj/WebBridge.m:
1300         (-[WebBridge reportClientRedirectTo:delay:fireDate:]):  Call straight to the frame for all impl.
1301         (-[WebBridge reportClientRedirectCancelled]):  Call straight to the frame for all impl.
1302         (-[WebBridge loadURL:reload:triggeringEvent:isFormSubmission:]):
1303         clientRedirect param removed when sending _loadURL: to frame.
1304         * WebView.subproj/WebFramePrivate.h:
1305         * WebView.subproj/WebFramePrivate.m:
1306         (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]):
1307         clientRedirect param  removed. Check our own ivar to know if we are in client redirect case.
1308         (-[WebFrame _loadURL:intoChild:]):
1309         clientRedirect param removed when sending _loadURL: .
1310         (-[WebFrame _clientRedirectedTo:delay:fireDate:]):
1311         Note that we are doing a redirect if time=0 and we're not completed.  Also includes
1312         previous impl moved from Bridge.
1313         (-[WebFrame _clientRedirectCancelled]):  Previous impl moved from Bridge.
1314
1315
1316 2002-11-13  Maciej Stachowiak  <mjs@apple.com>
1317
1318         Pass mime type instead of full response to content policy delegate
1319         method, in preparation for merging it with the file URL policy.
1320         
1321         * WebView.subproj/WebControllerPolicyDelegate.h:
1322         * WebView.subproj/WebDefaultPolicyDelegate.m:
1323         * WebView.subproj/WebMainResourceClient.m:
1324         (-[WebMainResourceClient handle:didReceiveResponse:]):
1325
1326 2002-11-13  Darin Adler  <darin@apple.com>
1327
1328         - fixed 3083982 -- Logging into AOL gives null view
1329
1330         Turns out AOL was using a refresh header, which we were not supporting.
1331
1332         * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _commitIfReady]):
1333         Call openURL: and pass headers in.
1334
1335         * WebView.subproj/WebFramePrivate.m:
1336         (-[WebFrame _loadURL:loadType:clientRedirect:triggeringEvent:isFormSubmission:]):
1337         Pass nil for headers in this case, since we know it's just an anchor change.
1338
1339         - other things
1340
1341         * WebCoreSupport.subproj/WebBridge.h: Remove dataSourceChanged and dataSource
1342         methods. We try to keep the bridge methods down to actual bridging.
1343         * WebCoreSupport.subproj/WebBridge.m: Remove dataSourceChanged altogether,
1344         and move dataSource up in the file.
1345
1346         * WebView.subproj/WebHTMLRepresentation.m:
1347         (-[WebHTMLRepresentation setDataSource:]): Keep the data source around, so we
1348         don't need to ask the bridge for it.
1349         (-[WebHTMLRepresentation documentSource]): Use it here.
1350
1351 2002-11-13  Trey Matteson  <trey@apple.com>
1352
1353         Fixed 3100084 - REGRESSION: web page is not first responder after visiting web page
1354
1355         * WebView.subproj/WebDataSourcePrivate.m:
1356         (-[WebDataSource _commitIfReady]):  Make the rep before _transitionToCommitted.  This is the way it used to be.
1357         (-[WebDataSource _makeRepresentation]):  Don't make the docView here.
1358
1359         * WebView.subproj/WebFramePrivate.m:
1360         (-[WebFrame _transitionToCommitted]):  Make the docView here, after we save the scroll state but before notifying the delegate.
1361
1362 2002-11-13  Darin Adler  <darin@apple.com>
1363
1364         - fixed 3100013 -- REGRESSION: Can't get results from i-Bench anymore
1365
1366         * WebView.subproj/WebFramePrivate.m: (-[WebFrame _isLoadComplete]):
1367         Don't set the state to WebFrameStateComplete if it has already been set
1368         to WebFrameStateProvisional. If it has, that means we already began a new
1369         load; that one is not yet complete.
1370
1371 2002-11-13  John Sullivan  <sullivan@apple.com>
1372
1373         - fixed 3099922 -- REGRESSION: Back button always pops up menu
1374
1375         * Misc.subproj/WebNSViewExtras.h:
1376         * Misc.subproj/WebNSViewExtras.m:
1377         (-[NSView _web_dragShouldBeginFromMouseDown:withExpiration:xHysteresis:yHysteresis:]:
1378         Fixed a copy/paste error I made yesterday -- this method was never
1379         noticing the mouse-up events because it was checking the event type
1380         against the wrong number. Also changed the hysteresis values from
1381         unsigneds to floats (unsigned was just wrong).
1382
1383 2002-11-13  Maciej Stachowiak  <mjs@apple.com>
1384
1385         - fixed 3050447 - Policy handlers have no way of telling client
1386         that the proposed navigation is a form post
1387
1388         Now we pass form submissions through all the normal policy steps.
1389         
1390         * WebCoreSupport.subproj/WebBridge.m:
1391         (-[WebBridge loadURL:reload:triggeringEvent:isFormSubmission:]):
1392         (-[WebBridge postWithURL:data:contentType:triggeringEvent:]):
1393         (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]):
1394         * WebView.subproj/WebDataSourcePrivate.h:
1395         * WebView.subproj/WebDataSourcePrivate.m:
1396         (-[WebDataSourcePrivate dealloc]):
1397         (-[WebDataSource _setTriggeringAction:]):
1398         (-[WebDataSource _triggeringAction]):
1399         (-[WebDataSource _lastCheckedRequest]):
1400         (-[WebDataSource _setLastCheckedRequest:]):
1401         * WebView.subproj/WebFrame.m:
1402         (-[WebFrame setProvisionalDataSource:]):
1403         * WebView.subproj/WebFramePrivate.h:
1404         * WebView.subproj/WebFramePrivate.m:
1405         (-[WebFrame _shouldShowRequest:]):
1406         (-[WebFrame _loadRequest:triggeringAction:]):
1407         (-[WebFrame _actionInformationForNavigationType:event:]):
1408         (-[WebFrame _continueAfterNavigationPolicyForRequest:dataSource:]):
1409         (-[WebFrame _loadURL:loadType:clientRedirect:triggeringEvent:isFormSubmission:]):
1410         (-[WebFrame _loadURL:intoChild:]):
1411         (-[WebFrame _postWithURL:data:contentType:triggeringEvent:]):
1412
1413 2002-11-12  Maciej Stachowiak  <mjs@apple.com>
1414
1415         Combine click policy and URL policy into navigation policy.
1416         
1417         * WebView.subproj/WebControllerPolicyDelegate.h:
1418         * WebView.subproj/WebDefaultPolicyDelegate.h:
1419         * WebView.subproj/WebDefaultPolicyDelegate.m:
1420         (-[WebDefaultPolicyDelegate navigationPolicyForAction:andRequest:inFrame:]):
1421         * WebView.subproj/WebFramePrivate.h:
1422         * WebView.subproj/WebFramePrivate.m:
1423         (-[WebFrame _shouldShowRequest:]):
1424         (-[WebFrame _actionInformationForNavigationType:event:]):
1425         (-[WebFrame _continueAfterFileURLPolicyForRequest:]):
1426         (-[WebFrame _continueAfterNavigationPolicyForRequest:event:]):
1427         (-[WebFrame _loadURL:loadType:clientRedirect:triggeringEvent:]):
1428
1429 2002-11-12  Trey Matteson  <trey@apple.com>
1430
1431         fixed 3096030 - Crash in -[WebBackForwardList goToEntry:] when playing with SnapBack and dictionary.com
1432
1433         * WebView.subproj/WebFramePrivate.m:
1434         (-[WebFrame _isLoadComplete]):  Set state=completed only after we tell the bridge to
1435         end the load.  This allows client redirects to be processed before we think we're complete.
1436         (-[WebFrame _loadURL:loadType:clientRedirect:triggeringEvent:]):
1437         Only process client redirects as such if we are not already complete.  This makes JS driven
1438         navigations after load-time work like the user would expect, as normal navigations.
1439
1440 2002-11-12  Maciej Stachowiak  <mjs@apple.com>
1441
1442         - fixed 3099487 - REGRESSION: dragging an image always puts it in
1443         the download directory
1444         
1445         * WebView.subproj/WebControllerPrivate.h:
1446         * WebView.subproj/WebControllerPrivate.m:
1447         (-[WebController _downloadURL:]): Call _downloadURL:toPath: with nil path.
1448         (-[WebController _downloadURL:toPath:]): New method that
1449         predetermines the path to download to (needed for DnD).
1450         * WebView.subproj/WebHTMLView.m:
1451         (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Use
1452         _downloadURL:toPath:
1453         * WebView.subproj/WebImageView.m:
1454         (-[WebImageView namesOfPromisedFilesDroppedAtDestination:]): Use
1455         _downloadURL:toPath:
1456         * WebView.subproj/WebMainResourceClient.m:
1457         (-[WebMainResourceClient handle:didReceiveResponse:]): Don't ask
1458         delegate for download path if we already have one.
1459
1460 2002-11-12  Richard Williamson  <rjw@apple.com>
1461
1462         Fixed likely cause of 3099047 (and others).  Width buffer could underrun in
1463         some situations.
1464         
1465         * WebCoreSupport.subproj/WebTextRenderer.m:
1466         (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:]):
1467
1468 2002-11-12  John Sullivan  <sullivan@apple.com>
1469
1470         * Misc.subproj/WebNSViewExtras.h:
1471         * Misc.subproj/WebNSViewExtras.m:
1472         (-[NSView _web_dragShouldBeginFromMouseDown:withExpiration:xHysteresis:yHysteresis:]):
1473         new method
1474         (-[NSView _web_dragShouldBeginFromMouseDown:withExpiration:]):
1475         now calls the new method, passing the default hysteresis values
1476
1477 2002-11-12  Richard Williamson  <rjw@apple.com>
1478
1479         Implemented letter-spacing and word-spacing CSS properties.
1480
1481         * Misc.subproj/WebStringTruncator.m:
1482         (+[WebStringTruncator rightTruncateString:toWidth:withFont:]):
1483         (+[WebStringTruncator centerTruncateString:toWidth:withFont:]):
1484         * WebCoreSupport.subproj/WebTextRenderer.h:
1485         * WebCoreSupport.subproj/WebTextRenderer.m:
1486         (-[WebTextRenderer widthForCharacters:length:]):
1487         (-[WebTextRenderer drawCharacters:stringLength:fromCharacterPosition:toCharacterPosition:atPoint:withPadding:withTextColor:backgroundColor:rightToLeft:letterSpacing:wordSpacing:]):
1488         (-[WebTextRenderer floatWidthForCharacters:stringLength:characterPosition:]):
1489         (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:]):
1490         (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:letterSpacing:wordSpacing:]):
1491         (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:]):
1492
1493 2002-11-12  Maciej Stachowiak  <mjs@apple.com>
1494
1495         Removed policy classes and instead use the policy enums directly,
1496         since we no longer hold the path in the enum.
1497         
1498         * Downloads.subproj/WebDownloadHandler.m:
1499         * WebKit.exp:
1500         * WebKit.pbproj/project.pbxproj:
1501         * WebView.subproj/WebControllerPolicyDelegate.h:
1502         * WebView.subproj/WebControllerPolicyDelegate.m:
1503         * WebView.subproj/WebControllerPolicyDelegatePrivate.h: Removed.
1504         * WebView.subproj/WebControllerPrivate.m:
1505         * WebView.subproj/WebDefaultPolicyDelegate.h:
1506         * WebView.subproj/WebDefaultPolicyDelegate.m:
1507         (+[WebDefaultPolicyDelegate defaultURLPolicyForRequest:]):
1508         (-[WebDefaultPolicyDelegate URLPolicyForRequest:inFrame:]):
1509         (-[WebDefaultPolicyDelegate fileURLPolicyForMIMEType:andRequest:inFrame:]):
1510         (-[WebDefaultPolicyDelegate unableToImplementPolicy:error:forURL:inFrame:]):
1511         (-[WebDefaultPolicyDelegate clickPolicyForAction:andRequest:inFrame:]):
1512         * WebView.subproj/WebFramePrivate.m:
1513         (-[WebFrame handleUnimplementablePolicy:errorCode:forURL:]):
1514         (-[WebFrame _shouldShowRequest:]):
1515         (-[WebFrame _continueAfterClickPolicyForEvent:request:]):
1516         * WebView.subproj/WebMainResourceClient.m:
1517         (-[WebMainResourceClient handle:didReceiveResponse:]):
1518
1519 2002-11-12  Maciej Stachowiak  <mjs@apple.com>
1520
1521         Keep the triggering event around on the data source, so it can be
1522         used with redirects.
1523
1524         * WebView.subproj/WebFramePrivate.m:
1525         (-[WebFrame _loadRequest:triggeringEvent:]):
1526         (-[WebFrame _loadURL:loadType:clientRedirect:triggeringEvent:]):
1527         (-[WebFrame _postWithURL:data:contentType:]):
1528
1529 2002-11-12  Darin Adler  <darin@apple.com>
1530
1531         - improved the code that manages observing the window and superview
1532
1533         * WebView.subproj/WebHTMLView.m:
1534         (-[WebHTMLView addSuperviewObservers]): Added.
1535         (-[WebHTMLView removeSuperviewObservers]): Added.
1536         (-[WebHTMLView addWindowObservers]): Added.
1537         (-[WebHTMLView removeWindowObservers]): Added.
1538         (-[WebHTMLView viewWillMoveToSuperview:]): Call removeSuperviewObservers.
1539         (-[WebHTMLView viewDidMoveToSuperview]): Call addSuperviewObservers.
1540         (-[WebHTMLView viewWillMoveToWindow:]): Call removeWindowObservers and
1541         removeSuperviewObservers.
1542         (-[WebHTMLView viewDidMoveToWindow]): Call addWindowObservers and
1543         addSuperviewObservers.
1544
1545 2002-11-11  Maciej Stachowiak  <mjs@apple.com>
1546
1547         Remove contentPolicy parameter from _downloadURL, and remove
1548         remaining traces of path from policy object.
1549
1550         * WebView.subproj/WebControllerPolicyDelegate.h:
1551         * WebView.subproj/WebControllerPolicyDelegate.m:
1552         (-[WebPolicyPrivate dealloc]):
1553         (+[WebURLPolicy webPolicyWithURLAction:]):
1554         (+[WebFileURLPolicy webPolicyWithFileAction:]):
1555         (+[WebContentPolicy webPolicyWithContentAction:]):
1556         (+[WebClickPolicy webPolicyWithClickAction:]):
1557         * WebView.subproj/WebControllerPolicyDelegatePrivate.h:
1558         * WebView.subproj/WebControllerPrivate.h:
1559         * WebView.subproj/WebControllerPrivate.m:
1560         (-[WebController _downloadURL:]):
1561         * WebView.subproj/WebDefaultContextMenuDelegate.m:
1562         (-[WebDefaultContextMenuDelegate downloadURL:]):
1563         * WebView.subproj/WebDefaultPolicyDelegate.m:
1564         (-[WebDefaultPolicyDelegate clickPolicyForAction:andRequest:inFrame:]):
1565         * WebView.subproj/WebFramePrivate.m:
1566         (-[WebFrame _continueAfterClickPolicyForEvent:request:]):
1567         * WebView.subproj/WebHTMLView.m:
1568         (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
1569         * WebView.subproj/WebImageView.m:
1570         (-[WebImageView namesOfPromisedFilesDroppedAtDestination:]):
1571         * WebView.subproj/WebMainResourceClient.m:
1572         (-[WebMainResourceClient handle:didReceiveResponse:]):
1573
1574 2002-11-11  Darin Adler  <darin@apple.com>
1575
1576         * Plugins.subproj/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage load]):
1577         Use fileSystemRepresentationWithPath, not cString, to turn a path into something
1578         to pass to FSPathMakeRef.
1579
1580         * English.lproj/StringsNotToBeLocalized.txt: Update.
1581
1582 2002-11-11  Darin Adler  <darin@apple.com>
1583
1584         - tighten up cursor handling a bit more
1585
1586         * WebView.subproj/WebDynamicScrollBarsView.m:
1587         * WebView.subproj/WebHTMLView.m:
1588         (-[WebHTMLView addMouseMovedObserver]): Call _frameOrBoundsChanged
1589         so we emit a mouse moved event right away.
1590         (-[WebHTMLView viewWillMoveToSuperview:]): Remove the colon since I
1591         removed the parameter from _frameOrBoundsChanged.
1592
1593         * WebView.subproj/WebHTMLViewPrivate.h: Declare _frameOrBoundsChanged.
1594         * WebView.subproj/WebHTMLViewPrivate.m:
1595         (-[WebHTMLView _frameOrBoundsChanged]): Remove parameter.
1596
1597 2002-11-11  Trey Matteson  <trey@apple.com>
1598
1599         Fixed 3015884 - Reloading a page should remember the scroll position
1600
1601         * WebView.subproj/WebFramePrivate.m:
1602         (-[WebFrame _transitionToCommitted]):  Save scroll position on reload
1603         (-[WebFrame _isLoadComplete]):  Restore position on reload
1604
1605 2002-11-11  Trey Matteson  <trey@apple.com>
1606
1607         * History.subproj/WebBackForwardList.m:
1608         (-[WebBackForwardList addEntry:]):  Yank code to avoid adding a duplicate entry, to catch the
1609         refresh case.  That's dealt with in WebFramePrivate now.
1610         (-[WebBackForwardList description]):  Enhanced to print more info.
1611
1612         * History.subproj/WebHistoryItem.h:
1613         History items now hold an array of subitems to mirror the frame tree.  One item in the tree
1614         is designated the target of the navigation.
1615         * History.subproj/WebHistoryItem.m:
1616         (-[WebHistoryItem dealloc]):  Release new ivars.
1617         (-[WebHistoryItem isTargetItem]):
1618         (-[WebHistoryItem setIsTargetItem:]):
1619         New setter and setter.
1620         (-[WebHistoryItem _recurseToFindTargetItem]):
1621         (-[WebHistoryItem targetItem]):
1622         Search the tree to find the target item.
1623         (-[WebHistoryItem children]):
1624         (-[WebHistoryItem addChildItem:]):
1625         (-[WebHistoryItem childItemWithName:]):
1626         Maintain and search new child item list.
1627         (-[WebHistoryItem description]):
1628         Enhanced to print out the tree of items.
1629         (-[WebHistoryItem dictionaryRepresentation]):
1630         (-[WebHistoryItem initFromDictionaryRepresentation:]):
1631         Save and load the new state.
1632
1633         * WebCoreSupport.subproj/WebBridge.m:
1634         (-[WebBridge generateFrameName]):  New call from KWQ, just forwards to Frame.
1635         (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]):
1636         Call new frame method dedicated to this case.
1637         (-[WebBridge saveDocumentState:]):
1638         (-[WebBridge documentState]):
1639         Call frame methods to get the right item to save/restore to/from.
1640
1641         * WebView.subproj/WebController.m:
1642         (-[WebController _goToItem:withLoadType:]):  Stop any current loading before going to a new item.
1643         (-[WebController goBack]):
1644         (-[WebController goForward]):
1645         (-[WebController goBackOrForwardToItem:]):  Name change of private method (for consistency)
1646
1647         * WebView.subproj/WebDataSourcePrivate.h:
1648         ProvisionalItem and PreviousItem are moved back up to WebFrame, where we know more about the
1649         state transitions that happen during loading.
1650         * WebView.subproj/WebDataSourcePrivate.m:
1651         (-[WebDataSourcePrivate dealloc]): Don't release removed ivars.
1652         (-[WebDataSource _commitIfReady]): Make the view representations -after- the transition to committed.
1653         This allows us to save away the scroll location successfully, since making the view was resetting it.
1654         * WebView.subproj/WebFrame.h:
1655         * WebView.subproj/WebFrame.m:
1656         (-[WebFrame setProvisionalDataSource:]):  Saving the scroll location has moved elsewhere to handle frames.
1657         (-[WebFrame stopLoading]):  Skip all the work if we're already state=complete.
1658
1659         * WebView.subproj/WebFramePrivate.h:
1660         The frame now holds a ref to the current, previous and provisional back-forward items.
1661         * WebView.subproj/WebFramePrivate.m:
1662         (-[WebFramePrivate dealloc]):  Release new state.
1663         (-[WebFramePrivate setProvisionalItem:]):
1664         (-[WebFramePrivate setPreviousItem:]):
1665         (-[WebFramePrivate setCurrentItem:]):   New setters (1 line getters were missed by script)
1666         (-[WebFrame _addBackForwardItemClippedAtTarget:]):  Adds a BF item to the top of the BF list.
1667         (-[WebFrame _createItem]):  Create a single BF item.
1668         (-[WebFrame _createItemTreeWithTargetFrame:clippedAtTarget:]):  Create a tree of BF items, which
1669         mirror the frame tree.
1670         (-[WebFrame _immediateChildFrameNamed:]):  New frame search utility (doesn't recurse)
1671         (-[WebFrame _detachFromParent]):  Save the scroll position when detaching a frame.
1672         (-[WebFrame _transitionToCommitted]):  Maintain new item ivars.  Save scroll position when
1673         appropriate.  Hook up items for child frames to their parent, as they are created.
1674         (-[WebFrame _setState:]):  Clear previousItem whenever we reach committed.
1675         (-[WebFrame _isLoadComplete]):  Clear previousItem if we are committed.
1676         (-[WebFrame _childFramesMatchItem:]):  Does the frame's frame tree match the one held by the item?
1677         (-[WebFrame _loadItem:fromItem:withLoadType:]):  Only do simple anchor navigation if the frame
1678         has no children (fixes oddball corner case with a frame reloading itself).  Set provisional item.
1679         (-[WebFrame _recursiveGoToItem:fromItem:withLoadType:]):  Heart of returning to an item that had
1680         frames.  We either find that the existing content is good, or initiate a load.
1681         (-[WebFrame _goToItem:withLoadType:]):  Adjust the BF list cursor, and recurse to do the work.
1682         (-[WebFrame _loadURL:loadType:clientRedirect:triggeringEvent:]):  Only do anchor-style nav if
1683         the destination URL has a fragment.  Save scroll position.
1684         (-[WebFrame _loadURL:intoChild:]):  If returning to an item with frames, possibly replace the
1685         new content with the stuff that was there at the time, substituting the URL.
1686         (-[WebFrame _saveScrollPositionToItem:]):  Don't croak on nil item or view.
1687         (-[WebFrame _restoreScrollPosition]):  Do croak (ASSERT) on nil item.
1688         (-[WebFrame _scrollToTop]):  Nit cleanup.
1689         (-[WebFrame _addFramePathToString:]):  Add a component for our frame to the frame name we're generating.
1690         (-[WebFrame _generateFrameName]):  Generate a frame name that is repeatable.
1691         (-[WebFrame _itemForSavingDocState]):  Returns correct item to use for formstate save.
1692         (-[WebFrame _itemForRestoringDocState]):  Returns correct item to use for formstate restore
1693
1694 2002-11-11  Maciej Stachowiak  <mjs@apple.com>
1695
1696         Store path and the fact that we're downloading in the data source,
1697         instead of storing the content policy.
1698         
1699         * Downloads.subproj/WebDownloadHandler.m:
1700         (-[WebDownloadHandler cleanUpAfterFailure]):
1701         (-[WebDownloadHandler createFileIfNecessary]):
1702         (-[WebDownloadHandler finishedLoading]):
1703         * WebView.subproj/WebControllerPrivate.m:
1704         (-[WebController _downloadURL:withContentPolicy:]):
1705         * WebView.subproj/WebDataSource.h:
1706         * WebView.subproj/WebDataSource.m:
1707         (+[WebDataSource registerRepresentationClass:forMIMEType:]):
1708         (-[WebDataSource isDownloading]):
1709         (-[WebDataSource downloadPath]):
1710         * WebView.subproj/WebDataSourcePrivate.h:
1711         * WebView.subproj/WebDataSourcePrivate.m:
1712         (-[WebDataSourcePrivate dealloc]):
1713         (-[WebDataSource _commitIfReady]):
1714         (-[WebDataSource _setIsDownloading:]):
1715         (-[WebDataSource _setDownloadPath:]):
1716         * WebView.subproj/WebMainResourceClient.m:
1717         (-[WebMainResourceClient receivedError:]):
1718         (-[WebMainResourceClient handle:didReceiveResponse:]):
1719         (-[WebMainResourceClient handleDidFinishLoading:]):
1720
1721 2002-11-11  Maciej Stachowiak  <mjs@apple.com>
1722
1723         Don't ask for the content policy any more if the previous policies
1724         said to save - in effect this means to ask only if the previous
1725         policies said to use the content policy. Also, remove now-useless
1726         previous content policy parameter from content policy delegate.
1727         
1728         * WebView.subproj/WebControllerPolicyDelegate.h:
1729         * WebView.subproj/WebDataSourcePrivate.m:
1730         (-[WebDataSource _setContentPolicy:]): Retain new policy before
1731         releasing the old one.
1732         * WebView.subproj/WebDefaultPolicyDelegate.m:
1733         * WebView.subproj/WebMainResourceClient.m:
1734         (-[WebMainResourceClient handle:didReceiveResponse:]): Don't ask
1735         for content policy if the delegate already decided to save.
1736
1737 2002-11-11  Maciej Stachowiak  <mjs@apple.com>
1738
1739         Added new policy delegate callback to get the filename - this
1740         won't be up to the content policy any more.
1741         
1742         * WebView.subproj/WebControllerPolicyDelegate.h:
1743         * WebView.subproj/WebDefaultPolicyDelegate.m:
1744         (-[WebDefaultPolicyDelegate saveFilenameForResponse:andRequest:]):
1745         * WebView.subproj/WebMainResourceClient.m:
1746         (-[WebMainResourceClient handle:didReceiveResponse:]):
1747
1748 2002-11-11  Darin Adler  <darin@apple.com>
1749
1750         - made some improvements to cursor setting for greater speed and correctness
1751
1752         * WebView.subproj/WebDynamicScrollBarsView.m:
1753         (-[WebDynamicScrollBarsView setCursor:]): Just use setDocumentCursor: instead of
1754         our own logic. This allows us to remove code and may fix some bugs or anomalies as well.
1755         (-[WebDynamicScrollBarsView dealloc]): Release the cursor. I think we were leaking before.
1756
1757         * WebView.subproj/WebHTMLView.m:
1758         (-[WebHTMLView viewWillMoveToSuperview:]): Use _frameOrBoundsChanged: method now, which
1759         has been moved into the private file.
1760         (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]): Don't bother finding
1761         topmost WebHTMLView to call _updateMouseoverWithEvent: on; now it works fine no matter
1762         which level it's called at.
1763
1764         * WebView.subproj/WebHTMLViewPrivate.m:
1765         (-[WebHTMLView _frameOrBoundsChanged:]): Moved the code here that was formerly in the
1766         _setNeedsLayoutIfSizeChanged method, also added code that does _updateMouseoverWithEvent:
1767         so that we get properly updated cursor when we scroll.
1768         (-[WebHTMLView _updateMouseoverWithEvent:]): Remove unneeded assert. This method works
1769         equally well no matter which WebHTMLView calls it; everything is done at the window and
1770         controller level.
1771
1772         * WebView.subproj/WebControllerPrivate.h: Added lastElementWasNotNil field and
1773         _mouseDidMoveOverElement:modifierFlags: method.
1774         * WebView.subproj/WebControllerPrivate.m:
1775         (-[WebController _mouseDidMoveOverElement:modifierFlags:]): Call through to the delegate,
1776         but don't do multiple calls if they are all nil.
1777
1778         * WebCoreSupport.subproj/WebBridge.m: Remove unused modifierTrackingEnabled method.
1779         * WebView.subproj/WebHTMLViewPrivate.h: Remove unused _setModifierTrackingEnabled and
1780         _modifierTrackingEnabled methods.
1781
1782 2002-11-10  Darin Adler  <darin@apple.com>
1783
1784         * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
1785
1786 2002-11-10  Chris Blumenberg  <cblu@apple.com>
1787
1788         Fixed: 3021681 - downloaded files' creation and modification dates are not set
1789
1790         * Downloads.subproj/WebDownloadHandler.m:
1791         (-[WebDownloadHandler createFileIfNecessary]): call [response creationDate] and [response lastModifiedDate] when setting file attributes.
1792         * Plugins.subproj/WebBaseNetscapePluginStream.m:
1793         (-[WebBaseNetscapePluginStream setResponse:]): call [response lastModifiedDate] when giving content to plug-ins.
1794
1795 2002-11-10  Darin Adler  <darin@apple.com>
1796
1797         * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
1798
1799 2002-11-09  Darin Adler  <darin@apple.com>
1800
1801         - fixed 3095156 -- reproducible leak of WebDataSource due to bad URL in stylesheet
1802
1803         * WebCoreSupport.subproj/WebSubresourceClient.m:
1804         (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
1805         Check for errors by looking at the return value from loadWithRequest: rather than
1806         making a separate call to canInitWithRequest.
1807
1808         * WebView.subproj/WebBaseResourceHandleDelegate.h: Add boolean success/failure result
1809         loadWithRequest:.
1810         * WebView.subproj/WebBaseResourceHandleDelegate.m:
1811         (-[WebBaseResourceHandleDelegate loadWithRequest:]): Return NO if we fail to make a handle.
1812
1813         * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _startLoading]):
1814         Check result of loadWithRequest: and complain if it's NO.
1815
1816         * WebView.subproj/WebMainResourceClient.m: Tweak whitespace.
1817
1818 2002-11-09  Chris Blumenberg  <cblu@apple.com>
1819
1820         Fixed: 2991610 - Alexander should support services, including Speech
1821
1822         * WebView.subproj/WebHTMLView.m:
1823         (+[WebHTMLView initialize]): register for service types
1824         (-[WebHTMLView dealloc]): moved to top of file
1825         (-[WebHTMLView copy:]): call _writeSelectionToPasteboard
1826         (-[WebHTMLView writeSelectionToPasteboard:types:]): call _writeSelectionToPasteboard
1827         (-[WebHTMLView validRequestorForSendType:returnType:]): return self for our pboard types
1828         * WebView.subproj/WebHTMLViewPrivate.h:
1829         * WebView.subproj/WebHTMLViewPrivate.m:
1830         (+[WebHTMLView _pasteboardTypes]): new, returns the array of supported pboard types 
1831         (-[WebHTMLView _writeSelectionToPasteboard:]): new, adds data to pboard
1832         * WebView.subproj/WebImageView.m:
1833         (-[WebImageView initialize]): register for service types
1834         (-[WebImageView validateUserInterfaceItem:]): respond to copy
1835         (-[WebImageView validRequestorForSendType:returnType:]): return self for images
1836         (-[WebImageView writeImageToPasteboard:]): writes image data to pboard
1837         (-[WebImageView copy:]): calls writeImageToPasteboard
1838         (-[WebImageView writeSelectionToPasteboard:types:]): calls writeImageToPasteboard
1839
1840 2002-11-08  Darin Adler  <darin@apple.com>
1841
1842         * History.subproj/WebHistoryItem.m:
1843         (-[WebHistoryItem setTitle:]): Use display title if it matches, so
1844         we don't end up with two identical strings, as when reading from
1845         the property list.
1846         (-[WebHistoryItem setDisplayTitle:]): The same thing, the other way round.
1847
1848 2002-11-08  Darin Adler  <darin@apple.com>
1849
1850         - fixed 3095078 -- image loop counts still not handled right
1851
1852         * WebCoreSupport.subproj/WebImageRenderer.m:
1853         (-[WebImageRenderer blockHasGIFExtensionSignature:length:]): Look for the tag
1854         "NETSCAPE2.0", not "NETSCAPE1.0".
1855         (-[WebImageRenderer nextFrame:]): Remove special handling for last frames with
1856         a duration of 0. That was just a misunderstanding.
1857
1858 2002-11-08  Darin Adler  <darin@apple.com>
1859
1860         * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _setRequest:]):
1861         Slightly better fix. Essentially just take out the assert.
1862
1863 2002-11-08  Darin Adler  <darin@apple.com>
1864
1865         - fixed an assert I am seeing a lot
1866
1867         * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _setRequest:]): Oops.
1868
1869 2002-11-08  Richard Williamson   <rjw@apple.com>
1870
1871         Solved missing glyph problem, but it's very slow, so
1872         it's disabled for now.  I'll turn back on after extending
1873         the character to glyph map in each renderer to include
1874         substituted font.
1875         
1876         * WebCoreSupport.subproj/WebTextRenderer.m:
1877         (-[WebTextRenderer substituteFontForString:]):
1878         (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:]):
1879
1880 2002-11-08  Darin Adler  <darin@apple.com>
1881
1882         - separate WebBaseNetscapePluginStream more cleanly from its subclasses
1883         by making most fields private
1884
1885         * Plugins.subproj/WebBaseNetscapePluginStream.m:
1886         (-[WebBaseNetscapePluginStream setResponse:]):
1887         * Plugins.subproj/WebNetscapePluginStream.h:
1888         * Plugins.subproj/WebNetscapePluginStream.m:
1889         (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]):
1890         (-[WebNetscapePluginStream dealloc]):
1891         (-[WebNetscapePluginStream start]):
1892         (-[WebNetscapePluginStream handle:didReceiveData:]):
1893         (-[WebNetscapePluginStream handle:didFailLoadingWithError:]):
1894         * WebCoreSupport.subproj/WebSubresourceClient.m:
1895         (-[WebSubresourceClient handle:didReceiveResponse:]):
1896         (-[WebSubresourceClient handle:didReceiveData:]):
1897         (-[WebSubresourceClient handleDidFinishLoading:]):
1898         (-[WebSubresourceClient handle:didFailLoadingWithError:]):
1899         (-[WebSubresourceClient cancel]):
1900         * WebView.subproj/WebBaseResourceHandleDelegate.h:
1901         * WebView.subproj/WebBaseResourceHandleDelegate.m:
1902         (-[WebBaseResourceHandleDelegate handle:willSendRequest:]):
1903         (-[WebBaseResourceHandleDelegate handle:didFailLoadingWithError:]):
1904         (-[WebBaseResourceHandleDelegate _cancelWithError:]):
1905         (-[WebBaseResourceHandleDelegate cancel]):
1906         (-[WebBaseResourceHandleDelegate cancelQuietly]):
1907         (-[WebBaseResourceHandleDelegate cancelledError]):
1908         (-[WebBaseResourceHandleDelegate notifyDelegatesOfInterruptionByPolicyChange]):
1909         * WebView.subproj/WebMainResourceClient.h:
1910         * WebView.subproj/WebMainResourceClient.m:
1911         (-[WebMainResourceClient cancel]):
1912         (-[WebMainResourceClient handle:willSendRequest:]):
1913         (-[WebMainResourceClient notifyDelegatesOfInterruptionByPolicyChange]):
1914         (-[WebMainResourceClient handle:didReceiveResponse:]):
1915         (-[WebMainResourceClient handle:didReceiveData:]):
1916         (-[WebMainResourceClient handleDidFinishLoading:]):
1917
1918 2002-11-08  Darin Adler  <darin@apple.com>
1919
1920         - changed persistent dictionaries to use NSString instead of NSURL
1921         because of impact on memory footprint
1922
1923         Also changed WebIconDatabase code to verify what it reads from disk,
1924         and ignore it if it can't verify the format.
1925
1926         * Misc.subproj/WebIconDatabase.m:
1927         (-[WebIconDatabase iconForSiteURL:withSize:cache:]):
1928         (-[WebIconDatabase retainIconForSiteURL:]):
1929         (-[WebIconDatabase releaseIconForSiteURL:]):
1930         (-[WebIconDatabase _iconDictionariesAreGood]):
1931         (-[WebIconDatabase _loadIconDictionaries]):
1932         (-[WebIconDatabase _updateFileDatabase]):
1933         (-[WebIconDatabase _hasIconForSiteURL:]):
1934         (-[WebIconDatabase _iconsForIconURLString:]):
1935         (-[WebIconDatabase _setIcon:forIconURL:]):
1936         (-[WebIconDatabase _setIconURL:forSiteURL:]):
1937         (-[WebIconDatabase _setBuiltInIconAtPath:forHost:]):
1938         (-[WebIconDatabase _retainIconForIconURLString:]):
1939         (-[WebIconDatabase _releaseIconForIconURLString:]):
1940         (-[WebIconDatabase _retainFutureIconForSiteURL:]):
1941         (-[WebIconDatabase _releaseFutureIconForSiteURL:]):
1942         (-[WebIconDatabase _retainOriginalIconsOnDisk]):
1943         (-[WebIconDatabase _releaseOriginalIconsOnDisk]):
1944         (-[NSEnumerator _web_isAllStrings]):
1945         * Panels.subproj/WebStandardPanels.m:
1946         (-[WebStandardPanels didStartLoadingURL:inWindow:]):
1947         (-[WebStandardPanels didStopLoadingURL:inWindow:]):
1948         (-[WebStandardPanels _didStartLoadingURL:inController:]):
1949         (-[WebStandardPanels _didStopLoadingURL:inController:]):
1950         (-[WebStandardPanels frontmostWindowLoadingURL:]):
1951
1952 2002-11-08  Darin Adler  <darin@apple.com>
1953
1954         - fixed crash on boot that Don was seeing
1955
1956         * History.subproj/WebHistoryItem.m:
1957         (-[WebHistoryItem URL]): Make this work when _URLString is nil.
1958         (-[WebHistoryItem initFromDictionaryRepresentation:]): Make this work for nil URL.
1959
1960         - my own private war on the cString method
1961
1962         * Downloads.subproj/WebDownloadHandler.m:
1963         (-[WebDownloadHandler initWithDataSource:]): Use %@ in LOG to avoid cString.
1964         (-[WebDownloadHandler finishedLoading]): Ditto.
1965         * WebView.subproj/WebDataSourcePrivate.m:
1966         (-[WebDataSource _commitIfReady]): Ditto.
1967         * WebView.subproj/WebFramePrivate.m:
1968         (-[WebFrame _timedLayout:]): Ditto.
1969         (-[WebFrame _setState:]): More of the same.
1970         (-[WebFrame _isLoadComplete]): Ditto.
1971
1972 2002-11-08  Ken Kocienda  <kocienda@apple.com>
1973
1974         Fix deployment build breaker: a variable was used only in a 
1975         LOG statement, causing the variable to become usused when
1976         building with the Deployment build style. 
1977
1978         * Downloads.subproj/WebDownloadHandler.m:
1979         (-[WebDownloadHandler finishedLoading])
1980
1981 2002-11-07  Darin Adler  <darin@apple.com>
1982
1983         * History.subproj/WebHistoryItem.h: Replace _URL with _URLString.
1984
1985         * History.subproj/WebHistoryItem.m:
1986         (-[WebHistoryItem _retainIconInDatabase:]): Get the URL with [self URL].
1987         (-[WebHistoryItem initWithURL:target:parent:title:]): Set up _URLString.
1988         (-[WebHistoryItem dealloc]): Release _URLString.
1989         (-[WebHistoryItem URL]): Make a URL from _URLString.
1990         (-[WebHistoryItem icon]): Use [self URL] instead of _URL.
1991         (-[WebHistoryItem setURL:]): Store a URL string.
1992         (-[WebHistoryItem hash]): Use the URL string's hash.
1993         (-[WebHistoryItem isEqual:]): Compare the URL strings.
1994         (-[WebHistoryItem description]): Use _URLString.
1995         (-[WebHistoryItem dictionaryRepresentation]): Use _URLString.
1996         (-[WebHistoryItem initFromDictionaryRepresentation:]): Call through to
1997         the other init functions so we have only one designated initializer.
1998         Leave the date as nil if there's no date in the dictionary instead of
1999         setting the date to 0.
2000
2001 2002-11-07  Maciej Stachowiak  <mjs@apple.com>
2002
2003         Removed SaveAndOpenExternally policy.
2004         
2005         * Downloads.subproj/WebDownloadHandler.m:
2006         (-[WebDownloadHandler finishedLoading]):
2007         * WebView.subproj/WebControllerPolicyDelegate.h:
2008         * WebView.subproj/WebFramePrivate.m:
2009         (-[WebFrame _continueAfterClickPolicyForEvent:request:]):
2010         * WebView.subproj/WebMainResourceClient.m:
2011         (-[WebMainResourceClient receivedError:]):
2012         (-[WebMainResourceClient handle:didReceiveResponse:]):
2013         (-[WebMainResourceClient handleDidFinishLoading:]):
2014
2015 2002-11-07  Chris Blumenberg  <cblu@apple.com>
2016
2017         * WebKit.pbproj/project.pbxproj:
2018
2019 2002-11-07  Richard Williamson  <rjw@apple.com>
2020
2021         * WebCoreSupport.subproj/WebImageRenderer.m:
2022         (-[WebImageRenderer stopAnimation]):
2023
2024 2002-11-07  Maciej Stachowiak  <mjs@apple.com>
2025
2026         - fixed 3095628 - REGRESSION: exception when clicking on link to load content into iframe
2027         
2028         * WebView.subproj/WebFramePrivate.m:
2029         (-[WebFrame _actionInformationForNavigationType:event:]): Get the
2030         element info from the HTML view where the click originally
2031         happened, not the current document view. Add some asserts to make
2032         sure this is working.
2033
2034
2035 2002-11-07  Richard Williamson  <rjw@apple.com>
2036
2037         Tweaks
2038         
2039         * WebCoreSupport.subproj/WebTextRenderer.m:
2040         (-[WebTextRenderer convertCharacters:length:toGlyphs:skipControlCharacters:]):
2041         (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:]):
2042
2043 === Alexander-31 ===
2044
2045 2002-11-07  Maciej Stachowiak  <mjs@apple.com>
2046
2047         - fixed 3094778 - REGRESSION: Assert on logout from schwab.com
2048
2049         (probably fixed it anyway - I'm flying blind on this one)
2050         
2051         * WebCoreSupport.subproj/WebBridge.m:
2052         (-[WebBridge createWindowWithURL:frameName:]): Use a nil request
2053         if the URL was nil, instead of making a request that contains a
2054         nil URL.
2055
2056 2002-11-07  Maciej Stachowiak  <mjs@apple.com>
2057
2058         Changed things so that creating a window takes a request rather
2059         than a URL and referrer.
2060         
2061         * WebCoreSupport.subproj/WebBridge.m:
2062         (-[WebBridge createWindowWithURL:frameName:]):
2063         * WebView.subproj/WebControllerPrivate.h:
2064         * WebView.subproj/WebControllerPrivate.m:
2065         (-[WebController _openNewWindowWithRequest:behind:]):
2066         * WebView.subproj/WebDataSourcePrivate.h:
2067         * WebView.subproj/WebDataSourcePrivate.m:
2068         (-[WebDataSourcePrivate dealloc]):
2069         (-[WebDataSource _setTriggeringEvent:]):
2070         (-[WebDataSource _triggeringEvent]):
2071         * WebView.subproj/WebDefaultContextMenuDelegate.m:
2072         (-[WebDefaultContextMenuDelegate openNewWindowWithURL:]):
2073         * WebView.subproj/WebFrame.m:
2074         (-[WebFrame setProvisionalDataSource:]):
2075         (-[WebFrame findOrCreateFramedNamed:]):
2076         * WebView.subproj/WebFramePrivate.m:
2077         (-[WebFrame _continueAfterClickPolicyForEvent:request:]):
2078         * WebView.subproj/WebWindowOperationsDelegate.h:
2079
2080 2002-11-06  Darin Adler  <darin@apple.com>
2081
2082         - fixed problem where files small enough to fit entirely in the buffer
2083         (8K or less) would not be decoded
2084
2085         * Downloads.subproj/WebDownloadHandler.m:
2086         (-[WebDownloadHandler decodeData:]): Added. Moved most of the code from
2087         receivedData into here.
2088         (-[WebDownloadHandler receivedData:]): Changed to call decodeData.
2089         (-[WebDownloadHandler finishedLoading]): Call decodeData on any remaining
2090         bytes rather than writing them straight out to the data fork.
2091
2092 2002-11-06  Richard Williamson  <rjw@apple.com>
2093
2094         More work on rendering scripts. Now most complex scripts render correctly.
2095         Working new features include:
2096         bidi, diacriticals, cursive forms, and arabic ligatures.
2097         Selection of text rendered in these scripts, is however, not working. 
2098         Also, line height is incorrect when renderering combined below glyphs.
2099         ajami is, sadly, horrendously broken.
2100
2101         * Misc.subproj/WebUnicode.m:
2102         (glyphVariantLogical):
2103         (shapedString):
2104         * WebCoreSupport.subproj/WebTextRenderer.m:
2105         (-[WebTextRenderer drawCharacters:stringLength:fromCharacterPosition:toCharacterPosition:atPoint:withPadding:withTextColor:backgroundColor:rightToLeft:]):
2106         (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:]):
2107
2108 2002-11-06  John Sullivan  <sullivan@apple.com>
2109
2110         * Bookmarks.subproj/WebBookmark.m:
2111         (+[WebBookmark bookmarkOfType:]):
2112         made this handle WebBookmarkTypeProxy
2113
2114 2002-11-06  Darin Adler  <darin@apple.com>
2115
2116         - fixed bug that affected BinHex-encoded files with no resource fork
2117
2118         * Downloads.subproj/WebBinHexDecoder.m:
2119         (-[WebBinHexDecoder decodeData:dataForkData:resourceForkData:]):
2120         Don't decode the resource fork unless done with the data fork.
2121
2122         * Downloads.subproj/WebDownloadHandler.m: (-[WebDownloadHandler receivedData:]):
2123         Set the forks to nil before calling through.
2124
2125 2002-11-06  Darin Adler  <darin@apple.com>
2126
2127         * Downloads.subproj/WebMacBinaryDecoder.m: (+[WebMacBinaryDecoder canDecodeHeaderData:]):
2128         Fix == 129 check that was supposed to be <= 129.
2129
2130         * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
2131
2132 2002-11-06  Darin Adler  <darin@apple.com>
2133
2134         * Downloads.subproj/WebBinHexDecoder.m: (-[WebBinHexDecoder decodeIntoBuffer:size:]):
2135         Fix an off-by-one error handling repeat counts.
2136
2137         * WebKit.pbproj/project.pbxproj: Fix group name I accidentally mangled.
2138
2139 2002-11-06  Darin Adler  <darin@apple.com>
2140
2141         - added a BinHex decoder and did a little work on the MacBinary decoder
2142         
2143         I'm not supposed to be working on this, but I didn't feel like doing "real" work.
2144
2145         * Downloads.subproj/WebBinHexDecoder.h: Added.
2146         * Downloads.subproj/WebBinHexDecoder.m: Added.
2147         * WebKit.pbproj/project.pbxproj: Added WebBinHexDecoder.
2148
2149         * Downloads.subproj/WebDownloadDecoder.h: Added WEB_DOWNLOAD_DECODER_MINIMUM_HEADER_LENGTH.
2150         * Downloads.subproj/WebDownloadHandler.m:
2151         (-[WebDownloadHandler closeFile]): Check to be sure we don't close the same file twice.
2152
2153         * Downloads.subproj/WebMacBinaryDecoder.h: Added _scriptCode.
2154         * Downloads.subproj/WebMacBinaryDecoder.m:
2155         (+[WebMacBinaryDecoder canDecodeHeaderData:]): Added check of MacBinary version field.
2156         (-[WebMacBinaryDecoder decodeData:dataForkData:resourceForkData:]): Added MacBinary III
2157         part that gets the script code.
2158         (-[WebMacBinaryDecoder filename]): Use the script code.
2159
2160 2002-11-06  Maciej Stachowiak  <mjs@apple.com>
2161
2162         Took URL field out of click policy - open in new window policy
2163         will always open the request URL.
2164         
2165         * WebView.subproj/WebControllerPolicyDelegate.h:
2166         * WebView.subproj/WebControllerPolicyDelegate.m:
2167         (-[WebPolicyPrivate dealloc]):
2168         (+[WebURLPolicy webPolicyWithURLAction:]):
2169         (+[WebFileURLPolicy webPolicyWithFileAction:]):
2170         (+[WebContentPolicy webPolicyWithContentAction:andPath:]):
2171         * WebView.subproj/WebDefaultPolicyDelegate.m:
2172         (-[WebDefaultPolicyDelegate clickPolicyForAction:andRequest:inFrame:]):
2173         * WebView.subproj/WebFramePrivate.m:
2174         (-[WebFrame _continueAfterClickPolicyForEvent:request:]):
2175
2176 2002-11-06  Chris Blumenberg  <cblu@apple.com>
2177
2178         Support MacBinary I by checking that bytes 99-127 are 0. Also check byte 82 for all formats.
2179
2180         * Downloads.subproj/WebMacBinaryDecoder.m:
2181         (+[WebMacBinaryDecoder canDecodeHeaderData:]):
2182
2183 2002-11-06  Ken Kocienda  <kocienda@apple.com>
2184
2185         Call new WebHTTPResourceRequest method to set the amount of time
2186         to cache a 404 response when trying to fetch a favicon.
2187
2188         This change helps to fix this bug:
2189
2190         Radar 3004422 (Loader should cache misses)
2191
2192         * Misc.subproj/WebIconLoader.m:
2193         (-[WebIconLoader startLoading])
2194
2195 2002-11-05  Maciej Stachowiak  <mjs@apple.com>
2196
2197         Reworked clickPolicy arguments to be closer to proposed version.
2198         
2199         * WebKit.exp:
2200         * WebView.subproj/WebControllerPolicyDelegate.h:
2201         * WebView.subproj/WebControllerPolicyDelegate.m:
2202         * WebView.subproj/WebDefaultPolicyDelegate.m:
2203         (-[WebDefaultPolicyDelegate clickPolicyForAction:andRequest:inFrame:]):
2204         * WebView.subproj/WebFramePrivate.h:
2205         * WebView.subproj/WebFramePrivate.m:
2206         (-[WebFrame _actionInformationForNavigationType:event:]):
2207         (-[WebFrame _continueAfterClickPolicyForEvent:request:]):
2208
2209 2002-11-05  Darin Adler  <darin@apple.com>
2210
2211         * WebCoreSupport.subproj/WebTextRenderer.m: Made a slightly simpler and faster
2212         version of the new "lose precision" CEIL_TO_INT macro.
2213
2214 2002-11-05  Richard Williamson  <rjw@apple.com>
2215
2216         Fixed a couple of issues that Dave highlighted w/ his whitespace
2217         fixes.  CG sometimes introduces very small 'error' in metrics, specifically
2218         we saw character widths of 20.0000019 that should have been 20.  As a 
2219         work-around we loose precision beyond the 1000th place.  Also, always
2220         ceil spaces.
2221                 
2222         * WebCoreSupport.subproj/WebTextRenderer.m:
2223         (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:]):
2224
2225 2002-11-05  Darin Adler  <darin@apple.com>
2226
2227         - fixed 3084704 -- crash in HTMLTokenizer on page with JavaScript
2228         HTMLDocument::Close inside a <script>
2229
2230         * WebView.subproj/WebFramePrivate.m: (-[WebFrame _detachFromParent]):
2231         We need to stop loading here. Otherwise we might do loading after closeURL,
2232         which could lead to a problem like the one above.
2233
2234 2002-11-05  Darin Adler  <darin@apple.com>
2235
2236         - changed our MacBinary decoding to not pay any attention to the comment
2237
2238         Before we would "fail to decode" if the comment was truncated, now we just
2239         don't worry about it.
2240
2241         * Downloads.subproj/WebMacBinaryDecoder.h: Remove _commentLength and _commentEnd.
2242         * Downloads.subproj/WebMacBinaryDecoder.m:
2243         (-[WebMacBinaryDecoder decodeData:dataForkData:resourceForkData:]): Remove code
2244         to get _commentLength and code to compute _commentEnd.
2245         (-[WebMacBinaryDecoder finishDecoding]): Check offset against the resource fork
2246         end rather than the comment end to see if we got enough data.
2247
2248 2002-11-05  John Sullivan  <sullivan@apple.com>
2249
2250         * Resources/url_icon.tiff:
2251         reverted generic URL icon back to the one that
2252         looks like a document until we get something from
2253         HI that SJ likes
2254
2255 2002-11-05  Chris Blumenberg  <cblu@apple.com>
2256
2257         Fixed: 3074108 - Decode macbinary files during download
2258
2259         * Downloads.subproj/WebDownloadDecoder.h:
2260         * Downloads.subproj/WebDownloadHandler.h:
2261         * Downloads.subproj/WebDownloadHandler.m:
2262         (-[WebDownloadHandler initWithDataSource:]):
2263         (-[WebDownloadHandler dealloc]):
2264         (-[WebDownloadHandler decodeHeaderData:dataForkData:resourceForkData:]):
2265         (-[WebDownloadHandler decodeData:dataForkData:resourceForkData:]):
2266         (-[WebDownloadHandler closeFile]):
2267         (-[WebDownloadHandler cleanUpAfterFailure]):
2268         (-[WebDownloadHandler createFileIfNecessary]):
2269         (-[WebDownloadHandler writeData:toFork:]):
2270         (-[WebDownloadHandler writeDataForkData:resourceForkData:]):
2271         (-[WebDownloadHandler dataIfDoneBufferingData:]):
2272         (-[WebDownloadHandler receivedData:]):
2273         (-[WebDownloadHandler finishDecoding]):
2274         (-[WebDownloadHandler finishedLoading]):
2275         (-[WebDownloadHandler cancel]):
2276         * Downloads.subproj/WebMacBinaryDecoder.h:
2277         * Downloads.subproj/WebMacBinaryDecoder.m:
2278         (-[WebMacBinaryDecoder decodeData:dataForkData:resourceForkData:]):
2279         (-[WebMacBinaryDecoder fileAttributes]):
2280         (-[WebMacBinaryDecoder filename]):
2281         * Misc.subproj/WebKitErrors.h: added new errors
2282         * WebView.subproj/WebMainResourceClient.m:
2283         (-[WebMainResourceClient handle:didReceiveResponse:]): don't send response to download handler
2284         (-[WebMainResourceClient handle:didReceiveData:]): watch for decoding errors
2285
2286 2002-11-05  Ken Kocienda  <kocienda@apple.com>
2287
2288         Fix for this bug:
2289
2290         Radar 3092747 (javascript cookieEnabled property returns incorrect value)
2291
2292         Now, we return "true" for navigator.cookieEnabled when 
2293         "Only accept cookies from the same domain as the current page" option
2294         is selected is user preferences.
2295
2296         * WebCoreSupport.subproj/WebCookieAdapter.m:
2297         (-[WebCookieAdapter cookiesEnabled])
2298
2299 2002-11-05  John Sullivan  <sullivan@apple.com>
2300
2301         - fixed 3091271 -- missing plug-in icon is on white
2302         background, not transparent.
2303
2304         * Resources/nullplugin.tiff: Photoshopped the white away. It's
2305         still ugly, but that's a separate bug (3091274)
2306
2307 2002-11-05  Maciej Stachowiak  <mjs@apple.com>
2308
2309         - fixed 3083732 - SJ: window comes out blank on samsung site
2310         
2311         * WebCoreSupport.subproj/WebBridge.m:
2312         (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]):
2313         Don't start loading if the URL is exactly the same as the parent
2314         URL. We may need a more stringent check, but this seems to match
2315         the tolerance of other browsers OK.
2316
2317 2002-11-05  Maciej Stachowiak  <mjs@apple.com>
2318
2319         Added request and frame to click policy callback.
2320         
2321         * WebView.subproj/WebControllerPolicyDelegate.h:
2322         * WebView.subproj/WebDefaultPolicyDelegate.m:
2323         (-[WebDefaultPolicyDelegate clickPolicyForElement:button:modifierFlags:request:inFrame:]):
2324         * WebView.subproj/WebFramePrivate.h:
2325         * WebView.subproj/WebFramePrivate.m:
2326         (-[WebFrame _continueAfterClickPolicyForEvent:request:]):
2327         (-[WebFrame _loadURL:loadType:clientRedirect:triggeringEvent:]):
2328
2329 2002-11-04  Richard Williamson  <rjw@apple.com>
2330
2331         Changes to support cursive letter forms.  It works, but I've
2332         disabled it for now.  It's buggy and needs cleanup.
2333         Arabic now renders correctly except for ligature substitution.
2334         
2335         * Misc.subproj/WebUnicode.h:
2336         * Misc.subproj/WebUnicode.m:
2337         (_unicodeIsMark):
2338         (getShape):
2339         (prevChar):
2340         (nextChar):
2341         (prevLogicalCharJoins):
2342         (nextLogicalCharJoins):
2343         (glyphVariantLogical):
2344         (shapedString):
2345         * Misc.subproj/WebUnicodeTables.m:
2346         * WebCoreSupport.subproj/WebTextRenderer.m:
2347         (-[WebTextRenderer drawCharacters:stringLength:fromCharacterPosition:toCharacterPosition:atPoint:withPadding:withTextColor:backgroundColor:rightToLeft:]):
2348         (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:]):
2349         * WebKitPrefix.h:
2350
2351 2002-11-04  Maciej Stachowiak  <mjs@apple.com>
2352
2353         Changes to send NSEvents all the way through WebCore and then pass
2354         them back out to WebKit, so that click policy can have a
2355         WebResourceRequest added.
2356
2357         * WebCoreSupport.subproj/WebBridge.m:
2358         (-[WebBridge loadURL:reload:triggeringEvent:]):
2359         (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]):
2360         * WebView.subproj/WebFramePrivate.h:
2361         * WebView.subproj/WebFramePrivate.m:
2362         (-[WebFrame _continueAfterClickPolicyForEvent:]):
2363         (-[WebFrame _loadURL:loadType:clientRedirect:triggeringEvent:]):
2364         * WebView.subproj/WebHTMLView.m:
2365         (-[WebHTMLView mouseUp:]):
2366         * WebView.subproj/WebHTMLViewPrivate.h:
2367         * WebView.subproj/WebHTMLViewPrivate.m:
2368
2369 2002-11-04  Chris Blumenberg  <cblu@apple.com>
2370
2371         Fixed - 3091658: REGRESSION: cmd-left for back doesn't work in plain-text viewer
2372
2373         We now pass text field key events to the next responder which would be WebView in this case.
2374
2375         * WebView.subproj/WebTextView.m:
2376         (-[WebTextView keyDown:]):
2377         (-[WebTextView keyUp:]):
2378
2379 2002-11-04  Darin Adler  <darin@apple.com>
2380
2381         - fixed 3090257 -- "leak the world" using the Wallace and Gromit "console"
2382
2383         * Plugins.subproj/WebNetscapePluginStream.m: Update for changes to the base delegate.
2384         (-[WebNetscapePluginStream start]): Use loadWithRequest:.
2385         (-[WebNetscapePluginStream stop]): Call cancel instead of just canceling the handle
2386         directly. This fixes the world leak.
2387         (-[WebNetscapePluginStream cancel]): Do some of the work that was formerly in "stop".
2388
2389         * WebView.subproj/WebMainResourceClient.m:
2390         (-[WebMainResourceClient handle:willSendRequest:]): Call the "stop loading URL" whenever
2391         we cancel I/O, so we don't leak the world.
2392         (-[WebMainResourceClient handle:didReceiveResponse:]): Ditto.
2393
2394         * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge objectLoadedFromCache:response:size:]):
2395         * WebCoreSupport.subproj/WebSubresourceClient.m: (-[WebSubresourceClient handleDidFinishLoading:]):
2396         * WebView.subproj/WebControllerPrivate.h:
2397         * WebView.subproj/WebControllerPrivate.m:
2398         (-[WebController _finishedLoadingResourceFromDataSource:]):
2399         Fix a typo in the word "finished".
2400
2401         * WebView.subproj/WebBaseResourceHandleDelegate.m:
2402         (-[WebBaseResourceHandleDelegate handle:willSendRequest:]): Tweak.
2403         (-[WebBaseResourceHandleDelegate cancel]): Tweak.
2404
2405         * Panels.subproj/WebStandardPanels.m:
2406         (-[WebStandardPanels didStartLoadingURL:inWindow:]): Add assertions.
2407         (-[WebStandardPanels didStopLoadingURL:inWindow:]): Ditto.
2408         (-[WebStandardPanels _didStartLoadingURL:inController:]): Ditto.
2409         (-[WebStandardPanels _didStopLoadingURL:inController:]): Ditto.
2410
2411 2002-11-04  Darin Adler  <darin@apple.com>
2412
2413         * Downloads.subproj/WebMacBinaryDecoder.h: Removed many unneeded fields.
2414         * Downloads.subproj/WebMacBinaryDecoder.m:
2415         (+[WebMacBinaryDecoder canDecodeHeaderData:]): Added comments. Changed maximum filename
2416         length to 63 as the format supports, rather than the 31 that's based on historical
2417         HFS limitations. Fix endian dependency in CRC check.
2418         (-[WebMacBinaryDecoder decodeData:dataForkData:resourceForkData:]): Simplified this,
2419         and removed the state machine and the accumulator. Also added some asserts. Fixed endian
2420         dependency in the code to extract the header.
2421         (-[WebMacBinaryDecoder finishDecoding]): New simpler check now that we don't have a
2422         _streamComplete boolean.
2423         (-[WebMacBinaryDecoder fileAttributes]): Rewrote to take advantage of the above changes,
2424         and also to use kCFAbsoluteTimeIntervalSince1904 rather than parsing a date string.
2425
2426         * Downloads.subproj/crc16.h: Tweaks.
2427         * Downloads.subproj/crc16.m: Tweaks.
2428
2429 2002-11-04  Darin Adler  <darin@apple.com>
2430
2431         * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer dealloc]):
2432         Replaced a useless call to stopAnimation with a couple of asserts.
2433
2434 2002-11-04  John Sullivan  <sullivan@apple.com>
2435
2436         * Resources/url_icon.tiff:
2437         new "generic URL" icon from HI -- this one looks like
2438         a red ribbon (!)
2439
2440 2002-11-03  Darin Adler  <darin@apple.com>
2441
2442         * Plugins.subproj/WebPluginError.h:
2443         * Plugins.subproj/WebPluginError.m:
2444         Not __MyCompanyName__, but rather Apple Computer.
2445
2446 2002-11-03  Darin Adler  <darin@apple.com>
2447
2448         * Plugins.subproj/WebPlugin.h: Fix comment.
2449
2450         * Plugins.subproj/WebPluginError.m: (-[WebPluginErrorPrivate dealloc]):
2451         Fix leak by calling [super dealloc].
2452
2453         * WebView.subproj/WebFramePrivate.m: (-[WebFramePrivate dealloc]): Remove the
2454         timer invalidate since, as Trey pointed out, it's pointless to invalidate a
2455         timer in dealloc if it's retaining this object while valid.
2456
2457 2002-11-03  Chris Blumenberg  <cblu@apple.com>
2458
2459         - Added MacBinary decoding code. Not yet used.
2460
2461         * Downloads.subproj/WebMacBinaryDecoder.h: Added.
2462         * Downloads.subproj/WebMacBinaryDecoder.m: Added.
2463         (+[WebMacBinaryDecoder canDecodeHeaderData:]):
2464         (-[WebMacBinaryDecoder init]):
2465         (-[WebMacBinaryDecoder dealloc]):
2466         (-[WebMacBinaryDecoder decodeData:dataForkData:resourceForkData:]):
2467         (-[WebMacBinaryDecoder finishDecoding]):
2468         (-[WebMacBinaryDecoder fileAttributes]):
2469         * Downloads.subproj/crc16.h: Added.
2470         * Downloads.subproj/crc16.m: Added.
2471         (CRC16):
2472         * Plugins.subproj/WebPluginPackage.m:
2473         (-[WebPluginPackage isLoaded]): 
2474         * WebKit.pbproj/project.pbxproj:
2475
2476 2002-11-03  Darin Adler  <darin@apple.com>
2477
2478         * English.lproj/StringsNotToBeLocalized.txt: Update for recent
2479         changes both to the code here and to the extract script.
2480
2481 2002-11-03  Darin Adler  <darin@apple.com>
2482
2483         - fixed 3091300 -- "prelighting" on local page is still slow, despite recent bug fix
2484
2485         Turns out all updating would be slow if any resources on the page failed to load.
2486
2487         * WebCoreSupport.subproj/WebSubresourceClient.m:
2488         (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
2489         Call the new reportError instead of cancel.
2490         (-[WebSubresourceClient handle:didFailLoadingWithError:]): Ditto.
2491
2492 2002-11-02  Darin Adler  <darin@apple.com>
2493
2494         * Panels.subproj/WebAuthenticationPanel.m: (-[WebAuthenticationPanel setUpForRequest:]):
2495         Do the previous fix one better by using _web_hostWithPort.
2496
2497 2002-11-02  Darin Adler  <darin@apple.com>
2498
2499         - fixed bug where the address of an NSNumber object would be used for the port number
2500
2501         * Panels.subproj/WebAuthenticationPanel.m: (-[WebAuthenticationPanel setUpForRequest:]):
2502         Call intValue on the object returned from [NSURL port].
2503
2504 2002-11-01  Darin Adler  <darin@apple.com>
2505
2506         * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView sendEvent:]):
2507         Fixed uninitialized variable problem.
2508
2509 2002-11-01  Darin Adler  <darin@apple.com>
2510
2511         - fixed 3090239 -- crash on window close
2512
2513         * WebView.subproj/WebFramePrivate.m: (-[WebFrame _detachFromParent]): Nil out the bridge and
2514         release it so we don't close the URL twice.
2515
2516         - fixed 3058598 -- animated gif animates repeatedly in Alex, but only once in other browsers
2517
2518         * WebCoreSupport.subproj/WebImageRenderer.h: Added fields used by bug workaround.
2519         * WebCoreSupport.subproj/WebImageRenderer.m:
2520         (-[WebImageRenderer blockHasGIFExtensionSignature:length:]): Helper method for bug workaround.
2521         (-[WebImageRenderer checkDataForGIFExtensionSignature:]): Checks incoming data for the GIF
2522         extension signatures.
2523         (-[WebImageRenderer initWithData:]): Override to call checkDataForGIFExtensionSignature.
2524         (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]): Call checkDataForGIFExtensionSignature.
2525         (-[WebImageRenderer repetitionCount]): Return 1 if we were going to return 0, but we didn't see a
2526         GIF extension signature. This workaround can be removed once we require a system new enough to have
2527         the bug fix for bug 3090341.
2528         (-[WebImageRenderer nextFrame:]): Stop on last frame, don't wrap around to first.
2529
2530         * WebCoreSupport.subproj/WebImageRendererFactory.h: Update for changes to WebCore.
2531         * WebCoreSupport.subproj/WebImageRendererFactory.m: Tweaks.
2532
2533         * WebView.subproj/WebImageRepresentation.m: Update imports.
2534         * WebView.subproj/WebImageView.m: Update imports.
2535
2536 2002-11-01  Richard Williamson   <rjw@apple.com>
2537
2538         Implemented rendering of diacriticals.
2539         
2540         * Misc.subproj/WebUnicode.h:
2541         * Misc.subproj/WebUnicode.m:
2542         (_unicodeDigitValue):
2543         (_unicodeCategory):
2544         (_unicodeDirection):
2545         (_unicodeJoining):
2546         (_unicodeDecompositionTag):
2547         (_unicodeMirrored):
2548         (_unicodeCombiningClass):
2549         (_unicodeLower):
2550         (_unicodeUpper):
2551         * WebCoreSupport.subproj/WebTextRenderer.m:
2552         (-[WebTextRenderer drawCharacters:stringLength:fromCharacterPosition:toCharacterPosition:atPoint:withPadding:withTextColor:backgroundColor:rightToLeft:]):
2553         (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:]):
2554         (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]):
2555
2556 2002-11-01  Darin Adler  <darin@apple.com>
2557
2558         * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
2559
2560 2002-11-01  Chris Blumenberg  <cblu@apple.com>
2561
2562         Check that the plug-in is loaded before calling it.
2563
2564         * Plugins.subproj/WebBaseNetscapePluginStream.h:
2565         * Plugins.subproj/WebBaseNetscapePluginStream.m:
2566         (-[WebBaseNetscapePluginStream dealloc]):
2567         (-[WebBaseNetscapePluginStream setPluginPointer:]):
2568         (-[WebBaseNetscapePluginStream setResponse:]):
2569         (-[WebBaseNetscapePluginStream receivedData:]):
2570         (-[WebBaseNetscapePluginStream destroyStreamWithReason:]):
2571         (-[WebBaseNetscapePluginStream finishedLoadingWithData:]):
2572         * Plugins.subproj/WebBasePluginPackage.h:
2573         * Plugins.subproj/WebBasePluginPackage.m:
2574         (-[WebBasePluginPackage isLoaded]):
2575         * Plugins.subproj/WebNetscapePluginDocumentView.m:
2576         (-[WebNetscapePluginDocumentView setDataSource:]):
2577         * Plugins.subproj/WebNetscapePluginPackage.m:
2578         (-[WebNetscapePluginPackage isLoaded]):
2579         * Plugins.subproj/WebNetscapePluginRepresentation.m:
2580         (-[WebNetscapePluginRepresentation receivedData:withDataSource:]):
2581
2582 2002-11-01  Chris Blumenberg  <cblu@apple.com>
2583
2584         - Moved plug-in error handling to WebResourceLoadDelegate
2585         - Report plug-in load failure, java load failure, and plug-in not found errors.
2586         - Added WebPluginError, subclass of WebError.
2587         - Attempted fix: 3090675 - Standalone WMP (Window Media Player) content crashes Alexander
2588
2589         * English.lproj/Localizable.strings:
2590         * Misc.subproj/WebKitErrors.h:
2591         * Plugins.subproj/WebBaseNetscapePluginView.m:
2592         (-[WebBaseNetscapePluginView sendEvent:]): don't send event to null function
2593         * Plugins.subproj/WebNetscapePluginDocumentView.m:
2594         (-[WebNetscapePluginDocumentView setDataSource:]): report plug-in load failure
2595         * Plugins.subproj/WebNullPluginView.h:
2596         * Plugins.subproj/WebNullPluginView.m: take a WebPluginError
2597         (-[WebNullPluginView dealloc]):
2598         (-[WebNullPluginView viewDidMoveToWindow]):
2599         * Plugins.subproj/WebPluginError.h: Added.
2600         * Plugins.subproj/WebPluginError.m: Added.
2601         (-[WebPluginErrorPrivate dealloc]):
2602         (-[WebPluginError dealloc]):
2603         (-[WebPluginError pluginPageURL]):
2604         (-[WebPluginError pluginName]):
2605         (-[WebPluginError MIMEType]):
2606         * WebCoreSupport.subproj/WebBridge.m:
2607         (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]): report plug-in load failure
2608         (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURL:]): report plug-in load failure
2609         * WebKit.pbproj/project.pbxproj:
2610         * WebView.subproj/WebController.m:
2611         (-[WebResourceLoadDelegate pluginFailedWithError:dataSource:]): added, does nothing
2612         * WebView.subproj/WebControllerPolicyDelegate.h:
2613         * WebView.subproj/WebResourceLoadDelegate.h:
2614         * WebView.subproj/WebView.m:
2615         (+[WebView initialize]): added new error strings
2616
2617 2002-11-01  John Sullivan  <sullivan@apple.com>
2618
2619         - some weaning of WebBookmark API from WebBookmarkGroup
2620
2621         * Bookmarks.subproj/WebBookmark.m:
2622         (-[WebBookmark dealloc]):
2623         set group to nil instead of asserting that it's non-nil
2624
2625         * Bookmarks.subproj/WebBookmarkGroup.h:
2626         removed obsolete ivar _bookmarksByID
2627         * Bookmarks.subproj/WebBookmarkGroup.m:
2628         (-[WebBookmarkGroup initWithFile:]):
2629         removed obsolete ivar _bookmarksByID
2630         (-[WebBookmarkGroup dealloc]):
2631         removed obsolete ivar _bookmarksByID
2632         (-[WebBookmarkGroup removeBookmark:]):
2633         removed this unnecessary method; callers need to use
2634         [[bookmark parent] removeChild:bookmark] instead
2635
2636 2002-11-01  Trey Matteson  <trey@apple.com>
2637
2638         Moved involved code for loading URLs from WebBridge up to WebFrame, with a little
2639         consolidation along the way.  I need to get all this stuff in one place in prep
2640         for doing back-forward properly with frames.  There should be no change in
2641         functionality as a result of these changes.
2642
2643         * WebCoreSupport.subproj/WebBridge.m:
2644         (-[WebBridge loadURL:reload:]):
2645         (-[WebBridge postWithURL:data:contentType:]):
2646         (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]):
2647         Much of the guts of these is moved to WebFramePrivate.
2648         * WebView.subproj/WebDataSourcePrivate.h:
2649         * WebView.subproj/WebDataSourcePrivate.m:
2650         (-[WebDataSource _setIsClientRedirect:]):
2651         (-[WebDataSource _isClientRedirect]):
2652         Keep state of whether we're processing a redirect in DataSource.  I had previously
2653         to do this with a loadType, but that failed because cliRedir is orthogonal.
2654         * WebView.subproj/WebFramePrivate.h:
2655         WebFrameLoadTypeClientRedirect is gone.
2656         * WebView.subproj/WebFramePrivate.m:
2657         (-[WebFramePrivate init]):
2658         Initialize loadType explicitly.
2659         (-[WebFrame _transitionToCommitted]):
2660         Test [dataSource _isClientRedirect] instead of looking at loadType.
2661         (-[WebFrame _isLoadComplete]):
2662         Nuke WebFrameLoadTypeClientRedirect
2663         (-[WebFrame _goToItem:withFrameLoadType:]):
2664         Nuke WebFrameLoadTypeClientRedirect.
2665         (-[WebFrame _loadRequest:]):
2666         Helper method moved from WebBridge.
2667         (-[WebFrame _loadURL:loadType:clientRedirect:]):
2668         Core impl moved up from WebBridge.
2669         (-[WebFrame _postWithURL:data:contentType:]):
2670         Core impl moved up from WebBridge.
2671
2672 2002-11-01  Darin Adler  <darin@apple.com>
2673
2674         - implemented loop counts
2675
2676         * WebCoreSupport.subproj/WebImageRenderer.h: Added repetitionsComplete field.
2677         * WebCoreSupport.subproj/WebImageRenderer.m:
2678         (-[WebImageRenderer repetitionCount]): Get NSImageLoopCount.
2679         (-[WebImageRenderer nextFrame:]): Check repetitionCount and stop once we hit it.
2680
2681 2002-10-31  Darin Adler  <darin@apple.com>
2682
2683         * WebView.subproj/WebFrame.m: (-[WebFrame setController:]): Add an assert,
2684         hoping to catch a reported bug earlier or disprove one theory.
2685
2686 2002-10-31  Trey Matteson  <trey@apple.com>
2687
2688         Added API to support 3072505 - SnapBack for user-entered page address
2689         Refixed 3041616 - Extra page added in back button history
2690         Previous fix was stepped on by a later checkin.  Re-established that fix, then
2691         went on to make sure we have the final URL and title in the BF item in the
2692         case of a client redirect.  Also handles redirects that happen within frames.
2693         Fixed 3078560 - div added to "back" list
2694
2695         * History.subproj/WebBackForwardList.h:
2696         * History.subproj/WebBackForwardList.m:
2697         (-[WebBackForwardList containsEntry:]):
2698         Added new API for 3072505.
2699         * WebCoreSupport.subproj/WebBridge.h:
2700         * WebCoreSupport.subproj/WebBridge.m:
2701         (-[WebBridge reportClientRedirectTo:delay:fireDate:]):
2702         (-[WebBridge reportClientRedirectCancelled]):
2703         (-[WebBridge loadURL:reload:]):
2704         Added logging.  Renamed flag.  Establish the right loadtype and set BF items
2705         from the old dataSource onto the new dataSource in the case of a client redirect.
2706         * WebView.subproj/WebDataSourcePrivate.h:
2707         * WebView.subproj/WebDataSourcePrivate.m:
2708         (-[WebDataSource _setRequest:]):
2709         Add logging.
2710         (-[WebDataSource _addBackForwardItem:]):
2711         (-[WebDataSource _addBackForwardItems:]):
2712         (-[WebDataSource _backForwardItems]):
2713         New setters/getters to support setting up the new dataSource of a client redirect.
2714         * WebView.subproj/WebFramePrivate.h:
2715         New loadType WebFrameLoadTypeClientRedirect.
2716         * WebView.subproj/WebFramePrivate.m:
2717         (-[WebFrame _transitionToCommitted]):
2718         Update the URL in the BF list in the client redirect case.
2719         (-[WebFrame _isLoadComplete]):
2720         NOP case for WebFrameLoadTypeClientRedirect
2721         (-[WebFrame _goToItem:withFrameLoadType:]):
2722         ASSERT_NOT_REACHED case for WebFrameLoadTypeClientRedirect
2723
2724 2002-10-31  Richard Williamson  <rjw@apple.com>
2725
2726         Corrected extern definitions of lookup tables.
2727         
2728         * Misc.subproj/WebUnicode.h:
2729         * Misc.subproj/WebUnicode.m:
2730         (_unicodeDirection):
2731         * WebCoreSupport.subproj/WebTextRenderer.m:
2732         (+[WebTextRenderer initialize]):
2733
2734 === Alexander-30 ===
2735
2736 2002-10-30  Richard Williamson  <rjw@apple.com>
2737
2738         More work on bidi and contextual forms.
2739         Table lookup code for unicode characters attributes.
2740
2741         * Misc.subproj/WebUnicode.h: Added.
2742         * Misc.subproj/WebUnicode.m: Added.
2743         (_unicodeDigitValue):
2744         (_unicodeCategory):
2745         (_unicodeDirection):
2746         (_unicodeJoining):
2747         (_unicodeDecompositionTag):
2748         (_unicodeMirrored):
2749         (_unicodeMirroredChar):
2750         (_unicodeCombiningClass):
2751         (_unicodeLower):
2752         (_unicodeUpper):
2753         (WebKitInitializeUnicode):
2754         * Misc.subproj/WebUnicodeTables.m: Added.
2755         * WebKit.pbproj/project.pbxproj:
2756
2757         Additional logging parameter.
2758         
2759         * Misc.subproj/WebKitLogging.h:
2760         * Misc.subproj/WebKitLogging.m:
2761
2762 2002-10-30  Maciej Stachowiak  <mjs@apple.com>
2763
2764         Pass WebResourceRequest rather than just NSURL to URL policy
2765         delegate method.
2766         
2767         * WebView.subproj/WebControllerPolicyDelegate.h:
2768         * WebView.subproj/WebDefaultPolicyDelegate.h:
2769         * WebView.subproj/WebDefaultPolicyDelegate.m:
2770         (+[WebDefaultPolicyDelegate defaultURLPolicyForRequest:]):
2771         (-[WebDefaultPolicyDelegate URLPolicyForRequest:inFrame:]):
2772         * WebView.subproj/WebFramePrivate.m:
2773         (-[WebFrame _shouldShowRequest:]):
2774
2775 2002-10-30  Darin Adler  <darin@apple.com>
2776
2777         * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
2778
2779 2002-10-30  Chris Blumenberg  <cblu@apple.com>
2780
2781         Fixed: 3088122 - Assertion failure/crash closing window with QuickTime streaming in
2782
2783         * WebView.subproj/WebDataSourcePrivate.m:
2784         (-[WebDataSource _setMainDocumentError:]): call receivedError on the representation.
2785
2786 2002-10-30  Darin Adler  <darin@apple.com>
2787
2788         - fixed memory leaks in plugin package creation code
2789
2790         * Plugins.subproj/WebNetscapePluginPackage.m:
2791         (-[WebNetscapePluginPackage initWithPath:]): Rearrange this code, and make sure
2792         that it does a [self release] if it's going to return nil instead of self.
2793         (-[WebNetscapePluginPackage unload]): Set bundle to 0 when we release it.
2794         (-[WebNetscapePluginPackage dealloc]): Release the bundle if it's not 0.
2795
2796         * Plugins.subproj/WebPluginPackage.m:
2797         (-[WebPluginPackage initWithPath:]): Rearrange this code, and make sure
2798         that it does a [self release] if it's going to return nil instead of self.
2799
2800 2002-10-30  Darin Adler  <darin@apple.com>
2801
2802         - fixed 3086564 -- REGRESSION: meta-refresh to the same page doesn't refresh
2803
2804         The key is to respect the new reload: parameter from the bridge.
2805
2806         * WebCoreSupport.subproj/WebBridge.m:
2807         (-[WebBridge loadURL:reload:]): Don't ever treat a reload as a redirect.
2808         Set the cache policy to WebRequestCachePolicyLoadFromOrigin if it's a reload.
2809
2810         - fixed 3087214 -- REGRESSION: <WebKit/WebKit.h> contains #import of non-existent header
2811
2812         * Misc.subproj/WebKit.h: Removed import of WebControllerSets.h, which is private.
2813
2814 2002-10-30  Maciej Stachowiak  <mjs@apple.com>
2815
2816         Another step towards the policy API change - add request argument
2817         to file URL policy and remove isDirectory argument.
2818         
2819         * WebView.subproj/WebControllerPolicyDelegate.h:
2820         * WebView.subproj/WebDefaultPolicyDelegate.m:
2821         (-[WebDefaultPolicyDelegate fileURLPolicyForMIMEType:andRequest:inFrame:]):
2822         * WebView.subproj/WebFrame.m:
2823         (-[WebFrame setProvisionalDataSource:]):
2824         * WebView.subproj/WebFramePrivate.h:
2825         * WebView.subproj/WebFramePrivate.m:
2826         (-[WebFrame _shouldShowRequest:]):
2827         * WebView.subproj/WebMainResourceClient.m:
2828         (-[WebMainResourceClient handle:willSendRequest:]):
2829
2830 2002-10-29  Maciej Stachowiak  <mjs@apple.com>
2831
2832         First step towards policy API change. Pass request instead of URL
2833         to content policy delegate method.
2834         
2835         * WebView.subproj/WebControllerPolicyDelegate.h:
2836         * WebView.subproj/WebDefaultPolicyDelegate.m:
2837         * WebView.subproj/WebMainResourceClient.m:
2838         (-[WebMainResourceClient handle:didReceiveResponse:]):
2839
2840 2002-10-29  Maciej Stachowiak  <mjs@apple.com>
2841
2842         - fixed 3087548 - REGRESSION: two windows open for netflix confirmation
2843         
2844         * WebView.subproj/WebControllerPrivate.h:
2845         * WebView.subproj/WebControllerPrivate.m:
2846         (-[WebController _findFrameInThisWindowNamed:]): Added this function back,
2847         and added check for top-level frame name.
2848         (-[WebController _findFrameNamed:]): Use
2849         _findFrameInThisWindowNamed: to make sure top-level frame names
2850         get checked.
2851
2852 2002-10-29  Chris Blumenberg  <cblu@apple.com>
2853
2854         Created Downloads.subproj to hold the to-be-implemented download decoders.
2855
2856         * Downloads.subproj/WebDownloadDecoder.h: Added.
2857         * Downloads.subproj/WebDownloadHandler.h: Added.
2858         * Downloads.subproj/WebDownloadHandler.m: Added.
2859         (-[WebDownloadHandler initWithDataSource:]):
2860         (-[WebDownloadHandler dealloc]):
2861         (-[WebDownloadHandler errorWithCode:]):
2862         (-[WebDownloadHandler receivedResponse:]):
2863         (-[WebDownloadHandler receivedData:]):
2864         (-[WebDownloadHandler finishedLoading]):
2865         (-[WebDownloadHandler cancel]):
2866         * Misc.subproj/WebDownloadHandler.h: Removed.
2867         * Misc.subproj/WebDownloadHandler.m: Removed.
2868         * WebKit.pbproj/project.pbxproj:
2869
2870 2002-10-28  Darin Adler  <darin@apple.com>
2871
2872         - fixed crash I just introduced
2873
2874         * Plugins.subproj/WebPluginDatabase.m: (-[WebPluginDatabase init]):
2875         Remove the release call here. When I added the autorelease, I didn't realize that
2876         the caller was doing a release.
2877
2878 2002-10-28  Trey Matteson  <trey@apple.com>
2879
2880         Fixed 3041616 - Extra page added in back button history
2881
2882         Client-side redirects would always put an extra item in the backforward list.
2883         According to Darin this is a regression all the way back from functionality moving
2884         from WebBrowser to WebKit.      
2885
2886         * WebCoreSupport.subproj/WebBridge.h:
2887         Added state to know if we're doing an "internal" type of load
2888         * WebCoreSupport.subproj/WebBridge.m:
2889         (-[WebBridge reportClientRedirectTo:delay:fireDate:]):
2890         Set internalLoad bit if delay==0
2891         (-[WebBridge reportClientRedirectCancelled]):
2892         Clear internalLoad
2893         (-[WebBridge loadURL:]):
2894         Set frame's loadType if doing an internal load (similar to what we do when loading
2895         child frames)
2896
2897 2002-10-28  Darin Adler  <darin@apple.com>
2898
2899         - fixed storage leak of WebNetscapePluginPackage objects
2900
2901         * Plugins.subproj/WebBasePluginPackage.m:
2902         (+[WebBasePluginPackage pluginWithPath:]): Add missing autorelease.
2903
2904         * Plugins.subproj/WebBasePluginPackage.h:
2905         * Plugins.subproj/WebPluginController.h:
2906         * Plugins.subproj/WebPluginController.m:
2907         * Plugins.subproj/WebPluginPackage.h:
2908         * Plugins.subproj/WebPluginPackage.m:
2909         Not __MyCompanyName__, but rather Apple Computer.
2910
2911 2002-10-28  Darin Adler  <darin@apple.com>
2912
2913         - fixed bug that caused us to leak all WebResourceHandles used for subresources
2914
2915         * WebCoreSupport.subproj/WebSubresourceClient.m:
2916         (-[WebSubresourceClient dealloc]): Remove bogus "currentURL == nil" assert.
2917         (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
2918         Use the new loadWithRequest: call instead of making handle and doing loadWithDelegate:.
2919         This is where the leak was, because no one ever released the handle, but releasing it
2920         right away would be too soon.
2921
2922         * WebView.subproj/WebBaseResourceHandleDelegate.h: Added defersCallbacks field,
2923         loadWithRequest: method, and setDefersCallbacks: method. Removed handle method.
2924         * WebView.subproj/WebBaseResourceHandleDelegate.m:
2925         (-[WebBaseResourceHandleDelegate loadWithRequest:]): New method. Sets up the handle,
2926         set the defersCallbacks state on it, and calls loadWithDelegate:.
2927         (-[WebBaseResourceHandleDelegate setDefersCallbacks:]): Stores defersCallbacks state,
2928         and also sets it on the handle, if any.
2929         (-[WebBaseResourceHandleDelegate handle:willSendRequest:]): Remove code to set up
2930         the handle, since we now do that at loadWithRequest: time.
2931
2932         * WebView.subproj/WebDataSourcePrivate.h: Remove mainHandle field.
2933         * WebView.subproj/WebDataSourcePrivate.m:
2934         (-[WebDataSourcePrivate dealloc]): Don't release mainHandle.
2935         (-[WebDataSource _setPrimaryLoadComplete:]): Ditto.
2936         (-[WebDataSource _startLoading]): Use loadWithRequest: on the client, no need to deal
2937         with the handle directly at all.
2938         (-[WebDataSource _addSubresourceClient:]): Call setDefersCallbacks: on the client.
2939         (-[WebDataSource _defersCallbacksChanged]): Ditto.
2940
2941         * WebView.subproj/WebControllerPrivate.m: Remove unneeded include.
2942         * WebView.subproj/WebMainResourceClient.m: Ditto.
2943
2944 2002-10-28  Chris Blumenberg  <cblu@apple.com>
2945
2946         Fixed: 3056726 - View Source window always displays the source in current system encoding
2947         Fixed: 3019352 - Text encoding is not handled when viewing plain text
2948
2949         * WebView.subproj/WebDataSource.h:
2950         * WebView.subproj/WebDataSource.m:
2951         (-[WebDataSource stringWithData:]): added, creates a string using the specified encoding.
2952         * WebView.subproj/WebHTMLRepresentation.m:
2953         (-[WebHTMLRepresentation documentSource]): uses the bridge specified encoding when creating the string
2954         * WebView.subproj/WebTextView.h:
2955         * WebView.subproj/WebTextView.m:
2956         (-[WebTextView dataSourceUpdated:]): use stringWithData: 
2957         (-[WebTextView supportsTextEncoding]): Yup
2958
2959 2002-10-28  Richard Williamson   <rjw@apple.com>
2960
2961         Fixed crasher.
2962         
2963         * WebCoreSupport.subproj/WebTextRenderer.m:
2964         (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:]):
2965
2966 2002-10-28  John Sullivan  <sullivan@apple.com>
2967
2968         * Bookmarks.subproj/WebBookmark.h:
2969         * Bookmarks.subproj/WebBookmark.m:
2970         (-[WebBookmark contentMatches:]): new method, returns YES if
2971         two bookmarks are the same, ignoring group and parent.
2972
2973 2002-10-28  Trey Matteson  <trey@apple.com>
2974
2975         Finished 2998200 - access to most-recent in submenu of back & forward buttons
2976
2977         * WebView.subproj/WebDataSourcePrivate.h:
2978         The BF items we are going to and from were moved here from
2979         WebFrame because of timing problems among multiple data sources
2980         when using the BF buttons during a load.
2981         In addition, the datasource has a list of relevant BF items for
2982         which it keeps their titles up to date.
2983         * WebView.subproj/WebDataSourcePrivate.m:
2984         (-[WebDataSourcePrivate dealloc]):
2985         Free new state.
2986         (-[WebDataSource _setTitle:]):
2987         Update titles of BF items.
2988         (-[WebDataSource _provisionalBackForwardItem]):
2989         (-[WebDataSource _setProvisionalBackForwardItem:]):
2990         (-[WebDataSource _previousBackForwardItem]):
2991         (-[WebDataSource _setPreviousBackForwardItem:]):
2992         (-[WebDataSource _addBackForwardItem:]):
2993         Maintain new state.
2994         (-[WebDataSource _commitIfReady]):
2995         Free up previous and provisional BF items after commit.
2996         * WebCoreSupport.subproj/WebBridge.m:
2997         (-[WebBridge loadURL:]):
2998         Add the new BF item to the datasource.
2999         (-[WebBridge saveDocumentState:]):
3000         Use the right BF item to save the doc state.
3001         * WebView.subproj/WebFramePrivate.h:
3002         Previous and provisional BF are moved to datasource.
3003         * WebView.subproj/WebFramePrivate.m:
3004         (-[WebFrame _transitionToCommitted]):
3005         Use provisional BF from datasource to set position in BF list.
3006         Add new BF item to datasource.
3007         (-[WebFrame _isLoadComplete]):
3008         (-[WebFrame _checkLoadComplete]):
3009         Comments, whitespace.
3010         (-[WebFrame _goToItem:withFrameLoadType:]):
3011         Set item we will use to saveDocState at commit time.
3012
3013 2002-10-27  Darin Adler  <darin@apple.com>
3014
3015         - WebKit part of filename width fix
3016
3017         * WebCoreSupport.subproj/WebFileButton.m:
3018         (-[WebFileButton drawRect:]): Compute left position by starting at
3019         the right side of the button frame rather than by starting at the right
3020         side of the overall bounds. Removes dependency on fixed-width filename area.
3021         (-[WebFileButton updateLabel]): Added. Computes ellipsized filename.
3022         (-[WebFileButton setFilename:]): Use updateLabel instead of code in line here.
3023         (-[WebFileButton setFrameSize:]): Call updateLabel.
3024         (-[WebFileButton bestVisualFrameSizeForCharacterCount:]): Compute a width based
3025         on the count passed in rather than a hardcoded 200-pixel constant.
3026
3027 2002-10-27  Darin Adler  <darin@apple.com>
3028
3029         - fixed 3037369 -- Status text not cleared after start of drag from page
3030
3031         * WebView.subproj/WebHTMLView.m:
3032         (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]):
3033         Find the highest-level enclosing WebHTMLView, and call _updateMouseoverWithEvent:
3034         with the mouseUp event after the drag is done.
3035         (-[WebHTMLView mouseMovedNotification:]): Just call _updateMouseoverWithEvent:,
3036         the code from here was moved into there.
3037
3038         * WebView.subproj/WebHTMLViewPrivate.h: Declare _updateMouseoverWithEvent.
3039         * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _updateMouseoverWithEvent:]):
3040         Moved all the code from mouseMovedNotification: in here so it could be used twice.
3041
3042 2002-10-27  Don Melton  <gramps@apple.com>
3043
3044         * WebView.subproj/WebController.m:
3045         (-[WebController userAgentForURL:]):
3046
3047         Changed default user agent to Mozilla 1.1.
3048
3049 2002-10-27  Darin Adler  <darin@apple.com>
3050
3051         * Bookmarks.subproj/WebBookmarkProxy.m: (-[WebBookmarkProxy dealloc]):
3052         Added, so we don't leak the title.
3053
3054         * Bookmarks.subproj/WebBookmarkGroup.m: (-[WebBookmarkGroup removeBookmark:]):
3055         * Bookmarks.subproj/WebBookmarkList.m: (-[WebBookmarkList removeChild:]):
3056         Added retain/release pairs so we don't use an object after it's deallocated.
3057         In practice this doesn't happen the way these are used by Alex since they are
3058         in an array, but they have windows of vulnerability depending on exactly how
3059         they are used.
3060
3061 2002-10-26  Darin Adler  <darin@apple.com>
3062
3063         * WebCoreSupport.subproj/WebViewFactory.m:
3064         (-[WebViewFactory inputElementAltText]): Added.
3065         (-[WebViewFactory resetButtonDefaultLabel]): Added.
3066         (-[WebViewFactory searchableIndexIntroduction]): Added.
3067         (-[WebViewFactory submitButtonDefaultLabel]): Added.
3068         (-[WebViewFactory defaultLanguageCode]): Added.
3069
3070         * English.lproj/Localizable.strings: Update.
3071         * English.lproj/StringsNotToBeLocalized.txt: Update.
3072
3073 2002-10-25  Darin Adler  <darin@apple.com>
3074
3075         * WebCoreSupport.subproj/WebViewFactory.m:
3076         (-[WebViewFactory runJavaScriptAlertPanelWithMessage:]): Added.
3077         (-[WebViewFactory runJavaScriptConfirmPanelWithMessage:]): Added.
3078
3079         * English.lproj/Localizable.strings: Update.
3080         * English.lproj/StringsNotToBeLocalized.txt: Update.
3081
3082 2002-10-25  Richard Williamson   <rjw@apple.com>
3083
3084         Implemented support for bidi text layout.
3085         
3086         * WebCoreSupport.subproj/WebTextRenderer.m:
3087         (_drawGlyphs):
3088         (-[WebTextRenderer drawCharacters:stringLength:fromCharacterPosition:toCharacterPosition:atPoint:withPadding:withTextColor:backgroundColor:rightToLeft:]):
3089
3090 2002-10-25  Chris Blumenberg  <cblu@apple.com>
3091
3092         Made frameNamed private in WebController and renamed it to _findFrameNamed. Got rid of _frameInThisWindowNamed in WebController because it isn't needed anymore.
3093
3094         * WebView.subproj/WebController.h:
3095         * WebView.subproj/WebController.m:
3096         (-[WebController _goToItem:withFrameLoadType:]): call _findFrameNamed
3097         * WebView.subproj/WebControllerPrivate.h:
3098         * WebView.subproj/WebControllerPrivate.m:
3099         (-[WebController _findFrameNamed:]): renamed, made private, got rid of call to _frameInThisWindowNamed as it is not needed
3100         * WebView.subproj/WebFrame.m:
3101         (-[WebFrame findFrameNamed:]): call [WebController _findFrameNamed:]
3102
3103 2002-10-25  Chris Blumenberg  <cblu@apple.com>
3104
3105         - Fix case where we would name a new window _blank
3106         - If a data source can't be created for a plug-in request, don't create the frame or open a window.
3107         - cleaned up plug-in stream notifications
3108
3109         * Plugins.subproj/WebBaseNetscapePluginView.h:
3110         * Plugins.subproj/WebBaseNetscapePluginView.m:
3111         (-[WebBaseNetscapePluginView initWithFrame:]): create streamNotifications dict
3112         (-[WebBaseNetscapePluginView dealloc]): release streamNotifications dict
3113         (-[WebBaseNetscapePluginView frameStateChanged:]): cleaned up
3114         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): create data source before frame
3115         * Plugins.subproj/WebPluginController.m:
3116         (-[WebPluginController showURL:inFrame:]): create data source before frame
3117         * WebView.subproj/WebControllerPrivate.m:
3118         (-[WebController _setTopLevelFrameName:]): don't allow _blank frames
3119         * WebView.subproj/WebFrame.m:
3120         (-[WebFrame findOrCreateFramedNamed:]): no need to check for _blank
3121
3122 2002-10-25  Darin Adler  <darin@apple.com>
3123
3124         Tighten up the code that observes mouse moved events.
3125
3126         * WebView.subproj/WebHTMLView.m:
3127         (-[WebHTMLView initWithFrame:]): Don't set up observers here.
3128         (-[WebHTMLView addMouseMovedObserver]): Added some assertions.
3129         (-[WebHTMLView viewWillMoveToWindow:]): Stop observing the "become main" and "resign main"
3130         notifications here.
3131         (-[WebHTMLView viewDidMoveToWindow]): Start observing them here.
3132         (-[WebHTMLView windowDidBecomeMain:]): Assert that the notification is for this window,
3133         instead of checking with if.
3134         (-[WebHTMLView windowDidResignMain:]): Assert that the notification is for this window.
3135
3136 2002-10-25  Chris Blumenberg  <cblu@apple.com>
3137
3138         Cleaned up the frame searching shenanigans. Things are much cleaner and clearer now.
3139
3140         * Plugins.subproj/WebBaseNetscapePluginView.m:
3141         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): call findOrCreateFramedNamed
3142         * Plugins.subproj/WebPluginController.m:
3143         (-[WebPluginController showURL:inFrame:]): call findOrCreateFramedNamed
3144         * WebCoreSupport.subproj/WebBridge.m:
3145         (-[WebBridge childFrames]): moved
3146         (-[WebBridge mainFrame]): moved
3147         (-[WebBridge findOrCreateFramedNamed:]): call findOrCreateFramedNamed on the frame
3148         (-[WebBridge pluginViewWithPackage:attributes:baseURL:]): call _pluginController
3149         * WebView.subproj/WebControllerPrivate.m:
3150         (-[WebController _frameInThisWindowNamed:]): call _descendantFrameNamed
3151         * WebView.subproj/WebFrame.h:
3152         * WebView.subproj/WebFrame.m:
3153         (-[WebFrame findFrameNamed:]): was frameNamed. First checks special-case frame names, descendant frames, then the whole controller, then other controllers.
3154         (-[WebFrame findOrCreateFramedNamed:]): calls findFrameNamed, opens new window if necessary 
3155         * WebView.subproj/WebFramePrivate.h:
3156         * WebView.subproj/WebFramePrivate.m:
3157         (-[WebFrame _descendantFrameNamed:]): searches children, children's children etc.
3158         (-[WebFrame _pluginController]): this method needed an "_"
3159         * WebView.subproj/WebHTMLView.m:
3160         (-[WebHTMLView addSubview:]): call _pluginController
3161         * WebView.subproj/WebHTMLViewPrivate.m:
3162         (-[WebHTMLView _elementAtPoint:]): no need to special case for "_blank" since findFrameNamed will return nil for that name
3163
3164 2002-10-25  Trey Matteson  <trey@apple.com>
3165         
3166         2919039 - Implement limit on back/forward history list
3167         2998200 - access to most-recent in submenu of back & forward buttons
3168         3022566 - need WebKit API for accessing and visiting back/forward list items
3169         3084051 - forward button incorrectly enabled after going forward all the way
3170
3171         Remaining issues at this point are getting the title of the pages
3172         into the menu items (instead of the URL), and saving document
3173         state properly when you jump around in the list.  Solutions are
3174         known and coming soon.
3175
3176         * History.subproj/WebBackForwardList.h:
3177         Added doc comments to API.  Made ivars private.  Replaced index-
3178         based API with item-based API.  Added a sizelimit to the overall
3179         list.  Tweaked API to get back and forward lists.
3180         * History.subproj/WebBackForwardList.m:
3181         Straightforward impl of the above, with the note that I dumped
3182         WebHistoryList from the API and impl in favor of an NSArray,
3183         which is efficient for this sort of use (queue, stack).
3184         (-[WebBackForwardList init]):
3185         (-[WebBackForwardList dealloc]):
3186         (-[WebBackForwardList goBack]):
3187         (-[WebBackForwardList goForward]):
3188         (-[WebBackForwardList goToEntry:]):
3189         (-[WebBackForwardList backEntry]):
3190         (-[WebBackForwardList forwardEntry]):
3191         (-[WebBackForwardList maximumSize]):
3192         (-[WebBackForwardList setMaximumSize:]):
3193         (-[WebBackForwardList description]):
3194         * History.subproj/WebHistoryList.h: Removed.
3195         Nuked from API, per above.
3196         * History.subproj/WebHistoryList.m: Removed.
3197         * Misc.subproj/WebKit.h:
3198         WebHistoryList gone from API.
3199         * WebCoreSupport.subproj/WebBridge.m:
3200         (-[WebBridge loadURL:]):
3201         Use if/else instead of buried "return;", so next person doesn;t
3202         make the same mis-read I did.
3203         (-[WebBridge saveDocumentState:]):
3204         Site of future work.
3205         * WebKit.pbproj/project.pbxproj:
3206         Nuked WebHistoryList.
3207         * WebView.subproj/WebController.h:
3208         * WebView.subproj/WebController.m:
3209         (-[WebController goBackOrForwardToItem:]):
3210         New method to support random access nav in backforward list.
3211         * WebView.subproj/WebDataSourcePrivate.m:
3212         (-[WebDataSource _setTitle:]):
3213         Site of future work (fixing title in items)
3214         * WebView.subproj/WebFramePrivate.h:
3215         WebFrameLoadTypeIndexedBack/WebFrameLoadTypeIndexedForward are
3216         collapsed into WebFrameLoadTypeIndexedBackForward.  Vestigial
3217         WebFrameLoadTypeIntermediateBack is nuked.
3218         * WebView.subproj/WebFramePrivate.m:
3219         (-[WebFramePrivate setBackForwardItem:]):
3220         (-[WebFrame _setBackForwardItem:]):
3221         (-[WebFrame _backForwardItem]):
3222         Must remember the BF item we're going to so we can update the
3223         BF list on commit.
3224         (-[WebFrame _transitionToCommitted]):
3225         Update the BF list on commit.
3226         (-[WebFrame _isLoadComplete]):
3227         (-[WebFrame _goToItem:withFrameLoadType:]):
3228         Update BF list on within-page nav.
3229         Remember BF item we are going to for later update on commit.
3230
3231 2002-10-25  Chris Blumenberg  <cblu@apple.com>
3232
3233         Minor non-mentionable clean-up.
3234
3235         * WebCoreSupport.subproj/WebBridge.m:
3236         (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]):
3237
3238 2002-10-25  Chris Blumenberg  <cblu@apple.com>
3239
3240         Cleaned up the plug-in API headers so they can be sent to other groups.
3241
3242         * Plugins.subproj/WebPlugin.h:
3243         * Plugins.subproj/WebPluginContainer.h:
3244         * Plugins.subproj/WebPluginViewFactory.h:
3245
3246 2002-10-24  Richard Williamson   <rjw@apple.com>
3247
3248         Fixed many font substitution related bugs, at least including:
3249         3006966, 3026675, 3071106, and more... (each of these bugs
3250         has a list of related bugs). 
3251         
3252         Needs little more cleanup to correctly deal with non base characters.
3253         
3254         * WebCoreSupport.subproj/WebTextRenderer.h:
3255         * WebCoreSupport.subproj/WebTextRenderer.m:
3256         (-[WebTextRenderer drawCharacters:stringLength:fromCharacterPosition:toCharacterPosition:atPoint:withPadding:withTextColor:backgroundColor:]):
3257         (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:]):
3258         (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:]):
3259         
3260         Against Darin's better judgement prevent extra layout when not in live resize.  If
3261         this introduces any regressions I owe darin a good bottle of wine.
3262         
3263         * WebView.subproj/WebDynamicScrollBarsView.m:
3264         (-[WebDynamicScrollBarsView updateScrollers]):
3265
3266 2002-10-24  Chris Blumenberg  <cblu@apple.com>
3267
3268         New Java plug-in works! Much faster to load and no spinny cursor! Unfortunately, it very unstable.
3269
3270         * Plugins.subproj/WebPluginController.m: cleaned-up the logging messages.
3271         (-[WebPluginController addPluginView:]):
3272         (-[WebPluginController didAddPluginView:]):
3273         (-[WebPluginController startAllPlugins]):
3274         (-[WebPluginController stopAllPlugins]):
3275         (-[WebPluginController destroyAllPlugins]):
3276         * WebCoreSupport.subproj/WebBridge.m:
3277         (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURL:]): make height and width an attribute.
3278
3279 2002-10-24  Chris Blumenberg  <cblu@apple.com>
3280
3281         Some clean-up and bug fixes for new plug-in support.
3282
3283         * Plugins.subproj/WebPluginController.m:
3284         (-[WebPluginController initWithWebFrame:]): need a colon after windowWillClose
3285         (-[WebPluginController addPluginView:]): added logging
3286         (-[WebPluginController didAddPluginView:]): added logging
3287         (-[WebPluginController startAllPlugins]): added logging
3288         (-[WebPluginController stopAllPlugins]): added logging
3289         (-[WebPluginController destroyAllPlugins]): added logging
3290         * Plugins.subproj/WebPluginPackage.m:
3291         (-[WebPluginPackage getMIMEInformation]): use correct dict key for getting MIME descriptions
3292         * WebCoreSupport.subproj/WebBridge.m: no more didAddSubview
3293         * WebView.subproj/WebFramePrivate.h: no more didAddSubview
3294         * WebView.subproj/WebFramePrivate.m: no more didAddSubview
3295         * WebView.subproj/WebHTMLView.m:
3296         (-[WebHTMLView addSubview:]): call didAddPluginView on WebPluginController
3297
3298 2002-10-24  John Sullivan  <sullivan@apple.com>
3299
3300         * WebCoreSupport.subproj/WebBridge.m:
3301         (-[WebBridge objectLoadedFromCache:response:size:]):
3302         added ASSERT(response != nil), leftover from debugging
3303         session on Tuesday, seems worth leaving in.
3304
3305 2002-10-24  Darin Adler  <darin@apple.com>
3306
3307         * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
3308
3309 2002-10-24  Chris Blumenberg  <cblu@apple.com>
3310
3311         Changed some method names in WebPluginController.
3312
3313         * Plugins.subproj/WebPluginController.h:
3314         * Plugins.subproj/WebPluginController.m:
3315         (-[WebPluginController didAddPluginView:]):
3316         (-[WebPluginController startAllPlugins]):
3317         (-[WebPluginController stopAllPlugins]):
3318         (-[WebPluginController destroyAllPlugins]):
3319         (-[WebPluginController windowWillClose:]):
3320         * WebView.subproj/WebFramePrivate.m:
3321         (-[WebFrame _transitionToCommitted]):
3322         (-[WebFrame _didAddSubview:]):
3323
3324 === Alexander-29 ===
3325
3326 2002-10-24  Richard Williamson   <rjw@apple.com>
3327
3328         Don't leak request.
3329         
3330         * WebView.subproj/WebBaseResourceHandleDelegate.m:
3331         (-[WebBaseResourceHandleDelegate handle:willSendRequest:]):
3332
3333 2002-10-24  Richard Williamson   <rjw@apple.com>
3334
3335         Always copy request, we can't count on it being immutable.
3336         This was the cause of the ASSERT from last night's checkin.
3337         
3338         * WebView.subproj/WebBaseResourceHandleDelegate.m:
3339         (-[WebBaseResourceHandleDelegate handle:willSendRequest:]):
3340         
3341         Only send serverRedirectedForDataSource: if URL changed.
3342         
3343         * WebView.subproj/WebDataSourcePrivate.m:
3344         (-[WebDataSource _setRequest:]):
3345
3346 2002-10-24  Chris Blumenberg  <cblu@apple.com>
3347         
3348         - Use "MIMEType" instead of "serviceType".
3349
3350         * Plugins.subproj/WebBasePluginPackage.h:
3351         * Plugins.subproj/WebBasePluginPackage.m:
3352         (-[WebBasePluginPackage load]):
3353         (-[WebBasePluginPackage dealloc]):
3354         (-[WebBasePluginPackage filename]):
3355         (-[WebBasePluginPackage setPath:]):
3356         * Plugins.subproj/WebNetscapePluginEmbeddedView.h:
3357         * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
3358         (-[WebNetscapePluginEmbeddedView initWithFrame:plugin:URL:baseURL:MIMEType:attributes:]):
3359         * Plugins.subproj/WebNetscapePluginPackage.m:
3360         (-[WebNetscapePluginPackage getMIMEInformation]): changed name.
3361         (-[WebNetscapePluginPackage initWithPath:]):
3362         * Plugins.subproj/WebNullPluginView.h:
3363         * Plugins.subproj/WebNullPluginView.m:
3364         (-[WebNullPluginView initWithFrame:MIMEType:attributes:]):
3365         (-[WebNullPluginView dealloc]):
3366         (-[WebNullPluginView viewDidMoveToWindow]): send missing plug-ins notification here
3367         * Plugins.subproj/WebPluginPackage.m:
3368         (-[WebPluginPackage getMIMEInformation]): new, gets MIME info from plist
3369         (-[WebPluginPackage initWithPath:]):
3370         (-[WebPluginPackage dealloc]):
3371         (-[WebPluginPackage viewFactory]):
3372         (-[WebPluginPackage load]):
3373         (-[WebPluginPackage unload]):
3374         * WebCoreSupport.subproj/WebBridge.m:
3375         (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]):
3376         (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURL:]):
3377
3378 2002-10-24  Richard Williamson   <rjw@apple.com>
3379
3380         Flag error instead of ASSERTing as a result of fix to 3083013.
3381         Not clear why this condition occurs, but better than ASSERTing
3382         for Alex 29.
3383         
3384         * WebView.subproj/WebDataSourcePrivate.m:
3385         (-[WebDataSource _setRequest:]):
3386
3387 2002-10-24  Darin Adler  <darin@apple.com>
3388
3389         - fixed a crash I ran into in the new delegate code
3390
3391         * WebView.subproj/WebBaseResourceHandleDelegate.m:
3392         (-[WebBaseResourceHandleDelegate _releaseResources]): Retain self across this
3393         deallocation to avoid reentering and being deallocated midstream. This happens
3394         because the handle holds the only reference to us, and we may be releasing the
3395         last reference to it.
3396         (-[WebBaseResourceHandleDelegate dealloc]): Add call to [super dealloc].
3397
3398         * Plugins.subproj/WebBasePluginPackage.m: (-[WebBasePluginPackage dealloc]):
3399         Add call to [super dealloc].
3400
3401         * WebView.subproj/WebMainResourceClient.m: Tweak.
3402
3403 2002-10-23  Darin Adler  <darin@apple.com>
3404
3405         - fixed 3083013 -- REGRESSION: Cookie refused at http://directory/ even on reload
3406
3407         Restore a bit of the cruft.
3408
3409         * WebView.subproj/WebMainResourceClient.m:
3410         (-[WebMainResourceClient handle:willSendRequest:]):
3411         We need to change the request on the data source when a redirect happens,
3412         because the data source goes on to ultimately communicate this to WebCore.
3413         Restored the code that did that, with some changes to fit into the new regime.
3414
3415 2002-10-23  Richard Williamson  <rjw@apple.com>
3416
3417         Cleaned up months of accumulated cruft.
3418         Added base class to the three WebResourceHandleDelegate implementors.
3419         Removed superfluous handle references to controller callbacks.
3420         More can still be done.
3421         All in the name of fixing 3076050.
3422         
3423         * Misc.subproj/WebKitErrors.h:
3424         * Plugins.subproj/WebBaseNetscapePluginStream.m:
3425         (-[WebBaseNetscapePluginStream setResponse:]):
3426         * Plugins.subproj/WebNetscapePluginRepresentation.m:
3427         (-[WebNetscapePluginRepresentation receivedData:withDataSource:]):
3428         (-[WebNetscapePluginRepresentation receivedError:withDataSource:]):
3429         (-[WebNetscapePluginRepresentation finishedLoadingWithDataSource:]):
3430         * Plugins.subproj/WebNetscapePluginStream.h:
3431         * Plugins.subproj/WebNetscapePluginStream.m:
3432         (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]):
3433         (-[WebNetscapePluginStream dealloc]):
3434         (-[WebNetscapePluginStream start]):
3435         (-[WebNetscapePluginStream stop]):
3436         (-[WebNetscapePluginStream handle:willSendRequest:]):
3437         (-[WebNetscapePluginStream handle:didReceiveResponse:]):
3438         (-[WebNetscapePluginStream handle:didReceiveData:]):
3439         (-[WebNetscapePluginStream handleDidFinishLoading:]):
3440         (-[WebNetscapePluginStream handle:didFailLoadingWithError:]):
3441         * WebCoreSupport.subproj/WebBridge.m:
3442         (-[WebBridge reportBadURL:]):
3443         * WebCoreSupport.subproj/WebSubresourceClient.h:
3444         * WebCoreSupport.subproj/WebSubresourceClient.m:
3445         (-[WebSubresourceClient initWithLoader:dataSource:]):
3446         (-[WebSubresourceClient dealloc]):
3447         (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
3448         (-[WebSubresourceClient receivedError:]):
3449         (-[WebSubresourceClient handle:willSendRequest:]):
3450         (-[WebSubresourceClient handle:didReceiveResponse:]):
3451         (-[WebSubresourceClient handle:didReceiveData:]):
3452         (-[WebSubresourceClient handleDidFinishLoading:]):
3453         (-[WebSubresourceClient handle:didFailLoadingWithError:]):
3454         (-[WebSubresourceClient cancel]):
3455         * WebView.subproj/WebBaseResourceHandleDelegate.h:
3456         * WebView.subproj/WebBaseResourceHandleDelegate.m:
3457         (-[WebBaseResourceHandleDelegate init]):
3458         (-[WebBaseResourceHandleDelegate _releaseResources]):
3459         (-[WebBaseResourceHandleDelegate dealloc]):
3460         (-[WebBaseResourceHandleDelegate setDataSource:]):
3461         (-[WebBaseResourceHandleDelegate dataSource]):
3462         (-[WebBaseResourceHandleDelegate resourceLoadDelegate]):
3463         (-[WebBaseResourceHandleDelegate downloadDelegate]):
3464         (-[WebBaseResourceHandleDelegate setIsDownload:]):
3465         (-[WebBaseResourceHandleDelegate isDownload]):
3466         (-[WebBaseResourceHandleDelegate handle:willSendRequest:]):
3467         (-[WebBaseResourceHandleDelegate handle:didReceiveResponse:]):
3468         (-[WebBaseResourceHandleDelegate handle:didReceiveData:]):
3469         (-[WebBaseResourceHandleDelegate handleDidFinishLoading:]):
3470         (-[WebBaseResourceHandleDelegate handle:didFailLoadingWithError:]):
3471         (-[WebBaseResourceHandleDelegate cancel]):
3472         (-[WebBaseResourceHandleDelegate handle]):
3473         * WebView.subproj/WebControllerPrivate.h:
3474         * WebView.subproj/WebControllerPrivate.m:
3475         (-[WebController _mainReceivedBytesSoFar:fromDataSource:complete:]):
3476         (-[WebController _receivedError:fromDataSource:]):
3477         (-[WebController _mainReceivedError:fromDataSource:]):
3478         * WebView.subproj/WebDataSource.h:
3479         * WebView.subproj/WebDataSource.m:
3480         * WebView.subproj/WebDataSourcePrivate.h:
3481         * WebView.subproj/WebDataSourcePrivate.m:
3482         (-[WebDataSourcePrivate dealloc]):
3483         (-[WebDataSource _startLoading]):
3484         (-[WebDataSource _stopLoading]):
3485         (-[WebDataSource _clearErrors]):
3486         * WebView.subproj/WebFramePrivate.m:
3487         (-[WebFrame _isLoadComplete]):
3488         * WebView.subproj/WebMainResourceClient.h:
3489         * WebView.subproj/WebMainResourceClient.m:
3490         (-[WebMainResourceClient initWithDataSource:]):
3491         (-[WebMainResourceClient dealloc]):
3492         (-[WebMainResourceClient receivedError:]):
3493         (-[WebMainResourceClient cancel]):
3494         (-[WebMainResourceClient handle:willSendRequest:]):
3495         (-[WebMainResourceClient _notifyDelegatesOfInterruptionByPolicyChange]):
3496         (-[WebMainResourceClient handle:didReceiveResponse:]):
3497         (-[WebMainResourceClient handle:didReceiveData:]):
3498         (-[WebMainResourceClient handleDidFinishLoading:]):
3499         (-[WebMainResourceClient handle:didFailLoadingWithError:]):
3500         * WebView.subproj/WebResourceLoadDelegate.h:
3501
3502 2002-10-23  Chris Blumenberg  <cblu@apple.com>
3503
3504         Support for new plug-in API. This is about as much as I can do without the new java plug-in and java root.
3505
3506         * Plugins.subproj/WebPluginController.h:
3507         * Plugins.subproj/WebPluginController.m:
3508         (-[WebPluginController initWithWebFrame:]): observe window close changes
3509         (-[WebPluginController dealloc]): remove observer, assert if we're still tracking plug-ins
3510         (-[WebPluginController didAddSubview:]): start the plug-in
3511         (-[WebPluginController stopAllPlugins]): stop and destroy all plug-ins.
3512         (-[WebPluginController windowWillClose:]): call stopAllPlugins if the window in question is closing
3513         * WebView.subproj/WebFramePrivate.m:
3514         (-[WebFrame _transitionToCommitted]): call stopAllPlugins on WebPluginController
3515
3516 2002-10-23  Chris Blumenberg  <cblu@apple.com>
3517
3518         Changed the plug-in package API to return key enumerators instead dictionaries.
3519
3520         * Plugins.subproj/WebBasePluginPackage.h:
3521         * Plugins.subproj/WebBasePluginPackage.m:
3522         (-[WebBasePluginPackage initWithPath:]):
3523         (-[WebBasePluginPackage load]):
3524         (-[WebBasePluginPackage unload]):
3525         (-[WebBasePluginPackage dealloc]):
3526         (-[WebBasePluginPackage extensionEnumerator]):
3527         (-[WebBasePluginPackage MIMETypeEnumerator]):
3528         (-[WebBasePluginPackage descriptionForMIMEType:]):
3529         (-[WebBasePluginPackage MIMETypeForExtension:]):
3530         (-[WebBasePluginPackage extensionsForMIMEType:]):
3531         (-[WebBasePluginPackage setName:]):
3532         (-[WebBasePluginPackage setPath:]):
3533         (-[WebBasePluginPackage setFilename:]):
3534         (-[WebBasePluginPackage setPluginDescription:]):
3535         (-[WebBasePluginPackage setMIMEToDescriptionDictionary:]):
3536         (-[WebBasePluginPackage setMIMEToExtensionsDictionary:]):
3537         * Plugins.subproj/WebNetscapePluginPackage.h:
3538         * Plugins.subproj/WebNetscapePluginPackage.m:
3539         (-[WebNetscapePluginPackage getPluginInfo]):
3540         (-[WebNetscapePluginPackage pathByResolvingSymlinksAndAliasesInPath:]):
3541         (-[WebNetscapePluginPackage initWithPath:]):
3542         (-[WebNetscapePluginPackage executableType]):
3543         * Plugins.subproj/WebPluginController.h:
3544         * Plugins.subproj/WebPluginController.m:
3545         (-[WebPluginController didAddSubview:]):
3546         * Plugins.subproj/WebPluginDatabase.h:
3547         * Plugins.subproj/WebPluginDatabase.m:
3548         (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
3549         (-[WebPluginDatabase pluginForMIMEType:]):
3550         (-[WebPluginDatabase pluginForExtension:]):
3551         (-[WebPluginDatabase MIMETypes]):
3552         (-[WebPluginDatabase init]):
3553         * WebCoreSupport.subproj/WebBridge.m:
3554         (-[WebBridge viewForPluginWithURL:attributes:baseURL:serviceType:]):
3555         (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURL:]):
3556         (-[WebBridge didAddSubview:]): new
3557         * WebView.subproj/WebFramePrivate.h:
3558         * WebView.subproj/WebFramePrivate.m:
3559         (-[WebFrame _didAddSubview:]): new 
3560
3561 2002-10-23  Darin Adler  <darin@apple.com>
3562
3563         - finished up the job of moving the file button here from WebCore.
3564
3565         I did this mainly for localization reasons.
3566
3567         * WebCoreSupport.subproj/WebFileButton.m:
3568         (-[WebFileButton initWithFrame:]): Set up button control size, font, bezel style,
3569         target, and action. Also add it as a subview.
3570         (-[WebFileButton drawRect:]): Center icon in the "visual frame" part of the view,
3571         not the entire bounds.
3572         (-[WebFileButton setFilename:]): Don't show any icon when the filename is empty.
3573         (-[WebFileButton bestVisualFrameSize]): Implemented this.
3574         (-[WebFileButton visualFrame]): Ditto.
3575         (-[WebFileButton setVisualFrame:]): Ditto.
3576         (-[WebFileButton baseline]): Ditto.
3577         (-[WebFileButton beginSheet]): Added. Shared between button presses and other clicks.
3578         (-[WebFileButton chooseButtonPressed:]): Call beginSheet.
3579         (-[WebFileButton mouseDown:]): Ditto.
3580         (-[WebFileButton openPanelDidEnd:returnCode:contextInfo:]): Send the notification,
3581         WebCoreFileButtonFilenameChanged, when the filename is changed.
3582
3583         * WebView.subproj/WebController.m: (-[WebController policyDelegate]):
3584         Add a FIXME about the leak I found here.
3585
3586 2002-10-23  Chris Blumenberg  <cblu@apple.com>
3587
3588         Call the arguments for plug-ins "attributes" everywhere.
3589
3590         * Plugins.subproj/WebBaseNetscapePluginView.h:
3591         * Plugins.subproj/WebBaseNetscapePluginView.m:
3592         (-[WebBaseNetscapePluginView setAttributes:]):
3593         * Plugins.subproj/WebNetscapePluginEmbeddedView.h:
3594         * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
3595         (-[WebNetscapePluginEmbeddedView initWithFrame:plugin:URL:baseURL:mime:attributes:]):
3596         * Plugins.subproj/WebNullPluginView.h:
3597         * Plugins.subproj/WebNullPluginView.m:
3598         (-[WebNullPluginView initWithFrame:mimeType:attributes:]):
3599         (-[WebNullPluginView drawRect:]):
3600         * Plugins.subproj/WebPluginController.h:
3601         * Plugins.subproj/WebPluginController.m:
3602         (-[WebPluginController initWithWebFrame:]):
3603         (-[WebPluginController dealloc]):
3604         (-[WebPluginController addPluginView:]):
3605         * Plugins.subproj/WebPluginPackage.h:
3606         * Plugins.subproj/WebPluginPackage.m:
3607         (-[WebPluginPackage viewFactory]):
3608         * WebCoreSupport.subproj/WebBridge.m:
3609         (-[WebBridge pluginViewWithPackage:attributes:baseURL:]):
3610         (-[WebBridge viewForPluginWithURL:attributes:baseURL:serviceType:]):
3611         (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURL:]):
3612
3613 2002-10-23  Chris Blumenberg  <cblu@apple.com>
3614
3615         * WebCoreSupport.subproj/WebBridge.m:
3616         (-[WebBridge requestedURL]):
3617         (-[WebBridge viewForPluginWithURL:serviceType:arguments:baseURL:]):
3618         (-[WebBridge viewForJavaAppletWithFrame:baseURL:parameters:]):
3619         * WebCoreSupport.subproj/WebViewFactory.m:
3620         (-[WebViewFactory fileButton]):
3621         (-[WebViewFactory pluginsInfo]):
3622
3623 2002-10-23  Darin Adler  <darin@apple.com>
3624
3625         - fix bug where plugins crashed closing a stream that was never opened
3626
3627         * Plugins.subproj/WebBaseNetscapePluginStream.h: Change type for parameter of
3628         receivedError: to NPReason. It's not NPError.
3629         * Plugins.subproj/WebBaseNetscapePluginStream.m:
3630         (-[WebBaseNetscapePluginStream dealloc]): Assert that stream is destroyed by
3631         checking stream.ndata.
3632         (-[WebBaseNetscapePluginStream setResponse:]): Set stream.ndata to nil if the
3633         stream is not successfully created by NPP_NewStream.
3634         (-[WebBaseNetscapePluginStream destroyStreamWithReason:]): Added. Destroys the
3635         stream, but only if it's present. Also set stream.ndata to nil. This was the bug fix.
3636         (-[WebBaseNetscapePluginStream receivedError:]): Call destroyStreamWithReason:.
3637         (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): Call destroyStreamWithReason:.
3638
3639         * English.lproj/Localizable.strings: Update.
3640         * English.lproj/StringsNotToBeLocalized.txt: Update.
3641
3642 2002-10-23  Chris Blumenberg  <cblu@apple.com>
3643
3644         Forgot to add WebPluginController back to the project after I had a project conflict.
3645
3646         * WebKit.pbproj/project.pbxproj:
3647
3648 2002-10-23  Chris Blumenberg  <cblu@apple.com>
3649
3650         Added WebPluginController which controls and reacts to plug-in requests. Its owned by the WebFrame.
3651
3652         * Plugins.subproj/WebPluginController.h: Added.
3653         * Plugins.subproj/WebPluginController.m: Added.
3654         (-[WebPluginController initWithWebFrame:]):
3655         (-[WebPluginController showURL:inFrame:]):
3656         (-[WebPluginController showStatus:]):
3657         * WebView.subproj/WebFramePrivate.h:
3658         * WebView.subproj/WebFramePrivate.m:
3659         (-[WebFramePrivate dealloc]):
3660         (-[WebFrame pluginController]):
3661
3662 2002-10-23  Darin Adler  <darin@apple.com>
3663
3664         Add WebFileButton, to be used by WebCore soon. It's about 1/2
3665         done right now. Compiles but not used yet.
3666
3667         * WebCoreSupport.subproj/WebViewFactory.m: (-[WebViewFactory fileButton]): Added.
3668
3669         * WebCoreSupport.subproj/WebFileButton.h: Added.
3670         * WebCoreSupport.subproj/WebFileButton.m: Added.
3671         * WebKit.pbproj/project.pbxproj: Added WebFileButton files.
3672
3673         * WebCoreSupport.subproj/WebSubresourceClient.m:
3674         (-[WebSubresourceClient handle:didReceiveResponse:]): Add an assertion.
3675
3676 2002-10-23  Maciej Stachowiak  <mjs@apple.com>
3677
3678         - fixed 2876448 - The authentication panel should give a note when
3679         the user tried to log in and failed
3680
3681         Also, made the message different (and more helpful) when the
3682         authentication is for a proxy server.
3683         
3684         * Panels.subproj/WebAuthenticationPanel.m:
3685         (-[WebAuthenticationPanel setUpForRequest:]): Use different
3686         messages depending on proxy and previous failure count.
3687
3688         Updated localized strings:
3689         
3690         * English.lproj/Localizable.strings:
3691         * English.lproj/StringsNotToBeLocalized.txt:
3692
3693 2002-10-23  Maciej Stachowiak  <mjs@apple.com>
3694
3695         - fixed 2876446 - The label in the authentication panel needs to
3696         adjust its height depending on content
3697
3698         Also improved [NSControl sizeToFitAndAdjustWindowHeight] method.
3699         
3700         * Panels.subproj/English.lproj/WebAuthenticationPanel.nib: Adjusted
3701         springs.
3702         * Panels.subproj/WebAuthenticationPanel.m:
3703         (-[WebAuthenticationPanel setUpForRequest:]): Use
3704         sizeToFitAndAdjustWindowHeight on main label.
3705         
3706         * Misc.subproj/WebNSControlExtras.m:
3707         (-[NSControl sizeToFitAndAdjustWindowHeight]): Improved the logic
3708         so the best height is picked while leaving the width
3709         alone. Before, the label would always come out to be a very wide
3710         single line.
3711
3712 2002-10-22  Maciej Stachowiak  <mjs@apple.com>
3713
3714         * WebKit.pbproj/project.pbxproj: Made WebControllerSets.h
3715         private. Also alphabetized headers in target pane and subproject
3716         folders.
3717
3718 2002-10-22  Chris Blumenberg  <cblu@apple.com>
3719
3720         load and unload is only a WebNetscapePluginPackage thing since you can't unload an NSBundle.
3721
3722         * Plugins.subproj/WebBasePluginPackage.h:
3723         * Plugins.subproj/WebBasePluginPackage.m:
3724         * Plugins.subproj/WebNetscapePluginPackage.h:
3725
3726 2002-10-22  Chris Blumenberg  <cblu@apple.com>
3727
3728         More moving stuff around for the new plug-in API. Added WebBasePluginPackage and added subclass WebPluginPackage. Also made WebNetscapePluginPackage a subclass of WebBasePluginPackage. 
3729
3730         * Plugins.subproj/WebBasePluginPackage.h: Added.
3731         * Plugins.subproj/WebBasePluginPackage.m: Added.
3732         (+[WebBasePluginPackage pluginWithPath:]): creates a WebPluginPackage or WebNetscapePluginPackage
3733         (-[WebBasePluginPackage initWithPath:]):
3734         (-[WebBasePluginPackage name]):
3735         (-[WebBasePluginPackage path]):
3736         (-[WebBasePluginPackage filename]):
3737         (-[WebBasePluginPackage pluginDescription]):
3738         (-[WebBasePluginPackage extensionToMIMEDictionary]):
3739         (-[WebBasePluginPackage MIMEToExtensionsDictionary]):
3740         (-[WebBasePluginPackage MIMEToDescriptionDictionary]):
3741         (-[WebBasePluginPackage load]):
3742         (-[WebBasePluginPackage unload]):
3743         (-[WebBasePluginPackage isLoaded]):
3744         (-[WebBasePluginPackage description]):
3745         * Plugins.subproj/WebNetscapePluginDocumentView.m:
3746         (-[WebNetscapePluginDocumentView setDataSource:]):
3747         * Plugins.subproj/WebNetscapePluginPackage.h:
3748         * Plugins.subproj/WebNetscapePluginPackage.m:
3749         (-[WebNetscapePluginPackage initWithPath:]):
3750         * Plugins.subproj/WebPluginDatabase.h:
3751         * Plugins.subproj/WebPluginDatabase.m:
3752         (-[WebPluginDatabase pluginForMIMEType:]):
3753         (-[WebPluginDatabase pluginForExtension:]):
3754         (-[WebPluginDatabase pluginForFilename:]):
3755         (-[WebPluginDatabase MIMETypes]):
3756         (-[WebPluginDatabase init]):
3757         * Plugins.subproj/WebPluginPackage.h: Added.
3758         * Plugins.subproj/WebPluginPackage.m: Added.
3759         (-[WebPluginPackage initWithPath:]):
3760         * WebCoreSupport.subproj/WebViewFactory.m:
3761         (-[WebViewFactory viewForPluginWithURL:serviceType:arguments:baseURL:]): check the class of the plug-in when deciding which view to create.
3762         (-[WebViewFactory viewForJavaAppletWithFrame:baseURL:parameters:]): same here.
3763         * WebKit.pbproj/project.pbxproj:
3764
3765 2002-10-22  David Hyatt  <hyatt@apple.com>
3766
3767         Getting XML docs at least made for XML files...
3768         
3769         * WebView.subproj/WebHTMLRepresentation.m:
3770         (-[WebHTMLRepresentation setDataSource:]):
3771
3772 2002-10-22  Chris Blumenberg  <cblu@apple.com>
3773
3774         Made new plug-in API headers private.
3775
3776         * WebKit.pbproj/project.pbxproj:
3777
3778 2002-10-22  Darin Adler  <darin@apple.com>
3779
3780         * Misc.subproj/WebKitErrors.h:
3781         * WebView.subproj/WebMainResourceClient.m:
3782         (-[WebMainResourceClient handle:willSendRequest:]):
3783         (-[WebMainResourceClient handle:didReceiveResponse:]):
3784         Rename WebErrorLocationChangeInterruptedByURLPolicyChange to
3785         WebErrorLocationChangeInterruptedByPolicyChange.
3786
3787 2002-10-22  Darin Adler  <darin@apple.com>
3788
3789         * WebView.subproj/WebMainResourceClient.m:
3790         (-[WebMainResourceClient handle:didReceiveResponse:]):
3791         Send the new error whenever a policy change happens. The old code was
3792         sending a successful completion in the download and ignore cases.
3793
3794 2002-10-22  John Sullivan  <sullivan@apple.com>
3795
3796         - fixed 3080873 -- Error in console when no bookmark file 
3797         found -[WebBookmarkGroup _loadBookmarkGroupGuts]
3798
3799         * Bookmarks.subproj/WebBookmarkGroup.m:
3800         (-[WebBookmarkGroup _loadBookmarkGroupGuts]):
3801         removed ERROR that was useful only long ago.
3802
3803 2002-10-22  Richard Williamson  <rjw@apple.com>
3804
3805         Added stubs from common WebResourceHandleDelegate base
3806         class.
3807         
3808         * Plugins.subproj/WebBaseNetscapePluginStream.h:
3809         * Plugins.subproj/WebNetscapePluginStream.h:
3810         * WebCoreSupport.subproj/WebSubresourceClient.h:
3811         * WebKit.pbproj/project.pbxproj:
3812         * WebView.subproj/WebBaseResourceHandleDelegate.h: Added.
3813         * WebView.subproj/WebBaseResourceHandleDelegate.m: Added.
3814         * WebView.subproj/WebMainResourceClient.h:
3815
3816 2002-10-22  Darin Adler  <darin@apple.com>
3817
3818         Make the panel position itself above the main window.
3819         Too bad we can't use a sheet, but this is better than a random position.
3820
3821         * WebCoreSupport.subproj/WebJavaScriptTextInputPanel.m:
3822         (-[WebJavaScriptTextInputPanel initWithPrompt:text:]):
3823         Use the new [NSWindow sizeToFitAndAdjustWindowHeight]
3824         and [NSControl sizeToFitAndAdjustWindowHeight].
3825
3826         * Misc.subproj/WebNSControlExtras.h: Added.
3827         * Misc.subproj/WebNSControlExtras.m: Added.
3828         * Misc.subproj/WebNSWindowExtras.h: Added.
3829         * Misc.subproj/WebNSWindowExtras.m: Added.
3830         * WebKit.pbproj/project.pbxproj: Added above files.
3831
3832         * English.lproj/StringsNotToBeLocalized.txt: Update.
3833
3834 2002-10-22  Ken Kocienda  <kocienda@apple.com>
3835
3836         * Misc.subproj/WebKitErrors.h: Add new error code to signify that a location
3837         change has been interrupted by a change in the URLPolicy governing the load.
3838         * WebView.subproj/WebMainResourceClient.m:
3839         (-[WebMainResourceClient handle:willSendRequest:]): Add code to check the URLPolicy
3840         for the URL in the request that is submitted to us in this delegate method. Send
3841         a locationChangeDone:forDataSource: message with an error using the newly-defined
3842         code in cases where the location change should be cancelled.
3843
3844 2002-10-22  Chris Blumenberg  <cblu@apple.com>
3845
3846         Added protocol headers for new plug-in API.
3847
3848         * Plugins.subproj/WebPlugin.h: Added.
3849         * Plugins.subproj/WebPluginContainer.h: Added.
3850         * Plugins.subproj/WebPluginViewFactory.h: Added.
3851         * WebKit.pbproj/project.pbxproj:
3852
3853 2002-10-22  Chris Blumenberg  <cblu@apple.com>
3854
3855         - Moved things around to make room for new plug-in API.
3856         - Renamed WebNetscapePlugin to WebNetscapePluginPackage.
3857         - Renamed WebNetscapePluginDatabase to WebPluginDatabase.
3858
3859         * Plugins.subproj/WebBaseNetscapePluginStream.m:
3860         (-[WebBaseNetscapePluginStream setPluginPointer:]):
3861         * Plugins.subproj/WebBaseNetscapePluginView.h:
3862         * Plugins.subproj/WebBaseNetscapePluginView.m:
3863         (-[WebBaseNetscapePluginView plugin]):
3864         * Plugins.subproj/WebNetscapePluginDocumentView.m:
3865         (-[WebNetscapePluginDocumentView setDataSource:]):
3866         * Plugins.subproj/WebNetscapePluginEmbeddedView.h:
3867         * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
3868         (-[WebNetscapePluginEmbeddedView initWithFrame:plugin:URL:baseURL:mime:arguments:]):
3869         * Plugins.subproj/WebNetscapePluginNullEventSender.h: Added.
3870         * Plugins.subproj/WebNetscapePluginNullEventSender.m: Added.
3871         (-[WebNetscapePluginNullEventSender initWithPluginView:]):
3872         (-[WebNetscapePluginNullEventSender dealloc]):
3873         (-[WebNetscapePluginNullEventSender sendNullEvents]):
3874         (-[WebNetscapePluginNullEventSender stop]):
3875         * Plugins.subproj/WebNetscapePluginPackage.h: Added.
3876         * Plugins.subproj/WebNetscapePluginPackage.m: Added.
3877         (-[WebNetscapePluginPackage openResourceFile]):
3878         (-[WebNetscapePluginPackage closeResourceFile:]):
3879         (-[WebNetscapePluginPackage stringForStringListID:andIndex:]):
3880         (-[WebNetscapePluginPackage getPluginInfo]):
3881         (-[WebNetscapePluginPackage stringByResolvingSymlinksAndAliasesInPath:]):
3882         (-[WebNetscapePluginPackage initWithPath:]):
3883         (-[WebNetscapePluginPackage load]):
3884         (-[WebNetscapePluginPackage unload]):
3885         (-[WebNetscapePluginPackage NPP_SetWindow]):
3886         (-[WebNetscapePluginPackage NPP_New]):
3887         (-[WebNetscapePluginPackage NPP_Destroy]):
3888         (-[WebNetscapePluginPackage NPP_NewStream]):
3889         (-[WebNetscapePluginPackage NPP_StreamAsFile]):
3890         (-[WebNetscapePluginPackage NPP_DestroyStream]):
3891         (-[WebNetscapePluginPackage NPP_WriteReady]):
3892         (-[WebNetscapePluginPackage NPP_Write]):
3893         (-[WebNetscapePluginPackage NPP_HandleEvent]):
3894         (-[WebNetscapePluginPackage NPP_URLNotify]):
3895         (-[WebNetscapePluginPackage NPP_GetValue]):
3896         (-[WebNetscapePluginPackage NPP_SetValue]):
3897         (-[WebNetscapePluginPackage NPP_Print]):
3898         (-[WebNetscapePluginPackage MIMEToExtensionsDictionary]):
3899         (-[WebNetscapePluginPackage extensionToMIMEDictionary]):
3900         (-[WebNetscapePluginPackage MIMEToDescriptionDictionary]):
3901         (-[WebNetscapePluginPackage name]):
3902         (-[WebNetscapePluginPackage filename]):
3903         (-[WebNetscapePluginPackage path]):
3904         (-[WebNetscapePluginPackage isLoaded]):
3905         (-[WebNetscapePluginPackage pluginDescription]):
3906         (-[WebNetscapePluginPackage description]):
3907         (functionPointerForTVector):
3908         (tVectorForFunctionPointer):
3909         * Plugins.subproj/WebPlugin.h: Removed.
3910         * Plugins.subproj/WebPlugin.m: Removed.
3911         * Plugins.subproj/WebPluginDatabase.h:
3912         * Plugins.subproj/WebPluginDatabase.m:
3913         (+[WebPluginDatabase installedPlugins]):
3914         (-[WebPluginDatabase pluginForMIMEType:]):
3915         (-[WebPluginDatabase pluginForExtension:]):
3916         (-[WebPluginDatabase pluginForFilename:]):
3917         (-[WebPluginDatabase MIMETypes]):
3918         (-[WebPluginDatabase init]):
3919         * Plugins.subproj/WebPluginNullEventSender.h: Removed.
3920         * Plugins.subproj/WebPluginNullEventSender.m: Removed.
3921         * WebCoreSupport.subproj/WebViewFactory.m:
3922         (-[WebViewFactory viewForPluginWithURL:serviceType:arguments:baseURL:]):
3923         (-[WebViewFactory pluginsInfo]):
3924         (-[WebViewFactory viewForJavaAppletWithFrame:baseURL:parameters:]):
3925         * WebKit.pbproj/project.pbxproj:
3926         * WebView.subproj/WebController.m:
3927         (+[WebController canShowMIMEType:]):
3928
3929 2002-10-22  Darin Adler  <darin@apple.com>
3930
3931         * WebCoreSupport.subproj/WebJavaScriptTextInputPanel.m: Added missing import.
3932
3933 2002-10-22  Darin Adler  <darin@apple.com>
3934
3935         - fixed 3077305 -- js dialog not yet implemented - crash (fatal error)
3936
3937         * WebCoreSupport.subproj/WebViewFactory.m:
3938         (-[WebViewFactory runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]):
3939         Create a WebJavaScriptTextInputPanel and run it.
3940
3941         * English.lproj/WebJavaScriptTextInputPanel.nib: Added.
3942         * WebCoreSupport.subproj/WebJavaScriptTextInputPanel.h: Added.
3943         * WebCoreSupport.subproj/WebJavaScriptTextInputPanel.m: Added.
3944         * WebKit.pbproj/project.pbxproj: Added 
3945
3946 2002-10-22  Chris Blumenberg  <cblu@apple.com>
3947
3948         Use the mouseDown point instead of the mouseDragged point to determine the mouseOffset when dragging images. When you drag an image now, the point where you clicked is the point where the cursor is in relation to the drag image.
3949
3950         * WebView.subproj/WebHTMLView.m:
3951         (-[WebHTMLView mouseDown:]): retain the mouse down event
3952         (-[WebHTMLView mouseDragged:]): use the mouse down event
3953         * WebView.subproj/WebHTMLViewPrivate.h:
3954         * WebView.subproj/WebHTMLViewPrivate.m:
3955         (-[WebHTMLViewPrivate dealloc]): release the mouse down event
3956
3957 2002-10-21  Darin Adler  <darin@apple.com>
3958
3959         * WebCoreSupport.subproj/WebViewFactory.h: Changed to use new protocol scheme so we
3960         get an error if we forget to implement something.
3961         * WebCoreSupport.subproj/WebViewFactory.m:
3962         (-[WebViewFactory runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]): Stub.
3963
3964 2002-10-21  Richard Williamson   <rjw@apple.com>
3965
3966         More incremental tweaks.  Will be factoring common
3967         handle delegate behavior into base class.
3968         
3969         * Plugins.subproj/WebNetscapePluginStream.m:
3970         (-[WebNetscapePluginStream handle:didReceiveData:]):
3971         (-[WebNetscapePluginStream handleDidFinishLoading:]):
3972         * WebCoreSupport.subproj/WebBridge.m:
3973         (-[WebBridge objectLoadedFromCache:response:size:]):
3974         * WebCoreSupport.subproj/WebSubresourceClient.m:
3975         (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
3976         (-[WebSubresourceClient handle:didReceiveData:]):
3977         (-[WebSubresourceClient handleDidFinishLoading:]):
3978         * WebView.subproj/WebControllerPrivate.h:
3979         * WebView.subproj/WebControllerPrivate.m:
3980         (-[WebController _finsishedLoadingResourceFromDataSource:]):
3981
3982 2002-10-21  Trey Matteson  trey@apple.com
3983
3984         Fixed typos and other doc comment errors found during API review.
3985
3986         * WebView.subproj/WebController.h:
3987
3988 2002-10-21  Richard Williamson   <rjw@apple.com>
3989
3990         Changed WebResourceLoadDelegate methods to include an identifier
3991         as first parameter.  This will help clients track callbacks relating
3992         to a particular resource.  Added identifierForInitialRequest:fromDataSource:
3993         so clients can create their own identifier.
3994         
3995         * WebCoreSupport.subproj/WebBridge.m:
3996         (-[WebBridge objectLoadedFromCache:response:size:]):
3997         * WebCoreSupport.subproj/WebSubresourceClient.h:
3998         * WebCoreSupport.subproj/WebSubresourceClient.m:
3999         (-[WebSubresourceClient handle:willSendRequest:]):
4000         (-[WebSubresourceClient handle:didReceiveResponse:]):
4001         (-[WebSubresourceClient handle:didReceiveData:]):
4002         (-[WebSubresourceClient handleDidFinishLoading:]):
4003         (-[WebSubresourceClient handle:didFailLoadingWithError:]):
4004         * WebView.subproj/WebController.m:
4005         (-[WebResourceLoadDelegate identifierForInitialRequest:fromDataSource:]):
4006         (-[WebResourceLoadDelegate resource:willSendRequest:fromDataSource:]):
4007         (-[WebResourceLoadDelegate resource:didReceiveResponse:fromDataSource:]):
4008         (-[WebResourceLoadDelegate resource:didReceiveContentLength:fromDataSource:]):
4009         (-[WebResourceLoadDelegate resource:didFinishLoadingFromDataSource:]):
4010         (-[WebResourceLoadDelegate resource:didFailLoadingWithError:fromDataSource:]):
4011         * WebView.subproj/WebMainResourceClient.h:
4012         * WebView.subproj/WebMainResourceClient.m:
4013         (-[WebMainResourceClient receivedError:forHandle:]):
4014         (-[WebMainResourceClient handleDidFinishLoading:]):
4015         (-[WebMainResourceClient handle:willSendRequest:]):
4016         (-[WebMainResourceClient handle:didReceiveResponse:]):
4017         (-[WebMainResourceClient handle:didReceiveData:]):
4018         (-[WebMainResourceClient handle:didFailLoadingWithError:]):
4019         * WebView.subproj/WebResourceLoadDelegate.h:
4020
4021 2002-10-21  Chris Blumenberg  <cblu@apple.com>
4022
4023         Changed content policy API to pass a response instead of MIME type so client can get the mime type and filename from one class.
4024
4025         * WebView.subproj/WebControllerPolicyDelegate.h:
4026         * WebView.subproj/WebDefaultPolicyDelegate.m:
4027         * WebView.subproj/WebMainResourceClient.m:
4028         (-[WebMainResourceClient handle:didReceiveResponse:]):
4029
4030 2002-10-21  Darin Adler  <darin@apple.com>
4031
4032         - fixed 3080512 -- REGRESSION: moving from old page to new one, we get blank white
4033         before the new one is ready
4034
4035         Roll out a bunch of my changes, because they weren't complete. Added FIXMEs for the
4036         problems I was unsuccessfully trying to fix.
4037
4038         * WebView.subproj/WebFramePrivate.m: (-[WebFrame _setState:]):
4039         * WebView.subproj/WebView.m:
4040         (-[WebView initWithFrame:]), (-[WebView isOpaque]), (-[WebView drawRect:]):
4041         Roll back.
4042
4043 2002-10-21  Darin Adler  <darin@apple.com>
4044
4045         - fixed 3080246 -- REGRESSION: Animated GIFs sometimes disappear after drag or scroll
4046
4047         Once more, with feeling.
4048
4049         * WebView.subproj/WebHTMLView.m:
4050         (-[WebHTMLView _setNeedsLayoutIfSizeChanged:]): Added setNeedsDisplay:YES here. The lack
4051         of this is what caused the bug. But also don't do any work when the size doesn't change.
4052         This prevents this from being called at all in the scrolling case, which is what we want.
4053         (-[WebHTMLView viewWillMoveToSuperview:]): Just the name change.
4054         (-[WebHTMLView layout]): Store the layout size for the above methods.
4055         * WebView.subproj/WebHTMLViewPrivate.h: Add a place to store the size.
4056
4057         * WebView.subproj/WebImageView.m: (-[WebImageView layout]):
4058         Roll this change back in.
4059
4060 2002-10-21  Darin Adler  <darin@apple.com>
4061
4062         - fixed 3080246 -- REGRESSION: Animated GIFs sometimes disappear after drag or scroll
4063
4064         * WebView.subproj/WebImageView.m: (-[WebImageView layout]):
4065         My change to this caused the regression. Not sure why, but I'll just back out
4066         because the change wasn't important.
4067
4068 2002-10-20  Chris Blumenberg  <cblu@apple.com>
4069
4070         Fixed: 3025847 - Can't use any menu command keys after clicking on a plugin
4071
4072         Don't give plug-ins command-modified keys anymore because the ability wasn't worth the annoyance. If only plug-ins truthfully responded t  events! Anyway, filed 3080103 so that I can look into a way to make this work for everybody.
4073
4074         * Plugins.subproj/WebBaseNetscapePluginView.m:
4075
4076 2002-10-20  Chris Blumenberg  <cblu@apple.com>
4077
4078         Fixed: 3025868 - Plugin context menu disappears then reappears if you click off of it
4079
4080         Also fixed some rare dragging weirdness in WebHTMLView. If you attempted to drag a plug-in after dragging an image, the image would drag again.
4081
4082         * Plugins.subproj/WebBaseNetscapePluginView.m:
4083         (-[WebBaseNetscapePluginView mouseDragged:]): subclass and do nothing to prevent calling mouseDragged in WebHTMLView
4084         (-[WebBaseNetscapePluginView performKeyEquivalent:]): no changes to this method, removed menuForEvent, wasn't needed after all
4085         * Plugins.subproj/WebNetscapePluginStream.m:
4086         (-[WebNetscapePluginStream stop]): minor clean-up
4087
4088 2002-10-20  Darin Adler  <darin@apple.com>
4089
4090         - fixed a minor problem with autorelease I just ran into
4091
4092         * WebView.subproj/WebHTMLViewPrivate.m: (+[WebHTMLView load]):
4093         Create an autorelease pool for the benefit of the class initialize
4094         functions that will be called.
4095
4096 2002-10-20  Chris Blumenberg  <cblu@apple.com>
4097
4098         Fixed 3050010: Should show contextual menu for WebImageView
4099         Also made drags from WebImageView work.
4100
4101         * Misc.subproj/WebNSViewExtras.h:
4102         * Misc.subproj/WebNSViewExtras.m: added _web_setPromisedImageDragImage which does the hackery to extend the promised file drag for images
4103         * WebView.subproj/WebControllerPrivate.h:
4104         * WebView.subproj/WebControllerPrivate.m:
4105         (-[WebController _menuForElement:]): added, gets menu items from delegate and creates menu
4106         * WebView.subproj/WebHTMLView.m:
4107         (-[WebHTMLView menuForEvent:]): simplified, gets element and calls -[WebController _menuForElement:]
4108         (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]): call _web_setPromisedImageDragImage: when dragging image
4109         * WebView.subproj/WebImageRepresentation.h:
4110         * WebView.subproj/WebImageRepresentation.m:
4111         (-[WebImageRepresentation dealloc]): release the URL
4112         (-[WebImageRepresentation URL]): added so WebImageView can get the URL
4113         (-[WebImageRepresentation setDataSource:]): retain the URL
4114         * WebView.subproj/WebImageView.h: use new drag bools
4115         * WebView.subproj/WebImageView.m:
4116         (-[WebImageView initWithFrame:]): ditto
4117         (-[WebImageView setAcceptsDrags:]): ditto
4118         (-[WebImageView acceptsDrags]): ditto
4119         (-[WebImageView setAcceptsDrops:]): ditto
4120         (-[WebImageView acceptsDrops]): ditto
4121         (-[WebImageView controller]): new
4122         (-[WebImageView menuForEvent:]): new, creates element and calls -[WebController _menuForElement:]
4123         (-[WebImageView mouseDragged:]): drag promised file
4124         (-[WebImageView dragImage:at:offset:event:pasteboard:source:slideBack:]): call _web_setPromisedImageDragImage:
4125         (-[WebImageView namesOfPromisedFilesDroppedAtDestination:]): new
4126
4127 2002-10-20  Darin Adler  <darin@apple.com>
4128
4129         - fixed a problem where you would get garbage bits when resizing while loading a standalone image
4130
4131         Cleaned up some of the complexity of how we were handling resizing.
4132
4133         * WebView.subproj/WebDynamicScrollBarsView.m: (-[WebDynamicScrollBarsView updateScrollers]):
4134         Do the update twice to properly handle the case where a disappearing scroller makes a second
4135         scroller appear or vice versa.
4136
4137         * WebView.subproj/WebFramePrivate.m: (-[WebFrame _setState:]): Remove the code that was trying
4138         to set the setDrawsBackground flag on the scroll view. It was doing it wrong, causing bugs with
4139         drawing non-HTML views while loading. Also, it wasn't working as an optimization, since the
4140         window was still drawing the metallic background behind. We can revisit adding an optimization
4141         at the WebHTMLView level if it creates a measurable speed increase, but we must be careful to
4142         test loading with non-HTML views along with the HTML cases.
4143
4144         * WebView.subproj/WebHTMLView.m:
4145         (-[WebHTMLView _setNeedsLayoutToYes:]): Added. Calls setNeedsLayout:YES.
4146         (-[WebHTMLView viewWillMoveToSuperview:]): Added. Registers so we get _setNeedsLayoutToYes:
4147         calls when the superview's size changes. This allows us to do a layout at all the right times.
4148         (-[WebHTMLView layout]): Call setNeedsDisplay:YES, because if we do a layout without a complete
4149         display the screen will look bad. Also do a reapplyStyles, because if there are pending style
4150         changes we want to apply them before doing a layout since they could affect the layout.
4151         (-[WebHTMLView drawRect:]): Remove the special case that says to always relayout during live
4152         resize, because it works without a special case now. For the other live resize case, turn it from
4153         a special case into a general one. Any time layout is done, make sure to draw the entire view,
4154         not just the passed-in rectangle, and call setNeedsDisplay:NO so we don't do it all over again.
4155
4156         * WebView.subproj/WebImageView.m: (-[WebImageView layout]): Explicitly set frame size to
4157         0,0 when there is no image.
4158
4159         * WebView.subproj/WebView.m: Remove now-unnecessary viewWillStartLiveResize, setFrame:,
4160         viewDidEndLiveResize, isOpaque, and drawRect overrides.
4161         (-[WebView initWithFrame:]): Don't call setDrawsBackground:NO for the reasons above.
4162         Don't set scroll bar visibility because the dynamic scroll bars view handles that already.
4163
4164 2002-10-19  Darin Adler  <darin@apple.com>
4165
4166         - fixed 3073693 -- flash drawn to screen even when window minimized
4167
4168         * Plugins.subproj/WebBaseNetscapePluginView.m:
4169         (-[WebBaseNetscapePluginView start]): Set up additional notifications.
4170         Don't start the null event sender if the window is miniaturized.
4171         (-[WebBaseNetscapePluginView windowDidMiniaturize:]): Stop the null event sender.
4172         (-[WebBaseNetscapePluginView windowDidDeminiaturize:]): Start the null event sender.
4173
4174 2002-10-19  Darin Adler  <darin@apple.com>
4175
4176         * WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionToCommitted]):
4177         Removed stray printf.
4178
4179 2002-10-18  Richard Williamson   <rjw@apple.com>
4180
4181         Changed name to setUsesBackForwardList: from
4182         setUseBackForwardList.  ditto for useBackForwardList
4183         
4184         * WebView.subproj/WebController.h:
4185         * WebView.subproj/WebController.m:
4186         (-[WebController setUsesBackForwardList:]):
4187         (-[WebController usesBackForwardList]):
4188         * WebView.subproj/WebFramePrivate.m:
4189         (-[WebFrame _transitionToCommitted]):
4190         (-[WebFrame _isLoadComplete]):
4191
4192         Fixed history items that have "untitled" title after
4193         redirect. (3078577).
4194         
4195         * WebView.subproj/WebDataSourcePrivate.m:
4196         (-[WebDataSource _setTitle:]):
4197
4198 2002-10-18  Darin Adler  <darin@apple.com>
4199
4200         * WebView.subproj/WebController.h:
4201         * WebView.subproj/WebController.m:
4202         (-[WebController stringByEvaluatingJavaScriptFromString:]):
4203         Changed to return a string and changed name.
4204
4205 2002-10-18  Darin Adler  <darin@apple.com>
4206
4207         * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
4208
4209 2002-10-18  Ken Kocienda  <kocienda@apple.com>
4210
4211         Removed unneeded import of WebFoundation/WebResourceLoadManager.h
4212
4213         * Misc.subproj/WebIconLoader.m
4214
4215 2002-10-18  Darin Adler  <darin@apple.com>
4216
4217         * Makefile.am: Move dependency so clean happens before build.
4218
4219 2002-10-18  Darin Adler  <darin@apple.com>
4220
4221         * force-clean-timestamp: Dependencies don't work well enough, so
4222         we need a clean build here after the WebFoundation domain change.
4223
4224 2002-10-18  Darin Adler  <darin@apple.com>
4225
4226         Update for WebFoundation error domain changes.
4227
4228         * Misc.subproj/WebKitErrors.h: Put WebErrorDomainWebKit in here.
4229         Also remove WebErrorNoError and the WebErrorCode name for the enum.
4230         * WebKit.exp: Export the WebErrorDomainWebKit constant.
4231         * WebView.subproj/WebView.m: Define the WebErrorDomainWebKit.
4232
4233         * WebKit.pbproj/project.pbxproj: Always use WebKit.exp.
4234         * Makefile.am: Don't generate WebKit-combined.exp any more.
4235         * WebKit-tests.exp: Removed.
4236
4237 2002-10-17  Darin Adler  <darin@apple.com>
4238
4239         - fixed 3078644 -- Odd clipping in frame
4240
4241         * WebView.subproj/WebClipView.h: Add hasAdditionalClip and additionalClip methods.
4242         * WebView.subproj/WebClipView.m:
4243         (-[WebClipView resetAdditionalClip]): Add an assertion.
4244         (-[WebClipView setAdditionalClip:]): Ditto.
4245         (-[WebClipView hasAdditionalClip]): Added.
4246         (-[WebClipView additionalClip]): Added.
4247
4248         * WebView.subproj/WebHTMLView.m: (-[WebHTMLView visibleRect]):
4249         Turn off the additional clip while computing our visibleRect. This way, the additional
4250         clip only affects people who ask for the clip view's visibleRect directly, which basically
4251         means just the focus rectangle drawing code we are trying to influence.
4252
4253 2002-10-17  Richard Williamson  <rjw@apple.com>
4254
4255         Support for drawing frame borders (fixes 2982466).
4256         
4257         * WebView.subproj/WebHTMLView.m:
4258         (-[WebHTMLView _drawBorder:]):
4259         (-[WebHTMLView drawRect:]):
4260
4261 2002-10-17  John Sullivan  <sullivan@apple.com>
4262
4263         - added support for bookmark identifiers, to be used for marking
4264         bookmark proxies uniquely (independent of localized title). This
4265         is not the old unique-identifier scheme; now identifiers are optional,
4266         and initially nil, but the client can use them for its own purposes.
4267
4268         * Bookmarks.subproj/WebBookmark.h:
4269         * Bookmarks.subproj/WebBookmark.m:
4270         (-[WebBookmark dealloc]): release identifier
4271         (-[WebBookmark identifier]): return identifier
4272         (-[WebBookmark setIdentifier:]): set identifier
4273         * Bookmarks.subproj/WebBookmarkLeaf.m:
4274         (-[WebBookmarkLeaf initFromDictionaryRepresentation:withGroup:]):
4275         restore identifier
4276         (-[WebBookmarkLeaf dictionaryRepresentation]):
4277         save identifier
4278         (-[WebBookmarkLeaf copyWithZone:]):
4279         copy identifier
4280         * Bookmarks.subproj/WebBookmarkList.m:
4281         (-[WebBookmarkList initFromDictionaryRepresentation:withGroup:]):
4282         restore identifier
4283         (-[WebBookmarkList dictionaryRepresentation]):
4284         save identifier
4285         (-[WebBookmarkList copyWithZone:]):
4286         copy identifier
4287         * Bookmarks.subproj/WebBookmarkPrivate.h:
4288         * Bookmarks.subproj/WebBookmarkProxy.m:
4289         (-[WebBookmarkProxy initFromDictionaryRepresentation:withGroup:]):
4290         restore identifier
4291         (-[WebBookmarkProxy dictionaryRepresentation]):
4292         save identifier
4293         (-[WebBookmarkProxy copyWithZone:]):
4294         copy identifier
4295
4296 === Alexander-28 ===
4297
4298 2002-10-17  Darin Adler  <darin@apple.com>
4299
4300         - fixed 3062613 -- too many redirects at nytimes.com and apple
4301
4302         Our cookie policy was rejecting the cookies from nytimes.com -- the policy base
4303         URL was still the news.com URL from before the redirect.
4304
4305         * WebView.subproj/WebMainResourceClient.m:
4306         (-[WebMainResourceClient handle:willSendRequest:]):
4307         Update the cookie policy URL when a redirect changes the data source's URL.
4308
4309 2002-10-17  Darin Adler  <darin@apple.com>
4310
4311         - fixed 3077910 -- REGRESSION: download window open at startup time -> no scrollbars
4312
4313         * WebView.subproj/WebDynamicScrollBarsView.m:
4314         (-[WebDynamicScrollBarsView updateScrollers]):
4315         Check for WebDocumentView protocol before making the layout method
4316         call. Prevents exception when WebDynamicScrollBarsView is used with
4317         a document that is not a WebDocumentView.
4318
4319 2002-10-16  Richard Williamson  <rjw@apple.com>
4320
4321         Added some drawing debug code (ifdef excluded).
4322         
4323         * WebView.subproj/WebHTMLView.m:
4324         (-[WebHTMLView drawRect:]):
4325
4326 2002-10-16  Darin Adler  <darin@apple.com>
4327
4328         Fixed anomalies with plugin positioning caused by my switch to
4329         NSViewFocusDidChangeNotification. Turns out that is not sent during
4330         live resize, but we need things to work during live resize.
4331
4332         * Plugins.subproj/WebBaseNetscapePluginView.m:
4333         (-[WebBaseNetscapePluginView start]): Register for changes in the
4334         bounds and frame of all superviews again, instead of using
4335         NSViewFocusDidChangeNotification.
4336
4337 2002-10-16  Richard Williamson  <rjw@apple.com>
4338
4339         Fixed 2969367.  Ensure layout happens before doing check
4340         to determine if scrollbars are needed.  Ahhh, dynamic
4341         scrollbars work so much better now.
4342         
4343         * WebView.subproj/WebDynamicScrollBarsView.m:
4344         (-[WebDynamicScrollBarsView updateScrollers]):
4345
4346 2002-10-16  Darin Adler  <darin@apple.com>
4347
4348         Fixed the problem where we would leave white bits when making the window larger.
4349
4350         * WebView.subproj/WebHTMLView.m: (-[WebHTMLView drawRect:]): During live resize,
4351         use the visible rectangle after doing layout, not before.
4352
4353 2002-10-16  Richard Williamson  <rjw@apple.com>
4354
4355         Fixed regression in visited links due to change is semantics of
4356         [dataSource request], added [dataSource _originalRequest].  Items
4357         always need to be added to history with the original request.
4358         
4359         * WebView.subproj/WebDataSource.m:
4360         (-[WebDataSource initWithRequest:]):
4361         * WebView.subproj/WebDataSourcePrivate.h:
4362         * WebView.subproj/WebDataSourcePrivate.m:
4363         (-[WebDataSourcePrivate dealloc]):
4364         (-[WebDataSource _defersCallbacksChanged]):
4365         (-[WebDataSource _originalRequest]):
4366         * WebView.subproj/WebFramePrivate.m:
4367         (-[WebFrame _transitionToCommitted]):
4368
4369 2002-10-16  Darin Adler  <darin@apple.com>
4370
4371         - fixed 3017152 -- intra-page anchors not updating page address field
4372
4373         * WebView.subproj/WebLocationChangeDelegate.h: Rearrange methods so they are
4374         in the order they are delivered. Add locationChangedWithinPageForDataSource method.
4375         Renamed the redirect methods to match the verb tenses used in the others.
4376         Removed the URL parameter from the server redirect method.
4377         * WebView.subproj/WebLocationChangeDelegate.m: Update the class to match the
4378         changes to the protocol.
4379
4380         * WebCoreSupport.subproj/WebBridge.m:
4381         (-[WebBridge reportClientRedirectTo:delay:fireDate:]):
4382         Update for change to clientWillRedirectTo method name.
4383         (-[WebBridge loadURL:]): Call locationChangedWithinPageForDataSource:.
4384
4385         * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _setRequest:]):
4386         Update for change to serverRedirectedForDataSource method name.
4387
4388         * WebView.subproj/WebHTMLView.m: (-[WebHTMLView mouseMovedNotification:]):
4389         Remove overzealous assert that was firing for me.
4390
4391         * WebCoreSupport.subproj/WebSubresourceClient.m: Update comment.
4392         * WebView.subproj/WebDataSource.h: Fix comment.
4393
4394 2002-10-15  Darin Adler  <darin@apple.com>
4395
4396         - fixed 3062393 -- need to send proper referrer for "open in new window" menu items and keyboard shortcuts
4397
4398         * WebCoreSupport.subproj/WebBridge.m:
4399         (-[WebBridge createWindowWithURL:frameName:]): Don't take a referrer parameter any more.
4400         Get the referrer by calling to the other side of the bridge, instead.
4401         (-[WebBridge startLoadingResource:withURL:]): Ditto.
4402         (-[WebBridge loadURL:]): Ditto.
4403         (-[WebBridge postWithURL:data:contentType:]): Ditto.
4404         (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]):
4405         Ditto.
4406
4407         * WebView.subproj/WebDefaultContextMenuDelegate.m:
4408         (-[WebDefaultContextMenuDelegate openNewWindowWithURL:]): Don't take a referrer parameter,
4409         which was always nil anyway. Instead, get the referrer from the bridge.
4410         (-[WebDefaultContextMenuDelegate openLinkInNewWindow:]): Don't pass nil for referrer.
4411         (-[WebDefaultContextMenuDelegate openImageInNewWindow:]): Ditto.
4412         (-[WebDefaultContextMenuDelegate openFrameInNewWindow:]): Ditto.
4413
4414         * WebView.subproj/WebHTMLViewPrivate.m:
4415         (-[WebHTMLView _continueAfterClickPolicyForEvent:]): Pass a referrer from the bridge, rather
4416         than nil, for both WebClickPolicyOpenNewWindow and WebClickPolicyOpenNewWindowBehind.
4417
4418         * Plugins.subproj/WebBaseNetscapePluginView.m:
4419         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): Add a FIXME.
4420
4421 2002-10-15  Darin Adler  <darin@apple.com>
4422
4423         * WebView.subproj/WebDataSourcePrivate.h: Remove unused stuff.
4424         * WebView.subproj/WebDataSourcePrivate.m: Ditto.
4425
4426 2002-10-15  Darin Adler  <darin@apple.com>
4427
4428         * WebCoreSupport.subproj/WebBridge.m:
4429         (-[WebBridge loadURL:referrer:]): Add a special case for when the URL is the
4430         same as the previous URL for the same frame. This relies on some logic in
4431         KHTML's openURL method that handles this case too.
4432
4433         * WebView.subproj/WebDataSource.m:
4434         (-[WebDataSource initWithRequest:]): Don't bother keeping an inputURL.
4435         (-[WebDataSource URL]): Just return [[self request] URL]. Maybe we can
4436         remove this altogether.
4437         * WebView.subproj/WebDataSourcePrivate.h: Remove inputURL, finalURL.
4438         * WebView.subproj/WebDataSourcePrivate.m:
4439         (-[WebDataSourcePrivate dealloc]): No need to release inputURL, finalURL.
4440         (-[WebDataSource _setURL:]): Used only by the new code above. Makes a copy
4441         of the request, changes the URL, and then drops the old request.
4442         (-[WebDataSource _setRequest:]): Changed to no longer call _setURL. Now
4443         does much of the work that _setURL used to do.
4444
4445 2002-10-15  Darin Adler  <darin@apple.com>
4446
4447         WebKit part of improved frame name support.
4448
4449         * WebView.subproj/WebFrame.m:
4450         (-[WebFrame initWithName:webView:provisionalDataSource:controller:]):
4451         Call setName on the newly created part.
4452
4453 2002-10-15  John Sullivan  <sullivan@apple.com>
4454
4455         - fixed 3075777 -- hysteresis for dragging links on web pages
4456         is still too large
4457
4458         * WebView.subproj/WebHTMLView.m: changed hysteresis constants;
4459         added comment.
4460
4461 2002-10-15  Darin Adler  <darin@apple.com>
4462
4463         Fix problem where timer was lasting after window was closed.
4464
4465         * WebView.subproj/WebFramePrivate.m: (-[WebFrame _detachFromParent]):
4466         Add a call to [_private->bridge closeURL].
4467
4468 2002-10-15  Richard Williamson  <rjw@apple.com>
4469
4470         Added attributed string to pasteboard.  Fixes 3006760.
4471         We may want to scale back the content that is included in the
4472         attributed string.  Currently all text nodes in the selection
4473         are converted.  This include text nodes for non-visible content,
4474         i.e. scripts.
4475         [Note we may also want to put HTML snippet on the pboard.  The appkit
4476         does support reading text using htmldisplay today.  Of course this should
4477         eventually migrate to use WebView.]
4478         
4479         * WebView.subproj/WebHTMLView.m:
4480         (-[WebHTMLView copy:]):
4481
4482 2002-10-15  Darin Adler  <darin@apple.com>
4483
4484         Fixed bug where URLs dragged to the content area were not made canonical
4485         the way URLs dragged to the page address field are.
4486
4487         * Misc.subproj/WebNSPasteboardExtras.m: (-[NSPasteboard _web_bestURL]):
4488         Make URLs canonical before returning them.
4489
4490 2002-10-15  Chris Blumenberg  <cblu@apple.com>
4491
4492         If a file is renamed during download because a file of the same name already exists, show this in the UI.
4493
4494         * Misc.subproj/WebDownloadHandler.h:
4495         * Misc.subproj/WebDownloadHandler.m:
4496         (-[WebDownloadHandler receivedResponse:]): added, create file here
4497         (-[WebDownloadHandler receivedData:]): don't create file here
4498         * WebView.subproj/WebMainResourceClient.m:
4499         (-[WebMainResourceClient handleDidFinishLoading:]): call [dataSource _setPrimaryLoadComplete:YES] for downloads
4500         (-[WebMainResourceClient handle:didReceiveResponse:]): call [WebDownloadHandler receivedResponse:]
4501         (-[WebMainResourceClient handle:didReceiveData:]): no download error to handle
4502
4503 2002-10-14  Chris Blumenberg  <cblu@apple.com>
4504
4505         - Made all downloads no matter how prompted, pass through the content policy API so the client can properly choose the file name and correct the extension if necessary. We now ask for the content policy even if one has been predetermined. 
4506
4507         * WebView.subproj/WebControllerPolicyDelegate.h:
4508         * WebView.subproj/WebControllerPrivate.h:
4509         * WebView.subproj/WebControllerPrivate.m:
4510         (-[WebController _downloadURL:withContentPolicy:]): Renamed, set the predetermined content policy.
4511         * WebView.subproj/WebDefaultContextMenuDelegate.m:
4512         (-[WebDefaultContextMenuDelegate downloadURL:]): call [WebController _downloadURL:withContentPolicy:]
4513         * WebView.subproj/WebDefaultPolicyDelegate.m:
4514         * WebView.subproj/WebHTMLView.m:
4515         (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): call [WebController _downloadURL:withContentPolicy:]
4516         * WebView.subproj/WebHTMLViewPrivate.m:
4517         (-[WebHTMLView _continueAfterClickPolicyForEvent:]): call [WebController _downloadURL:withContentPolicy:]
4518         * WebView.subproj/WebMainResourceClient.m:
4519         (-[WebMainResourceClient handle:didReceiveResponse:]): ask for content policy even if one is predetermined
4520
4521 2002-10-14  Chris Blumenberg  <cblu@apple.com>
4522
4523         - Cleaned up download handler and download progress delegate interactions.
4524         - Got rid of error suppression junk.
4525         - Only send 1 final message to the download progress delegate
4526
4527         * WebView.subproj/WebMainResourceClient.h:
4528         * WebView.subproj/WebMainResourceClient.m:
4529         (-[WebMainResourceClient receivedError:forHandle:]): no error suppression
4530         (-[WebMainResourceClient didCancelWithHandle:]): ignore cancel errors because 1 download error is enough
4531         (-[WebMainResourceClient handleDidFinishLoading:]): don't send the special and odd final message to the download progress delegate
4532         (-[WebMainResourceClient handle:didReceiveData:]): no error suppression
4533         (-[WebMainResourceClient handle:didFailLoadingWithError:]): ignore cancel errors because 1 download error is enough
4534
4535 2002-10-14  Darin Adler  <darin@apple.com>
4536
4537         * Bookmarks.subproj/WebBookmark.m:
4538         (+[WebBookmark bookmarkFromDictionaryRepresentation:withGroup:]):
4539         * Bookmarks.subproj/WebBookmarkLeaf.m:
4540         (-[WebBookmarkLeaf initFromDictionaryRepresentation:withGroup:]):
4541         * Bookmarks.subproj/WebBookmarkList.m:
4542         (-[WebBookmarkList initFromDictionaryRepresentation:withGroup:]):
4543         * Bookmarks.subproj/WebBookmarkProxy.m:
4544         (-[WebBookmarkProxy initFromDictionaryRepresentation:withGroup:]):
4545         Add checking since we don't "trust" the dictionary passed in.
4546
4547         * History.subproj/WebHistoryItem.m:
4548         (-[WebHistoryItem initFromDictionaryRepresentation:]):
4549         Add FIXME about adding the checking.
4550
4551         * Bookmarks.subproj/WebBookmarkGroup.m:
4552         (-[WebBookmarkGroup initWithFile:]): Use copy, not retain.
4553
4554         * WebView.subproj/WebControllerPrivate.m:
4555         (-[WebControllerPrivate dealloc]): Fix storage leak by releasing
4556         the default context menu delegate.
4557
4558         * WebView.subproj/WebControllerPrivate.h: Tweak.
4559
4560 2002-10-14  Chris Blumenberg  <cblu@apple.com>
4561
4562         Made WebNetscapePluginStream retain a WebNetscapePluginEmbeddedView not a WebBaseNetscapePluginView.
4563
4564         * Plugins.subproj/WebNetscapePluginStream.h:
4565         * Plugins.subproj/WebNetscapePluginStream.m:
4566         (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]):
4567
4568 2002-10-13  Darin Adler  <darin@apple.com>
4569
4570         * English.lproj/StringsNotToBeLocalized.txt: Added strings from WebBookmarkProxy.m.
4571
4572 2002-10-13  Chris Blumenberg  <cblu@apple.com>
4573
4574         - Eliminated the dual-role behavior of WebPluginStream.
4575
4576         Renamed WebPluginStream to WebBaseNetscapePluginStream.
4577         WebNetscapePluginRepresentation, a subclass of WebBaseNetscapePluginStream,
4578         is the document representation for standalone plug-ins.
4579         WebNetscapePluginStream, also a subclass of WebBaseNetscapePluginStream,
4580         is the general plug-in stream loader for embedded plug-ins or plug-in requested streams.
4581
4582         23 plug-in source files with more likely to come!
4583
4584         * Plugins.subproj/WebBaseNetscapePluginStream.h: Added.
4585         * Plugins.subproj/WebBaseNetscapePluginStream.m: Added.
4586         (-[WebBaseNetscapePluginStream dealloc]):
4587         (-[WebBaseNetscapePluginStream setPluginPointer:]):
4588         (-[WebBaseNetscapePluginStream setResponse:]):
4589         (-[WebBaseNetscapePluginStream receivedData:]):
4590         (-[WebBaseNetscapePluginStream receivedError:]):
4591         (-[WebBaseNetscapePluginStream finishedLoadingWithData:]):
4592         * Plugins.subproj/WebBaseNetscapePluginView.h:
4593         * Plugins.subproj/WebBaseNetscapePluginView.m:
4594         (-[WebBaseNetscapePluginView setWindow]):
4595         (-[WebBaseNetscapePluginView pluginPointer]):
4596         (-[WebBaseNetscapePluginView drawRect:]):
4597         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]):
4598         * Plugins.subproj/WebNetscapePluginDocumentView.m:
4599         * Plugins.subproj/WebNetscapePluginRepresentation.h: Added.
4600         * Plugins.subproj/WebNetscapePluginRepresentation.m: Added.
4601         (-[WebNetscapePluginRepresentation setDataSource:]):
4602         (-[WebNetscapePluginRepresentation receivedData:withDataSource:]):
4603         (-[WebNetscapePluginRepresentation receivedError:withDataSource:]):
4604         (-[WebNetscapePluginRepresentation finishedLoadingWithDataSource:]):
4605         * Plugins.subproj/WebNetscapePluginStream.h: Added.
4606         * Plugins.subproj/WebNetscapePluginStream.m: Added.
4607         (-[WebNetscapePluginStream setCurrentURL:]):
4608         (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]):
4609         (-[WebNetscapePluginStream dealloc]):
4610         (-[WebNetscapePluginStream start]):
4611         (-[WebNetscapePluginStream stop]):
4612         (-[WebNetscapePluginStream loadEnded]):
4613         (-[WebNetscapePluginStream handle:willSendRequest:]):
4614         (-[WebNetscapePluginStream handle:didReceiveResponse:]):
4615         (-[WebNetscapePluginStream handle:didReceiveData:]):
4616         (-[WebNetscapePluginStream handleDidFinishLoading:]):
4617         (-[WebNetscapePluginStream handle:didFailLoadingWithError:]):
4618         * Plugins.subproj/WebPluginDatabase.m:
4619         (-[WebNetscapePluginDatabase init]):
4620         * Plugins.subproj/WebPluginStream.h: Removed.
4621         * Plugins.subproj/WebPluginStream.m: Removed.
4622         * WebKit.pbproj/project.pbxproj:
4623
4624 2002-10-11  Richard Williamson   <rjw@apple.com>
4625
4626         More DOM/attributed string work.
4627         
4628         * WebView.subproj/WebHTMLRepresentation.h:
4629         * WebView.subproj/WebHTMLRepresentation.m:
4630         (-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:]):
4631         * WebView.subproj/WebHTMLRepresentationPrivate.h:
4632
4633 2002-10-11  Richard Williamson   <rjw@apple.com>
4634
4635         * WebView.subproj/WebHTMLRepresentation.m:
4636         * WebView.subproj/WebHTMLRepresentationPrivate.h:
4637
4638 2002-10-11  Ken Kocienda  <kocienda@apple.com>
4639
4640         Fixed uninitialized variable build breaker I got when
4641         doing a Deployment build.
4642
4643         * Bookmarks.subproj/WebBookmarkGroup.m:
4644         (-[WebBookmarkGroup insertNewBookmarkAtIndex:ofBookmark:withTitle:URLString:type:]):
4645
4646 2002-10-11  John Sullivan  <sullivan@apple.com>
4647
4648         Added the concept of bookmark proxies; items that can be
4649         stored and displayed with other bookmarks but represent
4650         a source of bookmark-like items (e.g. Rendezvous, History)
4651
4652         * Bookmarks.subproj/WebBookmarkProxy.h: Added.
4653         * Bookmarks.subproj/WebBookmarkProxy.m: Added.
4654         (-[WebBookmarkProxy initFromDictionaryRepresentation:withGroup:]):
4655         (-[WebBookmarkProxy dictionaryRepresentation]):
4656         (-[WebBookmarkProxy bookmarkType]):
4657         (-[WebBookmarkProxy copyWithZone:]):
4658         (-[WebBookmarkProxy title]):
4659         (-[WebBookmarkProxy setTitle:]):
4660         (-[WebBookmarkProxy icon]):
4661         New class, has a title and that's about it
4662
4663         * Bookmarks.subproj/WebBookmark.h:
4664         * Bookmarks.subproj/WebBookmark.m:
4665         (+[WebBookmark bookmarkFromDictionaryRepresentation:withGroup:]):
4666         Handle proxy case
4667
4668         * Bookmarks.subproj/WebBookmarkGroup.m:
4669         (-[WebBookmarkGroup insertNewBookmarkAtIndex:ofBookmark:withTitle:URLString:type:]):
4670         Handle proxy case
4671
4672         * Bookmarks.subproj/WebBookmarkList.m:
4673         (-[WebBookmarkList initFromDictionaryRepresentation:withGroup:]),
4674         (-[WebBookmarkList dictionaryRepresentation]):
4675         Handle proxy case
4676
4677         * Bookmarks.subproj/WebBookmarkPrivate.h:
4678         Add #define for proxy
4679
4680         * WebKit.pbproj/project.pbxproj: updated for new files
4681
4682 2002-10-11  Chris Blumenberg  <cblu@apple.com>
4683
4684         Thought I has checking for nil enough, but not enough as I raised an exception on Avie's machine.
4685
4686         * Plugins.subproj/WebPlugin.m:
4687         (-[WebNetscapePlugin getPluginInfo]): check for the nil extension case
4688
4689 2002-10-11  Darin Adler  <darin@apple.com>
4690
4691         Apply a simplified technique I learned while working on the Favorites button
4692         class in the browser code.
4693
4694         * Plugins.subproj/WebBaseNetscapePluginView.m:
4695         (-[WebBaseNetscapePluginView start]): Use the NSViewFocusDidChangeNotification
4696         to track the plugin rectangles instead of the NSViewFrameDidChangeNotification
4697         and NSViewBoundsDidChangeNotification on all the superviews.
4698
4699 2002-10-11  John Sullivan  <sullivan@apple.com>
4700
4701         * Resources/url_icon.tiff: new generic URL icon -- no more @!
4702
4703 2002-10-10  Darin Adler  <darin@apple.com>
4704
4705         - fixed 3069366 -- REGRESSION: no pop-up window at inkfinder.com
4706
4707         The window now pops up, but it doesn't seem to work right. But I
4708         think the window working right is a separate issue.
4709
4710         * WebView.subproj/WebMainResourceClient.m:
4711         (-[WebMainResourceClient handle:willSendRequest:]): Make sure we
4712         use the copy of the request that we're keeping around when we call
4713         _setRequest on the data source, rather than the copy we're returning
4714         which can be modified by WebFoundation. Also rearrange things so we're
4715         more likely to get things right when the delegate changes the URL on
4716         the request.
4717
4718 2002-10-10  Chris Blumenberg  <cblu@apple.com>
4719
4720         No need to send update event when activating/deactivating.
4721         This was as old workaround for the plug-in drawing problems.
4722
4723         * Plugins.subproj/WebBaseNetscapePluginView.m:
4724         (-[WebBaseNetscapePluginView windowBecameKey:]):
4725         (-[WebBaseNetscapePluginView windowResignedKey:]):
4726
4727 === Alexander-27 ===
4728
4729 2002-10-10  Darin Adler  <darin@apple.com>
4730
4731         - fixed 3071799 -- REGRESSION: hang and strange download loading about:blank
4732
4733         Chris fixed the strange download earlier. This fixes the "hang' by making sure
4734         we commit even if we receive 0 bytes of data.
4735
4736         * WebView.subproj/WebDataSourcePrivate.h: Added a _finishedLoading method.
4737         * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _finishedLoading]):
4738         Added. Sets the "first byte of data received" flag, and calls _commitIfReady.
4739         * WebView.subproj/WebMainResourceClient.m:
4740         (-[WebMainResourceClient handleDidFinishLoading:]): Call _finishedLoading.
4741
4742 2002-10-10  Darin Adler  <darin@apple.com>
4743
4744         - fixed 3072015 -- REGRESSION: frames multiply endlessly
4745
4746         * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge setFrame:]):
4747         Remove code that sets the parent from here, because it's too early, always nil.
4748         * WebView.subproj/WebFramePrivate.m: (-[WebFrame _addChild:]):
4749         Do it here instead.
4750
4751 2002-10-09  Richard Williamson   <rjw@apple.com>
4752
4753         * WebCoreSupport.subproj/WebSubresourceClient.m:
4754         (-[WebSubresourceClient handleDidFinishLoading:]):
4755         * WebKit.exp:
4756         * WebView.subproj/WebController.m:
4757         (-[WebResourceLoadDelegate resourceRequest:willSendRequest:fromDataSource:]):
4758         (-[WebResourceLoadDelegate resourceRequest:didReceiveResponse:fromDataSource:]):
4759         (-[WebResourceLoadDelegate resourceRequest:didReceiveContentLength:fromDataSource:]):
4760         (-[WebResourceLoadDelegate resourceRequest:didFinishLoadingFromDataSource:]):
4761         (-[WebResourceLoadDelegate resourceRequest:didFailLoadingWithError:fromDataSource:]):
4762         * WebView.subproj/WebMainResourceClient.m:
4763         (-[WebMainResourceClient handleDidFinishLoading:]):
4764         * WebView.subproj/WebResourceLoadDelegate.h:
4765
4766 2002-10-09  John Sullivan  <sullivan@apple.com>
4767
4768         - removed unnecessary concept of unique identifiers for bookmarks
4769
4770         * Bookmarks.subproj/WebBookmark.h:
4771         * Bookmarks.subproj/WebBookmark.m:
4772         (-[WebBookmark dealloc]):
4773         (-[WebBookmark _setGroup:]):
4774         * Bookmarks.subproj/WebBookmarkGroup.h:
4775         * Bookmarks.subproj/WebBookmarkGroup.m:
4776         * Bookmarks.subproj/WebBookmarkGroupPrivate.h:
4777         removed all references to unique identifiers
4778
4779 2002-10-09  Darin Adler  <darin@apple.com>
4780
4781         WebKit support for creating windows and then showing them later
4782         after setting them up.
4783
4784         * WebCoreSupport.subproj/WebBridge.m:
4785         (-[WebBridge createWindowWithURL:referrer:frameName:]): Replaced the old
4786         openNewWindowWithURL with this. It calls the new window operations delegate
4787         method.
4788         (-[WebBridge showWindow]): Added. Calls the window operations delegate showWindow method.
4789         (-[WebBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]):
4790         Call _createFrameNamed instead of createFrameNamed.
4791
4792         * WebView.subproj/WebWindowOperationsDelegate.h: Replaced the openNewWindowWithURL
4793         method with a new method named createWindowWithURL. Added showWindow and showWindowBehindFrontmost.
4794
4795         * WebView.subproj/WebControllerPrivate.h: Renamed createFrameNamed to _createFrameNamed
4796         and removed the data source parameter. Added _openNewWindowWithURL:referrer:behind:
4797         for the convenience of those who used to call the window operations delegate directly
4798         to open the window.
4799         * WebView.subproj/WebControllerPrivate.m:
4800         (-[WebController _createFrameNamed:inParent:allowsScrolling:]): Renamed, and removed
4801         the data source parameter.
4802         (-[WebController _openNewWindowWithURL:referrer:behind:]): Added.
4803
4804         * Plugins.subproj/WebBaseNetscapePluginView.m:
4805         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]):
4806         * WebView.subproj/WebDefaultContextMenuDelegate.m:
4807         (-[WebDefaultContextMenuDelegate openNewWindowWithURL:referrer:]):
4808         * WebView.subproj/WebFrame.m: (-[WebFrame frameNamed:]):
4809         * WebView.subproj/WebHTMLViewPrivate.m:
4810         (-[WebHTMLView _continueAfterClickPolicyForEvent:]):
4811         Use a private WebController method instead of calling the delegate directly,
4812         because it now takes two method calls to create and display a new window.
4813
4814         * Misc.subproj/WebNSViewExtras.m:
4815         * WebCoreSupport.subproj/WebSubresourceClient.m:
4816         * WebView.subproj/WebController.m:
4817         * WebView.subproj/WebDataSource.m:
4818         * WebView.subproj/WebFramePrivate.m:
4819         * WebView.subproj/WebHTMLView.m:
4820         * WebView.subproj/WebMainResourceClient.m:
4821         * WebView.subproj/WebPreferences.m:
4822         * WebView.subproj/WebView.m:
4823         * WebView.subproj/WebViewPrivate.m:
4824         Tweaked comments.
4825
4826 2002-10-09  Darin Adler  <darin@apple.com>
4827
4828         * WebCoreSupport.subproj/WebImageRenderer.m:
4829         (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
4830         Fix positioning of progressively loading images that are flipped.
4831
4832 2002-10-09  Darin Adler  <darin@apple.com>
4833
4834         - fixed 3069764 -- REGRESSION: Plug-ins sometimes don't respond to
4835         update events, causes disappearing
4836
4837         * Plugins.subproj/WebBaseNetscapePluginView.m:
4838         (-[WebBaseNetscapePluginView drawRect:]): Set the visible region of the port to the
4839         port bounds to work around the fact that NSWindow tries to help us by doing a
4840         BeginUpdate call. This ensures we can draw where we think we are dirty, not just
4841         where Carbon thinks we are dirty.
4842
4843         * Plugins.subproj/WebNetscapePluginDocumentView.m: Tweak includes.
4844         * Plugins.subproj/WebNetscapePluginEmbeddedView.m: Tweak includes.
4845         * WebCoreSupport.subproj/WebBridge.m:
4846         (-[WebBridge openNewWindowWithURL:referrer:frameName:]): Tweak.
4847
4848         * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
4849
4850 2002-10-08  Darin Adler  <darin@apple.com>
4851
4852         Make WebFrame do the entire frame hierarchy, instead of having the
4853         parent and child pointers in the data source.
4854
4855         * WebCoreSupport.subproj/WebBridge.m:
4856         (-[WebBridge childFrames]): Get children from the frame, not the data source.
4857         (-[WebBridge setFrame:]): Do the setParent: call on the bridge here, instead of
4858         in dataSourceChanged, since the parent relationship is now established even without
4859         having the data source.
4860         (-[WebBridge dataSourceChanged]): Remove the setParent: call.
4861         (-[WebBridge loadRequest:]): Remove the parent parameter. It's already set up at
4862         this point so we don't need to set it.
4863         (-[WebBridge loadURL:referrer:]): Don't pass a parent.
4864         (-[WebBridge postWithURL:referrer:data:contentType:]): Don't pass a parent.
4865         (-[WebBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]):
4866         Don't pass a parent.
4867         (-[WebBridge addBackForwardItemWithURL:anchor:]): Get the parent frame by just calling
4868         the parent method instead of the more roundabout way that it was doing it before.
4869
4870         * WebView.subproj/WebController.m:
4871         (-[WebController _frameForDataSource:fromFrame:]): Get the children list from the frame,
4872         no need to ask the data source. And no need to deal with the provisional data source, since
4873         those can't have children any more.
4874         (-[WebController _frameForView:fromFrame:]): Ditto.
4875
4876         * WebView.subproj/WebControllerPrivate.h: Change parent parameter when creating a new
4877         frame to be a frame, not a data source.
4878         * WebView.subproj/WebControllerPrivate.m:
4879         (-[WebControllerPrivate _clearControllerReferences:]): Get the children list from the frame.
4880         (-[WebControllerPrivate dealloc]): Rename the _reset method _controllerWillBeDeallocated
4881         to be more concrete. More simplification can happen here later.
4882         (-[WebController createFrameNamed:for:inParent:allowsScrolling:]): Call _addChild on the
4883         parent frame rather than calling addFrame on the parent data source.
4884
4885         * WebView.subproj/WebDataSource.h: Remove the parent, children, frameNamed, frameNames, and
4886         frameExists methods.
4887         * WebView.subproj/WebDataSource.m:
4888         (-[WebDataSource controller]): Remove the assertion here about parents, since we don't have
4889         a parent pointer any more.
4890         (-[WebDataSource isLoading]): Get the list of children from the frame.
4891
4892         * WebView.subproj/WebDataSourcePrivate.h: Remove the parent pointer and the frames dictionary,
4893         also remove the _setParent: and addFrame: methods.
4894         * WebView.subproj/WebDataSourcePrivate.m:
4895         (-[WebDataSourcePrivate dealloc]): Don't release the frames list.
4896         (-[WebDataSource _recursiveStopLoading]): Get the frames list from the frame.
4897         (-[WebDataSource _layoutChildren]): Ditto.
4898         (-[WebDataSource _defersCallbacksChanged]): Ditto.
4899
4900         * WebView.subproj/WebFrame.h: Add parent and children methods.
4901         * WebView.subproj/WebFrame.m:
4902         (-[WebFrame dealloc]): Call _detachFromParent.
4903         (-[WebFrame setProvisionalDataSource:]): Set the encoding of the data source to match
4904         the encoding of the parent's data source. This used to be done in [WebDataSource _setParent:].
4905         Further simplification can probably be done here.
4906         (-[WebFrame reload]): Remove the call to [WebDataSource _setParent:].
4907         (+[WebFrame _frameNamed:fromFrame:]): Get the children from the frame.
4908         (-[WebFrame frameNamed:]): Get the parent from the frame.
4909         (-[WebFrame parent]): Added.
4910         (-[WebFrame children]): Added.
4911
4912         * WebView.subproj/WebFramePrivate.h: Added parent and children fields, changed reset to
4913         _controllerWillBeDeallocated, changed _parentDataSourceWillBeDeallocated to _detachFromParent,
4914         added _addChild method. Further simplification can probably be done here.
4915         * WebView.subproj/WebFramePrivate.m:
4916         (-[WebFramePrivate dealloc]): Release the children array.
4917         (-[WebFrame _controllerWillBeDeallocated]): Renamed from reset. Now just calls _detachFromParent.
4918         (-[WebFrame _detachFromParent]): Does all the work that reset and _parentDataSourceWillBeDeallocated
4919         used to do.
4920         (-[WebFrame _setDataSource:]): Call _detachFromParent on all the children and release them
4921         before setting up the new data source.
4922         (-[WebFrame _transitionToCommitted]): Get the parent from self instead of the data source.
4923         (-[WebFrame _isLoadComplete]): Ditto.
4924         (+[WebFrame _recursiveCheckCompleteFromFrame:]): Get the children from self instead of the data source.
4925         (-[WebFrame _textSizeMultiplierChanged]): Ditto.
4926         (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]): Remove the call to [WebDataSource _setParent:].
4927         (-[WebFrame _addChild:]): Added. Puts the child in a children list, and also sets the override
4928         encoding of the child based on our data source's override encoding.
4929
4930 2002-10-08  John Sullivan  <sullivan@apple.com>
4931
4932         * WebKit.pbproj/project.pbxproj:
4933         Project Builder says I changed it only by setting
4934         "hasScannedForEncodings" to 1 -- version wars again?
4935
4936 2002-10-08  Richard Williamson   <rjw@apple.com>
4937
4938         Removed unnecessary (and incorrect) include.
4939         The *.m files in DOM.subproj might be removed,
4940         they are empty now.
4941         
4942         * DOM.subproj/WebDOMDocument.m:
4943
4944 2002-10-08  Richard Williamson   <rjw@apple.com>
4945
4946         Added selection API.
4947         
4948         * WebView.subproj/WebHTMLRepresentation.h:
4949         * WebView.subproj/WebHTMLRepresentation.m:
4950         (-[WebHTMLRepresentation setSelectionFrom:startOffset:to:endOffset:]):
4951
4952 2002-10-08  Richard Williamson   <rjw@apple.com>
4953
4954         Add accessor for DOM document.
4955         
4956         * WebKit.pbproj/project.pbxproj:
4957         * WebView.subproj/WebHTMLRepresentation.h:
4958         * WebView.subproj/WebHTMLRepresentation.m:
4959         (-[WebHTMLRepresentation DOMDocument]):
4960
4961 2002-10-08  Richard Williamson   <rjw@apple.com>
4962
4963         Made getAttributeNodeNamed match spec, changed
4964         to getAttributeNode.
4965          
4966         * DOM.subproj/WebDOMElement.h:
4967
4968 2002-10-08  John Sullivan  <sullivan@apple.com>
4969
4970         - WebKit part of fix for 3069150 -- eliminate "separator"
4971         feature from Bookmarks
4972
4973         * Bookmarks.subproj/WebBookmarkSeparator.h: Removed.
4974         * Bookmarks.subproj/WebBookmarkSeparator.m: Removed.
4975         Removed class
4976
4977         * Bookmarks.subproj/WebBookmark.h:
4978         * Bookmarks.subproj/WebBookmark.m:
4979         (+[WebBookmark bookmarkOfType:]):
4980         (+[WebBookmark bookmarkFromDictionaryRepresentation:withGroup:]):
4981         * Bookmarks.subproj/WebBookmarkGroup.m:
4982         (-[WebBookmarkGroup insertNewBookmarkAtIndex:ofBookmark:withTitle:URLString:type:]):
4983         * Bookmarks.subproj/WebBookmarkList.m:
4984         (-[WebBookmarkList initFromDictionaryRepresentation:withGroup:]):
4985         * Bookmarks.subproj/WebBookmarkPrivate.h:
4986         * English.lproj/StringsNotToBeLocalized.txt:
4987         Removed all references to class.
4988
4989         * WebKit.pbproj/project.pbxproj: Updated for removed files.
4990
4991 2002-10-08  Richard Williamson   <rjw@apple.com>
4992
4993         Fixes to the DOM API.
4994         
4995         * DOM.subproj/WebDOMDocument.h:
4996         * DOM.subproj/WebDOMDocument.m:
4997         * DOM.subproj/WebDOMNode.h:
4998         * DOM.subproj/WebDOMNode.m:
4999         * DOM.subproj/WebDOMNamedNodeMap.h: Removed.
5000         * DOM.subproj/WebDOMNamedNodeMap.m: Removed.
5001         * WebKit.pbproj/project.pbxproj:
5002
5003 2002-10-08  Ken Kocienda  <kocienda@apple.com>
5004
5005         Use WebFrameLoadType variable to set the request cache policy for the WebResourceRequest.
5006         This will help us to provide cached results for POST requests when the user navigates
5007         using the back/forward list or history for navigation, while making sure we do not
5008         use cached results when the user pokes the submit button for a form they have
5009         submitted previously.
5010
5011         * WebView.subproj/WebFramePrivate.m:
5012         (-[WebFrame _goToItem:withFrameLoadType:])
5013
5014 2002-10-08  Chris Blumenberg  <cblu@apple.com>
5015
5016         Moved assumption that a resource without a content type or extension is HTML to WebFoundation.
5017
5018         * WebView.subproj/WebMainResourceClient.m:
5019         (-[WebMainResourceClient handle:didReceiveResponse:]):
5020
5021 2002-10-08  Chris Blumenberg  <cblu@apple.com>
5022
5023         Minor plug-in code clean-up.
5024
5025         * Plugins.subproj/WebBaseNetscapePluginView.m:
5026         (-[WebBaseNetscapePluginView sendActivateEvent:]):
5027         (-[WebBaseNetscapePluginView sendUpdateEvent]):
5028         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]):
5029         * Plugins.subproj/WebPluginStream.m:
5030         (-[WebNetscapePluginStream receivedData:]):
5031
5032 2002-10-08  Chris Blumenberg  <cblu@apple.com>
5033
5034         Partial fix for 2967073 - should open all TEXT type files, at least
5035
5036         * WebView.subproj/WebControllerPrivate.m:
5037         (+[WebController _MIMETypeForFile:]): Sniff for HTML in the fail case.
5038
5039 2002-10-07  Darin Adler  <darin@apple.com>
5040
5041         WebKit part of implementation of multipart forms posting.
5042
5043         * WebCoreSupport.subproj/WebBridge.m:
5044         (-[WebBridge postWithURL:referrer:data:contentType:]):
5045         Add a contentType parameter to match change in WebCore API.
5046         Put the contentType value into the request.
5047
5048 2002-10-07  Chris Blumenberg  <cblu@apple.com>
5049
5050         Icing fix for: 3063517 - crash loading .png in separate window
5051         
5052         * Plugins.subproj/WebPluginDatabase.m:
5053         (-[WebNetscapePluginDatabase init]): Don't override document view and rep
5054         types for types that have already been registered. 
5055
5056 2002-10-07  Darin Adler  <darin@apple.com>
5057
5058         WebKit part of the page up/down fix.
5059
5060         * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView scrollPoint:]):
5061         If we are called from the handling of a page up or page down keyboard
5062         event, then ignore the specific scrolling requested, and do our idea of
5063         page up and page down. This guarantees that we will get the smarter
5064         idea of how to page from WebView instead of the one that's hardcoded
5065         into NSTextView.
5066
5067         * WebView.subproj/WebView.m: (-[WebView keyDown:]): Use scrollPageUp:,
5068         scrollPageDown:, scrollLineUp:, and scrollLineDown: instead of _pageUp,
5069         _pageDown, _lineUp, and _lineDown. This lets other classes see and use
5070         these selectors, which is useful when passing calls up the responder chain.
5071         * WebView.subproj/WebViewPrivate.h: Remove the private methods that are
5072         being changed to match the NSResponder keyboard methods.
5073         * WebView.subproj/WebViewPrivate.m:
5074         (-[WebView scrollPageUp:]): Rename from _pageUp, and also pass a scrollPageUp:
5075         selector along the responder chain if we are already scrolled to the top.
5076         (-[WebView scrollPageDown:]): Ditto.
5077         (-[WebView scrollLineUp:]): Rename from _lineUp.
5078         (-[WebView scrollLineDown:]): Rename from _lineDown.
5079
5080 2002-10-07  Richard Williamson   <rjw@apple.com>
5081
5082         'Re'play the delegate messages when an item is loaded from
5083         the WebCore cache.
5084
5085         Note that the client will NOT receive a willSendRequest: message.  The client
5086         presumably already did any request substitution before the object was loaded 
5087         into the cache.  Allowing the delegate to override the request and replace
5088         the object in the WebCore cache would introduce significant complexity.
5089         
5090         Fixes 3069138.
5091         
5092         * WebCoreSupport.subproj/WebBridge.m:
5093         (-[WebBridge objectLoadedFromCache:response:size:]):
5094         * WebCoreSupport.subproj/WebSubresourceClient.m:
5095         (-[WebSubresourceClient handle:didReceiveResponse:]):
5096
5097 2002-10-05  Darin Adler  <darin@apple.com>
5098
5099         - fixed 3068323 -- nil object inserted in dictionary exception on mouse move
5100
5101         * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _elementAtPoint:]):
5102         Add some assertions in the hope of finding if my assumptions about this are
5103         wrong, and use the version of the dictionary setter that does nothing if it's
5104         passed nil when putting in the frame found by name.
5105
5106 2002-10-04  Darin Adler  <darin@apple.com>
5107
5108         * English.lproj/StringsNotToBeLocalized.txt: Add a localization
5109         exception for the WebKit bundle identifier.
5110
5111 2002-10-04  Darin Adler  <darin@apple.com>
5112
5113         * Misc.subproj/WebKitLocalizableStrings.m: Added.
5114         Contains the definition of the WebKitLocalizableStringsBundle.
5115         * WebKit.pbproj/project.pbxproj: Add -DFRAMEWORK_NAME=WebKit.
5116
5117 2002-10-04  Richard Williamson   <rjw@apple.com>
5118
5119         Stubs for DOM level 2 core API.
5120         
5121         * DOM.subproj/WebDOMDocument.h: Added.
5122         * DOM.subproj/WebDOMDocument.m: Added.
5123         * DOM.subproj/WebDOMElement.h: Added.
5124         * DOM.subproj/WebDOMElement.m: Added.
5125         * DOM.subproj/WebDOMNamedNodeMap.h: Added.
5126         * DOM.subproj/WebDOMNamedNodeMap.m: Added.
5127         * DOM.subproj/WebDOMNode.h: Added.
5128         * DOM.subproj/WebDOMNode.m: Added.
5129         * WebKit.pbproj/project.pbxproj:
5130         
5131         * WebView.subproj/WebHTMLViewPrivate.m: tweak.
5132
5133 2002-10-04  Darin Adler  <darin@apple.com>
5134
5135         * English.lproj/StringsNotToBeLocalized.txt: Add the last few exceptions.
5136         We now have a completely-clean run of extract-localizable-strings in WebKit!
5137
5138 2002-10-04  Darin Adler  <darin@apple.com>
5139
5140         - fixed 3060140 -- REGRESSION: frames of animated gif drawn in wrong position.
5141
5142         I got the "fromRect" and "toRect" parameters backwards when I made the changes
5143         to fix bug 3050810.
5144
5145         * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer nextFrame:]):
5146         Reverse targetRect and imageRect.
5147
5148         * WebKit.pbproj/project.pbxproj: Mark some new files as UTF-8 because Project
5149         Builder asked me to.
5150
5151 2002-10-04  Darin Adler  <darin@apple.com>
5152
5153         * Panels.subproj/WebPanelCookieAcceptHandler.h: Removed.
5154         * Panels.subproj/WebPanelCookieAcceptHandler.m: Removed.
5155
5156 2002-10-04  Richard Williamson   <rjw@apple.com>
5157
5158         Danger Will Robinson.  We have to poseAsClass: as early as possible
5159         so that any NSViews will be created with the appropriate poser.
5160         This problem manifested itself with SimpleViewer failing
5161         immediately.  NSViews were created by loading a nib before
5162         WebHTMLView class initialization occured.  After posing the
5163         already instantiated instances of NSView had a %NSView class,
5164         causing many things to break.
5165         
5166         * WebView.subproj/WebHTMLViewPrivate.m:
5167         (+[WebHTMLView load]):
5168
5169 2002-10-04  Richard Williamson   <rjw@apple.com>
5170
5171         Ensure that we return non-nil request  from handle:willSendRequest:
5172         even when WK's laod delegate is nil.
5173         
5174         * WebCoreSupport.subproj/WebSubresourceClient.m:
5175         (-[WebSubresourceClient handle:willSendRequest:]):
5176         * WebView.subproj/WebMainResourceClient.m:
5177         (-[WebMainResourceClient handle:willSendRequest:]):
5178
5179 2002-10-04  Darin Adler  <darin@apple.com>
5180
5181         * Panels.subproj/WebAuthenticationPanel.m:
5182         (-[WebAuthenticationPanel loadNib]): Use ERROR instead of NSLog here.
5183         (-[WebAuthenticationPanel setUpForRequest:]): Mark some strings for localization.
5184
5185         * WebKit.pbproj/project.pbxproj: Change the encoding on a lot more files to UTF-8.
5186
5187         * English.lproj/StringsNotToBeLocalized.txt: Added some new exceptions.
5188         * English.lproj/Localizable.strings: Re-generated.
5189
5190 2002-10-04  Richard Williamson   <rjw@apple.com>
5191
5192         Changed WebDOMNode name to WebDebugDOMNode to make room for
5193         real node.
5194         
5195         * WebKit.exp:
5196         * WebKit.pbproj/project.pbxproj:
5197         * WebView.subproj/WebDOMNode.h: Removed.
5198         * WebView.subproj/WebDOMNode.m: Removed.
5199
5200 2002-10-04  Richard Williamson   <rjw@apple.com>
5201
5202         * WebKit.pbproj/project.pbxproj:
5203
5204 2002-10-03  Richard Williamson   <rjw@apple.com>
5205
5206         Changed name of controller's resourceProgressDelegate methods to resourceLoadDelegate.
5207
5208         * WebCoreSupport.subproj/WebSubresourceClient.m:
5209         (-[WebSubresourceClient initWithLoader:dataSource:]):
5210         (-[WebSubresourceClient handle:didReceiveResponse:]):
5211         (-[WebSubresourceClient handle:didReceiveData:]):
5212         (-[WebSubresourceClient handleDidFinishLoading:]):
5213         (-[WebSubresourceClient handle:didFailLoadingWithError:]):
5214         * WebView.subproj/WebController.h:
5215         * WebView.subproj/WebController.m:
5216         (-[WebController setResourceLoadDelegate:]):
5217         (-[WebController resourceLoadDelegate]):
5218         (-[WebController setDownloadDelegate:]):
5219         (-[WebController downloadDelegate]):
5220         * WebView.subproj/WebMainResourceClient.m:
5221         (-[WebMainResourceClient initWithDataSource:]):
5222         (-[WebMainResourceClient handle:didReceiveResponse:]):
5223
5224 2002-10-03  Richard Williamson   <rjw@apple.com>
5225
5226         Always call resourceRequest:willSendRequest: on resourceProgressDelegate.
5227          
5228         * WebView.subproj/WebMainResourceClient.m:
5229         (-[WebMainResourceClient handle:willSendRequest:]):
5230
5231 2002-10-03  Richard Williamson   <rjw@apple.com>
5232
5233         Add calls to downloadProgressDelegate.
5234         
5235         * WebView.subproj/WebMainResourceClient.m:
5236         (-[WebMainResourceClient handle:willSendRequest:]):
5237         (-[WebMainResourceClient handle:didReceiveResponse:]):
5238         (-[WebMainResourceClient handle:didReceiveData:]):
5239         (-[WebMainResourceClient handle:didFailLoadingWithError:]):
5240
5241 2002-10-03  Richard Williamson   <rjw@apple.com>
5242
5243         
5244         * WebCoreSupport.subproj/WebBridge.m:
5245         (-[WebBridge objectLoadedFromCache:size:]):
5246         Hack to prevent handle creation with nil delegate,
5247         still perform frame complete check.
5248         
5249         * WebView.subproj/WebMainResourceClient.m:
5250         (-[WebMainResourceClient initWithDataSource:]):
5251         Removed unused code.
5252         
5253         (-[WebMainResourceClient handle:willSendRequest:]):
5254         Copy the request, ugh.
5255
5256 2002-10-03  Darin Adler  <darin@apple.com>
5257
5258         Add API for executing JavaScript.
5259
5260         * WebView.subproj/WebController.h: Add method.
5261         * WebView.subproj/WebController.m:
5262         (-[WebController executeJavaScriptFromString:]): Call through to
5263         WebCore to do the heavy lifting.
5264
5265 2002-10-03  Darin Adler  <darin@apple.com>
5266
5267         * English.lproj/Localizable.strings: Generated by the script.
5268         * English.lproj/StringsNotToBeLocalized.txt: Added many more strings to ignore.
5269         * English.lproj/WebError.strings: Removed.
5270
5271         * WebView.subproj/WebDefaultContextMenuDelegate.m:
5272         * WebView.subproj/WebView.m:
5273         Use UI_STRING instead of NSLocalizedString.
5274
5275         * WebKit.pbproj/project.pbxproj: Changed encodings of some files to UTF-8.
5276         Removed WebError.strings.
5277
5278 2002-10-03  Richard Williamson   <rjw@apple.com>
5279
5280         Renamed WebResourceProgressDelegate.h to WebResourceLoadDelegate.h
5281
5282         * Misc.subproj/WebKit.h:
5283         * WebCoreSupport.subproj/WebSubresourceClient.m:
5284         * WebKit.pbproj/project.pbxproj:
5285         * WebView.subproj/WebController.m:
5286         * WebView.subproj/WebControllerPrivate.m:
5287         * WebView.subproj/WebMainResourceClient.m:
5288         * WebView.subproj/WebResourceLoadDelegate.h:
5289         * WebView.subproj/WebResourceProgressDelegate.h: Removed.
5290
5291 2002-10-03  Richard Williamson   <rjw@apple.com>
5292
5293         Changed to reflect new WebResourceLoadDelegate API.
5294
5295         * Misc.subproj/WebIconLoader.m:
5296         * Misc.subproj/WebKit.h:
5297         * Plugins.subproj/WebPluginStream.m:
5298         (-[WebNetscapePluginStream handle:didReceiveData:]):
5299         (-[WebNetscapePluginStream handleDidFinishLoading:]):
5300         (-[WebNetscapePluginStream cancel]):
5301         (-[WebNetscapePluginStream handle:didFailLoadingWithError:]):
5302         * WebCoreSupport.subproj/WebBridge.m:
5303         (-[WebBridge objectLoadedFromCache:size:]):
5304         (-[WebBridge reportBadURL:]):
5305         * WebCoreSupport.subproj/WebSubresourceClient.h:
5306         * WebCoreSupport.subproj/WebSubresourceClient.m:
5307         (-[WebSubresourceClient initWithLoader:dataSource:]):
5308         (-[WebSubresourceClient dealloc]):
5309         (-[WebSubresourceClient receivedProgressWithComplete:]):
5310         (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
5311         (-[WebSubresourceClient receivedError:]):
5312         (-[WebSubresourceClient handle:willSendRequest:]):
5313         (-[WebSubresourceClient handle:didReceiveResponse:]):
5314         (-[WebSubresourceClient handle:didReceiveData:]):
5315         (-[WebSubresourceClient handleDidFinishLoading:]):
5316         (-[WebSubresourceClient handle:didFailLoadingWithError:]):
5317         (-[WebSubresourceClient cancel]):
5318         * WebKit.exp:
5319         * WebKit.pbproj/project.pbxproj:
5320         * WebView.subproj/WebController.h:
5321         * WebView.subproj/WebController.m:
5322         (-[WebController setResourceProgressDelegate:]):
5323         (-[WebController resourceProgressDelegate]):
5324         (-[WebController setDownloadProgressDelegate:]):
5325         (-[WebController downloadProgressDelegate]):
5326         * WebView.subproj/WebControllerPrivate.h:
5327         * WebView.subproj/WebControllerPrivate.m:
5328         (-[WebController _receivedProgressForResourceHandle:fromDataSource:complete:]):
5329         (-[WebController _mainReceivedProgressForResourceHandle:bytesSoFar:fromDataSource:complete:]):
5330         (-[WebController _receivedError:forResourceHandle:fromDataSource:]):
5331         (-[WebController _mainReceivedError:forResourceHandle:fromDataSource:]):
5332         * WebView.subproj/WebLoadProgress.h: Removed.
5333         * WebView.subproj/WebLoadProgress.m: Removed.
5334         * WebView.subproj/WebMainResourceClient.h:
5335         * WebView.subproj/WebMainResourceClient.m:
5336         (-[WebMainResourceClient initWithDataSource:]):
5337         (-[WebMainResourceClient dealloc]):
5338         (-[WebMainResourceClient receivedProgressWithHandle:complete:]):
5339         (-[WebMainResourceClient receivedError:forHandle:]):
5340         (-[WebMainResourceClient handleDidFinishLoading:]):
5341         (-[WebMainResourceClient handle:willSendRequest:]):
5342         (-[WebMainResourceClient handle:didReceiveResponse:]):
5343         (-[WebMainResourceClient handle:didReceiveData:]):
5344         (-[WebMainResourceClient handle:didFailLoadingWithError:]):
5345         * WebView.subproj/WebResourceProgressDelegate.h:
5346
5347 === Alexander-26 ===
5348
5349 2002-10-02  Maciej Stachowiak  <mjs@apple.com>
5350
5351         - Added "remember my password" checkbox (underlying feature not
5352         yet implemented).
5353
5354         - Fixed a bug that caused a crash when cancelling the auth sheet.
5355         
5356         * Panels.subproj/English.lproj/WebAuthenticationPanel.nib: Added
5357         "remember this password" checkbox.
5358         * Panels.subproj/WebAuthenticationPanel.h:
5359         * Panels.subproj/WebAuthenticationPanel.m:
5360         (-[WebAuthenticationPanel cancel:]): Make sure the panel gets
5361         retained a bit longer, so the cleanup that happens after this
5362         message is sent can use the panel object.
5363         (-[WebAuthenticationPanel logIn:]): Make sure the panel gets
5364         retained a bit longer, so the cleanup that happens after this
5365         message is sent can use the panel object.
5366         (-[WebAuthenticationPanel runAsModalDialogWithRequest:]): Pass
5367         proper remembered value with credential.
5368         (-[WebAuthenticationPanel sheetDidEnd:returnCode:contextInfo:]):
5369         Pass proper remembered value with credential.
5370         * WebKit.pbproj/project.pbxproj: Project Builder had its way with
5371         this file.
5372
5373 2002-10-02  Darin Adler  <darin@apple.com>
5374
5375         Machinery so we can handle mouseover feedback at the browser level.
5376
5377         * WebView.subproj/WebWindowOperationsDelegate.h: Added mouseDidMoveOverElement:modifierFlags:.
5378
5379         * WebKit.exp: Export WebElementLinkTargetFrameKey.
5380         * WebView.subproj/WebController.h: Add WebElementLinkTargetFrameKey.
5381         * WebView.subproj/WebController.m: Ditto.
5382
5383         * WebView.subproj/WebHTMLView.m:
5384         (-[WebHTMLView removeMouseMovedObserver]): Send a callback when we
5385         stop tracking the mouse altogether.
5386         (-[WebHTMLView viewDidMoveToWindow]): Only set up the mouse moved
5387         observer if we are the top-level HTML view.
5388         (-[WebHTMLView windowDidBecomeMain:]): Ditto.
5389         (-[WebHTMLView mouseMovedNotification:]): Handle mouse over if we are
5390         over any subview of the HTML view. Also send the callback.
5391
5392         * WebView.subproj/WebHTMLViewPrivate.h: Added lastMouseOverElementWasNotNil,
5393         _mouseOverElement:modifierFlags: and _insideAnotherHTMLView.
5394         * WebView.subproj/WebHTMLViewPrivate.m:
5395         (-[WebHTMLView _elementAtPoint:]): Copy over each element separately so
5396         we don't rely on keys matching. Find the target frame given the target string,
5397         and include it in the dictionary.
5398         (-[WebHTMLView _mouseOverElement:modifierFlags]): Added. Calls the window
5399         operations delegate method, but doesn't call it over and over again if the
5400         information is still "nil".
5401         (-[WebHTMLView _insideAnotherHTMLView]): Added.
5402         (-[NSMutableDictionary _web_setObjectIfNotNil:forKey:]): Added. Helper for
5403         the _elementAtPoint method which could be moved to WebNSDictionaryExtras some day.
5404
5405 2002-10-02  Ken Kocienda  <kocienda@apple.com>
5406
5407         Implemented HTTP-specific subclass for WebResourceResponse.
5408
5409         * Plugins.subproj/WebPluginStream.m:
5410         (-[WebNetscapePluginStream receivedData:]): Add import for WebHTTPResourceResponse.
5411
5412 2002-10-02  Darin Adler  <darin@apple.com>
5413
5414         Add return value to willSendRequest callback.
5415
5416         * Misc.subproj/WebIconLoader.m:
5417         (-[WebIconLoader handle:willSendRequest:]):
5418         * Plugins.subproj/WebPluginStream.m:
5419         (-[WebNetscapePluginStream handle:willSendRequest:]):
5420         * WebCoreSupport.subproj/WebSubresourceClient.m:
5421         (-[WebSubresourceClient handle:willSendRequest:]):
5422         * WebView.subproj/WebMainResourceClient.m:
5423         (-[WebMainResourceClient handle:willSendRequest:]):
5424         Update to return the request.
5425
5426 2002-10-02  Darin Adler  <darin@apple.com>
5427
5428         Use the text encoding name from the response and got rid of
5429         [WebDataSource encoding]. Also remove the "first chunk" logic since we
5430         now get a separate callback for the response.
5431
5432         * WebCoreSupport.subproj/WebBridge.m:
5433         (-[WebBridge receivedData:withDataSource:]): Get the encoding name
5434         from the response, or fall back on the default.
5435
5436         * WebView.subproj/WebDataSource.h: Removed encoding.
5437         * WebView.subproj/WebDataSource.m: Ditto.
5438
5439         * WebView.subproj/WebDataSourcePrivate.h: Removed _setEncoding.
5440         * WebView.subproj/WebDataSourcePrivate.m:
5441         (-[WebDataSourcePrivate dealloc]): No need to release encoding any more.
5442
5443         * WebView.subproj/WebMainResourceClient.m:
5444         (-[WebMainResourceClient initWithDataSource:]): No isFirstChunk to initialize.
5445         (-[WebMainResourceClient handle:didReceiveResponse:]): Moved the response handling
5446         in here, including the policy logic.
5447         (-[WebMainResourceClient handle:didReceiveData:]): This has only what's left.
5448
5449 2002-10-02  Chris Blumenberg  <cblu@apple.com>
5450
5451         Replaced contentType on WebDataSource to response.
5452
5453         * Plugins.subproj/WebNetscapePluginDocumentView.m:
5454         (-[WebNetscapePluginDocumentView setDataSource:]):
5455         * Plugins.subproj/WebPluginStream.m:
5456         (-[WebNetscapePluginStream receivedData:]):
5457         (-[WebNetscapePluginStream setResponse:]):
5458         (-[WebNetscapePluginStream setDataSource:]):
5459         (-[WebNetscapePluginStream receivedData:withDataSource:]):
5460         (-[WebNetscapePluginStream handle:didReceiveResponse:]):
5461         (-[WebNetscapePluginStream handle:didReceiveData:]):
5462         * WebView.subproj/WebDataSource.h:
5463         * WebView.subproj/WebDataSource.m:
5464         (-[WebDataSource response]):
5465         (-[WebDataSource fileType]):
5466         * WebView.subproj/WebDataSourcePrivate.h:
5467         * WebView.subproj/WebDataSourcePrivate.m:
5468         (-[WebDataSourcePrivate dealloc]):
5469         (-[WebDataSource _representationClass]):
5470         (-[WebDataSource _setResponse:]):
5471         (-[WebDataSource _setContentPolicy:]):
5472         * WebView.subproj/WebMainResourceClient.h:
5473         * WebView.subproj/WebMainResourceClient.m:
5474         (-[WebMainResourceClient dealloc]):
5475         (-[WebMainResourceClient handleDidFinishLoading:]):
5476         (-[WebMainResourceClient handle:didReceiveResponse:]):
5477         (-[WebMainResourceClient handle:didReceiveData:]):
5478         * WebView.subproj/WebTextView.m:
5479         (-[WebTextView dataSourceUpdated:]):
5480         * WebView.subproj/WebViewPrivate.m:
5481         (-[WebView _makeDocumentViewForDataSource:]):
5482
5483 2002-10-02  Darin Adler  <darin@apple.com>
5484
5485         More work on "open window behind".
5486
5487         * WebView.subproj/WebControllerPolicyDelegate.h: Add new OpenNewWindowBehind
5488         constants to the enums.
5489
5490         * WebView.subproj/WebWindowOperationsDelegate.h: Add a behind: parameter to
5491         the openNewWindowWithURL method.
5492
5493         * WebView.subproj/WebHTMLViewPrivate.m:
5494         (-[WebHTMLView _continueAfterClickPolicyForEvent:]): In the new
5495         WebClickPolicyOpenNewWindowBehind case, pass YES for behind.
5496
5497         * Plugins.subproj/WebBaseNetscapePluginView.m:
5498         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]):
5499         * WebCoreSupport.subproj/WebBridge.m:
5500         (-[WebBridge openNewWindowWithURL:referrer:frameName:]):
5501         * WebView.subproj/WebDefaultContextMenuDelegate.m:
5502         (-[WebDefaultContextMenuDelegate openNewWindowWithURL:referrer:]):
5503         * WebView.subproj/WebFrame.m:
5504         (-[WebFrame frameNamed:]):
5505         Pass NO for behind.
5506
5507 2002-10-02  Darin Adler  <darin@apple.com>
5508
5509         Cut down on unnecessary use of WebFoundation private stuff.
5510
5511         * Plugins.subproj/WebPluginStream.m:
5512         (-[WebNetscapePluginStream startLoad]): Remove unnecessary use of
5513         [WebResourceHandle _request].
5514         * WebCoreSupport.subproj/WebSubresourceClient.m:
5515         (-[WebSubresourceClient handleDidFinishLoading:]): Remove assert about
5516         status code, since status codes are going away.
5517         * WebView.subproj/WebMainResourceClient.m:
5518         (-[WebMainResourceClient didCancelWithHandle:]): Use currentURL for logging.
5519         (-[WebMainResourceClient handleDidFinishLoading:]): Ditto.
5520         (-[WebMainResourceClient handle:didReceiveData:]): Ditto.
5521
5522 2002-10-02  Darin Adler  <darin@apple.com>
5523
5524         * WebView.subproj/WebControllerPolicyDelegate.h: Change modifierMask to
5525         modifierFlags to match NSEvent.
5526         * WebView.subproj/WebDefaultPolicyDelegate.m:
5527         (-[WebDefaultPolicyDelegate clickPolicyForElement:button:modifierFlags:]): Ditto.
5528         * WebView.subproj/WebHTMLViewPrivate.m:
5529         (-[WebHTMLView _continueAfterClickPolicyForEvent:]): Ditto.
5530
5531 2002-10-02  Darin Adler  <darin@apple.com>
5532
5533         Get rid of uses of canonicalURL.
5534
5535         * WebCoreSupport.subproj/WebSubresourceClient.m:
5536         (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
5537         Start with normal URL. The change to the canonical URL will come in as a redirect.
5538         (-[WebSubresourceClient handle:didReceiveData:]): Remove assert.
5539         (-[WebSubresourceClient handleDidFinishLoading:]): Ditto.
5540         * WebView.subproj/WebDataSource.m:
5541         (-[WebDataSource initWithRequest:]):Start with normal URL. The change to the
5542         canonical URL will come in as a redirect.
5543
5544 2002-10-02  Ken Kocienda  <kocienda@apple.com>
5545
5546         Added import of WebHTTPResourceRequest.h to get access to methods
5547         which have moved to the HTTP-sepcific request category.
5548
5549         * WebView.subproj/WebDataSourcePrivate.m
5550
5551 2002-10-01  John Sullivan  <sullivan@apple.com>
5552
5553         * WebKit.exp: added .objc_class_name_WebTextRendererFactory
5554         so I could use it from WebBrowser.
5555
5556         * WebCoreSupport.subproj/WebBridge.m:
5557         (-[WebBridge startLoadingResource:withURL:referrer:]):
5558         Just changed whitespace so the .exp change would be built.
5559
5560 2002-10-01  Chris Blumenberg  <cblu@apple.com>
5561
5562         Fixed build breakage.
5563
5564         * Plugins.subproj/WebBaseNetscapePluginView.m:
5565         (-[WebBaseNetscapePluginView setWindow]):
5566
5567 2002-10-01  Ken Kocienda  <kocienda@apple.com>
5568
5569         Implemented WebResourceRequest "category" design for extending a
5570         request with protocol-specific data.
5571
5572         * WebCoreSupport.subproj/WebBridge.m: Now imports WebHTTPResourceRequest.h.
5573         * WebCoreSupport.subproj/WebSubresourceClient.m: Ditto.
5574         * WebView.subproj/WebMainResourceClient.m: Ditto.
5575
5576 2002-10-01  Chris Blumenberg  <cblu@apple.com>
5577
5578         - Added debug drawing
5579         - removed unnecessary ifdef'ing.
5580
5581         * Plugins.subproj/WebBaseNetscapePluginView.m:
5582         (-[WebBaseNetscapePluginView sendActivateEvent:]):
5583         (-[WebBaseNetscapePluginView becomeFirstResponder]):
5584         (-[WebBaseNetscapePluginView resignFirstResponder]):
5585         (-[WebBaseNetscapePluginView mouseDown:]):
5586         (-[WebBaseNetscapePluginView mouseUp:]):
5587         (-[WebBaseNetscapePluginView mouseEntered:]):
5588         (-[WebBaseNetscapePluginView mouseExited:]):
5589         (-[WebBaseNetscapePluginView menuForEvent:]):
5590         (-[WebBaseNetscapePluginView setWindow]):
5591         (-[WebBaseNetscapePluginView start]):
5592         (-[WebBaseNetscapePluginView drawRect:]):
5593
5594 2002-10-01  Ken Kocienda  <kocienda@apple.com>
5595
5596         * WebCoreSupport.subproj/WebSubresourceClient.m:
5597         (-[WebSubresourceClient handleDidFinishLoading:]): Fixed Development build breakage. Call to [response statusCode] 
5598         now calls the handle's private method to get the status code.
5599         * WebView.subproj/WebMainResourceClient.m:
5600         (-[WebMainResourceClient handleDidFinishLoading:]): Ditto.
5601         (-[WebMainResourceClient handle:didReceiveData:]): Calls new textEncodingName method, replacing call to characterSet.
5602
5603 2002-10-01  Ken Kocienda  <kocienda@apple.com>
5604
5605         * WebView.subproj/WebLoadProgress.m:
5606         (-[WebLoadProgress initWithResourceHandle:]): Status code moved from WebResourceResponse
5607         to WebResourceHandle private API.
5608
5609 2002-10-01  Ken Kocienda  <kocienda@apple.com>
5610
5611         Changed WebResourceHandle so that the init method no longer starts the
5612         loading of the request to begin. Added new loadWithDelegate: method which
5613         is called separatetly from the init method, to start loads.
5614
5615         All of the changes here update code that depends on WebResourceHandle. The
5616         changes move the code to the modified API.
5617
5618         * Misc.subproj/WebIconLoader.m:
5619         (-[WebIconLoader startLoading])
5620         * Plugins.subproj/WebPluginStream.m:
5621         (-[WebNetscapePluginStream startLoad])
5622         * WebCoreSupport.subproj/WebBridge.m:
5623         (-[WebBridge objectLoadedFromCache:size:])
5624         * WebCoreSupport.subproj/WebSubresourceClient.m:
5625         (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:])
5626         * WebView.subproj/WebDataSourcePrivate.m:
5627         (-[WebDataSource _startLoading])
5628
5629 2002-10-01  Chris Blumenberg  <cblu@apple.com>
5630
5631         Fixed copyright comments.
5632
5633         * Plugins.subproj/WebBaseNetscapePluginView.h:
5634         * Plugins.subproj/WebBaseNetscapePluginViewPrivate.h:
5635         * Plugins.subproj/WebNetscapePluginDocumentView.h:
5636         * Plugins.subproj/WebNetscapePluginDocumentView.m:
5637         * Plugins.subproj/WebNetscapePluginEmbeddedView.h:
5638         * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
5639         * Plugins.subproj/WebNullPluginView.h:
5640         * Plugins.subproj/WebNullPluginView.m:
5641         * Plugins.subproj/WebPlugin.h:
5642         * Plugins.subproj/WebPlugin.m:
5643         * Plugins.subproj/WebPluginDatabase.h:
5644         * Plugins.subproj/WebPluginDatabase.m:
5645         * Plugins.subproj/WebPluginNullEventSender.h:
5646         * Plugins.subproj/WebPluginNullEventSender.m:
5647         * Plugins.subproj/WebPluginStream.h:
5648         * Plugins.subproj/WebPluginStream.m:
5649         * Plugins.subproj/npapi.h:
5650         * Plugins.subproj/npapi.m:
5651
5652 2002-10-01  Ken Kocienda  <kocienda@apple.com>
5653
5654         Many changes to coincide with API work in WebFoundation. Most of the modifications
5655         here have to do with changes for the new callback scheme.
5656
5657         * Misc.subproj/WebIconLoader.m:
5658         (-[WebIconLoader handleDidFinishLoading:])
5659         (-[WebIconLoader handle:willSendRequest:]): New method. A no-op here.
5660         (-[WebIconLoader handle:didReceiveResponse:]): Ditto.
5661         * Plugins.subproj/WebBaseNetscapePluginView.m:
5662         (-[WebBaseNetscapePluginView stop]): Fix for Deployment build breakage. 
5663         * Plugins.subproj/WebPluginStream.h: Add response ivar.
5664         * Plugins.subproj/WebPluginStream.m:
5665         (-[WebNetscapePluginStream startLoad]): Tweak method name for new API.
5666         (-[WebNetscapePluginStream receivedData:withHandle:]):
5667         (-[WebNetscapePluginStream handle:willSendRequest:]): New method. Replaces old redirect callback.
5668         (-[WebNetscapePluginStream handle:didReceiveResponse:]): New method. Set the response ivar.
5669         * WebCoreSupport.subproj/WebSubresourceClient.h: Add response ivar.
5670         * WebCoreSupport.subproj/WebSubresourceClient.m:
5671         (-[WebSubresourceClient dealloc]): Release response ivar.
5672         (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]): Set the request user agent here.
5673         (-[WebSubresourceClient handle:willSendRequest:]): New method. Handle like a redirect.
5674         (-[WebSubresourceClient handle:didReceiveResponse:]): New method. Set the response ivar.
5675         (-[WebSubresourceClient handle:didReceiveData:]): Tweaks for new WebFoundation API and method names.
5676         (-[WebSubresourceClient handleDidFinishLoading:]): Ditto.
5677         (-[WebSubresourceClient handle:didFailLoadingWithError:]): Ditto.
5678         * WebView.subproj/WebControllerPrivate.m: 
5679         (-[WebController _receivedError:forResourceHandle:partialProgress:fromDataSource:]): Ditto.
5680         * WebView.subproj/WebDataSourcePrivate.h: Add _setRequest method.
5681         * WebView.subproj/WebDataSourcePrivate.m:
5682         (-[WebDataSource _startLoading]): Call didStartLoadingWithURL with request URL instead of handle URL.
5683         (-[WebDataSource _setRequest:]): Add implementation.
5684         * WebView.subproj/WebLoadProgress.m:
5685         (-[WebLoadProgress initWithResourceHandle:]): Tweaks for new WebFoundation API and method names.
5686         * WebView.subproj/WebMainResourceClient.h: Add response ivar.
5687         * WebView.subproj/WebMainResourceClient.m:
5688         (-[WebMainResourceClient initWithDataSource:]): Set user agent on request here.
5689         (-[WebMainResourceClient dealloc]): Release response ivar.
5690         (-[WebMainResourceClient didCancelWithHandle:]): Tweaks for new WebFoundation API and method names.
5691         (-[WebMainResourceClient handleDidFinishLoading:]): Tweaks for new WebFoundation API and method names.
5692         (-[WebMainResourceClient handle:willSendRequest:]): New method. Handle like a redirect.
5693         (-[WebMainResourceClient handle:didReceiveResponse:]): New method. Set the response ivar.
5694         (-[WebMainResourceClient handle:didReceiveData:]): Tweaks for new WebFoundation API and method names.
5695         (-[WebMainResourceClient handle:didFailLoadingWithError:]): Ditto.
5696
5697
5698 2002-09-30  Chris Blumenberg  <cblu@apple.com>
5699
5700         A ton o' plugin view clean-up and arch changes. Turned WebPluginView into WebBaseNetscapePluginView. New classes WebNetscapePluginEmbeddedView and WebNetscapePluginDocumentView are subclasses of WebBaseNetscapePluginView. WebNetscapePluginDocumentView ha
5701 ndles non-HTML plug-in content and WebNetscapePluginEmbeddedView is the WebHTMLView subview.
5702
5703         Found that we leak the world on complex pages with plug-ins such as macromedia.com and marvel.com when closing the window. Still need to figure this out.
5704
5705         * Plugins.subproj/WebBaseNetscapePluginView.h: Added.
5706         * Plugins.subproj/WebBaseNetscapePluginView.m: Added.
5707         (+[WebBaseNetscapePluginView getCarbonEvent:]):
5708         (-[WebBaseNetscapePluginView getCarbonEvent:]):
5709         (-[WebBaseNetscapePluginView modifiersForEvent:]):
5710         (-[WebBaseNetscapePluginView getCarbonEvent:withEvent:]):
5711         (-[WebBaseNetscapePluginView keyMessageForEvent:]):
5712         (-[WebBaseNetscapePluginView sendEvent:]):
5713         (-[WebBaseNetscapePluginView sendActivateEvent:]):
5714         (-[WebBaseNetscapePluginView sendUpdateEvent]):
5715         (-[WebBaseNetscapePluginView acceptsFirstResponder]):
5716         (-[WebBaseNetscapePluginView becomeFirstResponder]):
5717         (-[WebBaseNetscapePluginView resignFirstResponder]):
5718         (-[WebBaseNetscapePluginView mouseDown:]):
5719         (-[WebBaseNetscapePluginView mouseUp:]):
5720         (-[WebBaseNetscapePluginView mouseEntered:]):
5721         (-[WebBaseNetscapePluginView mouseExited:]):
5722         (-[WebBaseNetscapePluginView keyUp:]):
5723         (-[WebBaseNetscapePluginView keyDown:]):
5724         (-[WebBaseNetscapePluginView isInResponderChain]):
5725         (-[WebBaseNetscapePluginView performKeyEquivalent:]):
5726         (-[WebBaseNetscapePluginView menuForEvent:]):
5727         (-[WebBaseNetscapePluginView setUpWindowAndPort]):
5728         (-[WebBaseNetscapePluginView setWindow]):
5729         (-[WebBaseNetscapePluginView removeTrackingRect]):
5730         (-[WebBaseNetscapePluginView resetTrackingRect]):
5731         (-[WebBaseNetscapePluginView start]):
5732         (-[WebBaseNetscapePluginView stop]):
5733         (-[WebBaseNetscapePluginView dataSource]):
5734         (-[WebBaseNetscapePluginView webFrame]):
5735         (-[WebBaseNetscapePluginView controller]):
5736         (-[WebBaseNetscapePluginView plugin]):
5737         (-[WebBaseNetscapePluginView setMIMEType:]):
5738         (-[WebBaseNetscapePluginView setBaseURL:]):
5739         (-[WebBaseNetscapePluginView setArguments:]):
5740         (-[WebBaseNetscapePluginView setMode:]):
5741         (-[WebBaseNetscapePluginView initWithFrame:]):
5742         (-[WebBaseNetscapePluginView dealloc]):
5743         (-[WebBaseNetscapePluginView drawRect:]):
5744         (-[WebBaseNetscapePluginView isFlipped]):
5745         (-[WebBaseNetscapePluginView viewWillMoveToWindow:]):
5746         (-[WebBaseNetscapePluginView viewDidMoveToWindow]):
5747         (-[WebBaseNetscapePluginView viewHasMoved:]):
5748         (-[WebBaseNetscapePluginView windowWillClose:]):
5749         (-[WebBaseNetscapePluginView windowBecameKey:]):
5750         (-[WebBaseNetscapePluginView windowResignedKey:]):
5751         (-[WebBaseNetscapePluginView defaultsHaveChanged:]):
5752         (-[WebBaseNetscapePluginView frameStateChanged:]):
5753         (-[WebBaseNetscapePluginView pluginInstance]):
5754         (-[WebBaseNetscapePluginView pluginURLFromCString:]):
5755         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]):
5756         (-[WebBaseNetscapePluginView getURLNotify:target:notifyData:]):
5757         (-[WebBaseNetscapePluginView getURL:target:]):
5758         (-[WebBaseNetscapePluginView postURLNotify:target:len:buf:file:notifyData:]):
5759         (-[WebBaseNetscapePluginView postURL:target:len:buf:file:]):
5760         (-[WebBaseNetscapePluginView newStream:target:stream:]):
5761         (-[WebBaseNetscapePluginView write:len:buffer:]):
5762         (-[WebBaseNetscapePluginView destroyStream:reason:]):
5763         (-[WebBaseNetscapePluginView status:]):
5764         (-[WebBaseNetscapePluginView invalidateRect:]):
5765         (-[WebBaseNetscapePluginView invalidateRegion:]):
5766         (-[WebBaseNetscapePluginView forceRedraw]):
5767         * Plugins.subproj/WebBaseNetscapePluginViewPrivate.h: Added.
5768         * Plugins.subproj/WebNetscapePluginDocumentView.h: Added.
5769         * Plugins.subproj/WebNetscapePluginDocumentView.m: Added.
5770         (-[WebNetscapePluginDocumentView initWithFrame:]):
5771         (-[WebNetscapePluginDocumentView dealloc]):
5772         (-[WebNetscapePluginDocumentView drawRect:]):
5773         (-[WebNetscapePluginDocumentView dataSource]):
5774         (-[WebNetscapePluginDocumentView setDataSource:]):
5775         (-[WebNetscapePluginDocumentView dataSourceUpdated:]):
5776         (-[WebNetscapePluginDocumentView setNeedsLayout:]):
5777         (-[WebNetscapePluginDocumentView layout]):
5778         * Plugins.subproj/WebNetscapePluginEmbeddedView.h: Added.
5779         * Plugins.subproj/WebNetscapePluginEmbeddedView.m: Added.
5780         (-[WebNetscapePluginEmbeddedView initWithFrame:plugin:URL:baseURL:mime:arguments:]):
5781         (-[WebNetscapePluginEmbeddedView dealloc]):
5782         (-[WebNetscapePluginEmbeddedView viewDidMoveToWindow]):
5783         (-[WebNetscapePluginEmbeddedView start]):
5784         (-[WebNetscapePluginEmbeddedView dataSource]):
5785         * Plugins.subproj/WebNetscapePluginViewPrivate.h: Removed.
5786         * Plugins.subproj/WebPluginDatabase.m:
5787         (-[WebNetscapePluginDatabase init]):
5788         * Plugins.subproj/WebPluginNullEventSender.h:
5789         * Plugins.subproj/WebPluginNullEventSender.m:
5790         (-[WebNetscapePluginNullEventSender initWithPluginView:]):
5791         (-[WebNetscapePluginNullEventSender sendNullEvents]):
5792         * Plugins.subproj/WebPluginStream.h:
5793         * Plugins.subproj/WebPluginStream.m:
5794         (-[WebNetscapePluginStream getFunctionPointersFromPluginView:]):
5795         (-[WebNetscapePluginStream initWithURL:pluginPointer:notifyData:]):
5796         (-[WebNetscapePluginStream dealloc]):
5797         (-[WebNetscapePluginStream startLoad]):
5798         (-[WebNetscapePluginStream receivedData:withDataSource:]):
5799         (-[WebNetscapePluginStream handleWillUseUserAgent:forURL:]):
5800         (-[WebNetscapePluginStream handle:didReceiveData:]):
5801         (-[WebNetscapePluginStream handleDidFinishLoading:]):
5802         (-[WebNetscapePluginStream cancel]):
5803         (-[WebNetscapePluginStream handle:didFailLoadingWithError:]):
5804         (-[WebNetscapePluginStream handleDidRedirect:toURL:]):
5805         * Plugins.subproj/WebPluginView.h: Removed.
5806         * Plugins.subproj/WebPluginView.m: Removed.
5807         * Plugins.subproj/npapi.m:
5808         (NPN_GetURLNotify):
5809         (NPN_GetURL):
5810         (NPN_PostURLNotify):
5811         (NPN_PostURL):
5812         (NPN_NewStream):
5813         (NPN_Write):
5814         (NPN_DestroyStream):
5815         (NPN_Status):
5816         (NPN_InvalidateRect):
5817         (NPN_InvalidateRegion):
5818         (NPN_ForceRedraw):
5819         * WebCoreSupport.subproj/WebViewFactory.m:
5820         (-[WebViewFactory viewForPluginWithURL:serviceType:arguments:baseURL:]):
5821         (-[WebViewFactory viewForJavaAppletWithFrame:baseURL:parameters:]):
5822         * WebKit.pbproj/project.pbxproj:
5823         * WebView.subproj/WebHTMLViewPrivate.m:
5824         (-[NSView _web_stopIfPluginView]):
5825
5826 2002-09-30  Darin Adler  <darin@apple.com>
5827
5828         * WebView.subproj/WebDataSource.m: (-[WebDataSource initWithRequest:]):
5829         Remove the ill-advised "don't even create a WebDataSource if WebResourceHandle
5830         can't handle this request" code.
5831
5832         * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _startLoading]):
5833         Rearrange checks so we won't get confused if we can't create a handle.
5834
5835 2002-09-30  Darin Adler  <darin@apple.com>
5836
5837         * English.lproj/StringsNotToBeLocalized.txt: Added.
5838
5839 2002-09-30  Darin Adler  <darin@apple.com>
5840
5841         - fixed crashing part of 3063517 -- crash loading .png in separate window
5842
5843         * Plugins.subproj/WebPluginView.m:
5844         (-[WebNetscapePluginView start]): Don't try to start if the NPP_New is 0.
5845         This indicates the the plugin hasn't been loaded.
5846
5847 2002-09-30  Darin Adler  <darin@apple.com>
5848
5849         * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _setLoading:]):
5850         Remove extra quotes in use of ASSERT_ARG.
5851
5852 2002-09-29  Darin Adler  <darin@apple.com>
5853
5854         * Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase _iconForFileURL:withSize:]):
5855         Don't be case sensitive about filename extensions.
5856
5857         * Misc.subproj/WebDownloadHandler.m:
5858         * Misc.subproj/WebIconLoader.m:
5859         * Plugins.subproj/WebPluginStream.m:
5860         * WebView.subproj/WebDataSource.m:
5861         * WebView.subproj/WebDefaultContextMenuDelegate.m:
5862         * WebView.subproj/WebFrame.m:
5863         * WebView.subproj/WebFramePrivate.m:
5864         * WebView.subproj/WebView.m:
5865         Don't use WebFoundation.h -- faster building to just import what we really use.
5866
5867 2002-09-29  Chris Blumenberg  <cblu@apple.com>
5868
5869         Fixed: 2978258 - quake3arena.com sends me to the flash=false site
5870         The page has a flash plugin that once loaded, requests the flash=true page. If the plugin doesn't load, the meta refresh tag to the flash=false page fires after 3 seconds. This is how this site's flash detection works.
5871
5872         The reason this doesn't work for us is because the flash movie is at the bottom of the page. Plugins don't start until the initial drawRect. Since the movie is at the bottom of the page and out of site, the plugin never gets the drawRect and thus, never 
5873 starts. We now start plug-ins when they are added to the window.
5874
5875         Fixed: 3062224 - context menu includes "Download Item to Disk" for mailto links
5876
5877         - Fixed click then click and drag causes crash.
5878
5879         * Plugins.subproj/WebPluginView.m:
5880         (-[WebNetscapePluginView drawRect:]): don't start plug-in here
5881         (-[WebNetscapePluginView viewDidMoveToWindow]): start it here
5882         * WebView.subproj/WebDefaultContextMenuDelegate.m:
5883         (-[WebDefaultContextMenuDelegate contextMenuItemsForElement:defaultMenuItems:]): don't provide "Download Link To Disk" and "Open Link In New Window" items for URLs we cant handle.
5884         * WebView.subproj/WebHTMLView.m:
5885         (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]): clean-up
5886         (-[WebHTMLView mouseDragged:]): Don't allow drag if the frame has a provisional data source because this view may be released and the drag callbacks might reference this released view.
5887
5888 2002-09-28  Darin Adler  <darin@apple.com>
5889
5890         * WebView.subproj/WebDataSource.m: (-[WebDataSource initWithRequest:]):
5891         Catch a request that we can't use here instead of failing later.
5892
5893         * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _startLoading]):
5894         Added an assert so the failure was less confusing; good idea to leave it in.
5895
5896 2002-09-28  Chris Blumenberg  <cblu@apple.com>
5897
5898         Support for latest Flash plug-in. It requests a javascript URL for every plug-in instance.
5899         Until javascript URLs work, we return an error to the plug-in. 
5900
5901         Fixed: 3035582 - flash animations don't work after upgrading flash
5902         Fixed: 3021936 - links in flash at foggypetronasracing.com doesn't work
5903
5904         * Plugins.subproj/WebPluginStream.h:
5905         * Plugins.subproj/WebPluginStream.m:
5906         (-[WebNetscapePluginStream initWithURL:pluginPointer:notifyData:]):
5907         Make the request here and return nil if we can't create a handle with it.
5908         (-[WebNetscapePluginStream dealloc]): release the request
5909         (-[WebNetscapePluginStream startLoad]): use the request when creating the handle
5910
5911 2002-09-28  Darin Adler  <darin@apple.com>
5912
5913         * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge setNeedsLayout]): Added.
5914
5915 2002-09-27  Chris Blumenberg  <cblu@apple.com>
5916
5917         Fixed KJS crasher caused by nil plug-in returned from WebPlugin.
5918         Got the RealPlayer plug-in loaded, nothing playing yet.
5919
5920         * Plugins.subproj/WebPlugin.m:
5921         (-[WebNetscapePlugin getPluginInfo]): check for nil plug-in names/descriptions
5922         (-[WebNetscapePlugin stringByResolvingSymlinksAndAliasesInPath:]): new, resolves old-style aliases
5923         (-[WebNetscapePlugin initWithPath:]): call stringByResolvingSymlinksAndAliasesInPath
5924
5925 2002-09-27  Richard Williamson   <rjw@apple.com>
5926
5927         Fix 3058315:  crash in WebHTMLRepresentation receivedData:withDataSource
5928         http://www.u2.com/lite/ does some whacky things with its framset's onLoad
5929         handler.  The fix ensures that data isn't sent to the bridge once
5930         the bridge has been dealloced.
5931         
5932         * WebKit.pbproj/project.pbxproj: Nothing changed.  PB dorkiness.
5933         * WebView.subproj/WebHTMLRepresentation.m:
5934         (-[WebHTMLRepresentation receivedData:withDataSource:]):
5935
5936 2002-09-27  Chris Blumenberg  <cblu@apple.com>
5937
5938         Fixed: 3056559 - QT plugin doesn't load
5939         Fixed: 3042850 - Enable Java by default
5940
5941         Cleaned up WebPlugin and WebPluginDatabase.
5942
5943         * Plugins.subproj/WebPlugin.h:
5944         * Plugins.subproj/WebPlugin.m:
5945         (-[WebNetscapePlugin openResourceFile]):
5946         (-[WebNetscapePlugin closeResourceFile:]):
5947         (-[WebNetscapePlugin stringForStringListID:andIndex:]):
5948         (-[WebNetscapePlugin getPluginInfo]):
5949         (-[WebNetscapePlugin initWithPath:]):
5950         (-[WebNetscapePlugin load]):
5951         (-[WebNetscapePlugin unload]):
5952         (-[WebNetscapePlugin MIMEToExtensionsDictionary]):
5953         (-[WebNetscapePlugin extensionToMIMEDictionary]):
5954         (-[WebNetscapePlugin MIMEToDescriptionDictionary]):
5955         (-[WebNetscapePlugin description]):
5956         * Plugins.subproj/WebPluginDatabase.h:
5957         * Plugins.subproj/WebPluginDatabase.m:
5958         (-[WebNetscapePluginDatabase pluginForMIMEType:]):
5959         (-[WebNetscapePluginDatabase pluginForExtension:]):
5960         (-[WebNetscapePluginDatabase pluginForFilename:]):
5961         (-[WebNetscapePluginDatabase MIMETypes]):
5962         (-[WebNetscapePluginDatabase init]):
5963         * Plugins.subproj/WebPluginView.m:
5964         (-[WebNetscapePluginView setDataSource:]):
5965         * WebCoreSupport.subproj/WebViewFactory.m:
5966         (-[WebViewFactory viewForPluginWithURL:serviceType:arguments:baseURL:]):
5967         (-[WebViewFactory viewForJavaAppletWithFrame:baseURL:parameters:]):
5968         * WebView.subproj/WebPreferences.m:
5969         (+[WebPreferences load]): Enable Java by default
5970
5971 2002-09-27  Richard Williamson   <rjw@apple.com>
5972
5973         Fixed 3060158:  REGRESSION: iframes added to session history
5974         Also moved setting title in history to WebKit.
5975         
5976         * History.subproj/WebHistory.h:
5977         * History.subproj/WebHistory.m:
5978         (+[WebHistory sharedHistory]):
5979         (+[WebHistory webHistoryWithFile:]):
5980         (-[WebHistory addEntryForURL:]):
5981         (-[WebHistory addEntries:]):
5982         * History.subproj/WebHistoryPrivate.h:
5983         * History.subproj/WebHistoryPrivate.m:
5984         * WebCoreSupport.subproj/WebBridge.m:
5985         (-[WebBridge requestedURL]):
5986         * WebView.subproj/WebDataSourcePrivate.m:
5987         (-[WebDataSource _setTitle:]):
5988         * WebView.subproj/WebFramePrivate.m:
5989         (-[WebFrame _transitionToCommitted]):
5990         * WebView.subproj/WebHTMLView.m:
5991         (-[WebHTMLView mouseDragged:]):
5992
5993 2002-09-26  Richard Williamson   <rjw@apple.com>
5994
5995         More twiddling.  Changed the color of the drag labels to
5996         match the favorites bar.
5997         
5998         * WebView.subproj/WebHTMLView.m:
5999         (-[WebHTMLView mouseDragged:]):
6000
6001 2002-09-27  Chris Blumenberg  <cblu@apple.com>
6002
6003         Added support for dragging links the the dock.
6004         Created new pasteboard types WebURLPboardType WebURLNamePboardType that the dock requires.
6005
6006         * Misc.subproj/WebNSPasteboardExtras.h:
6007         * Misc.subproj/WebNSPasteboardExtras.m:
6008         (+[NSPasteboard initialize]): set WebURLPboardType and WebURLNamePboardType
6009         (-[NSPasteboard _web_writeURL:andTitle:withOwner:]): use WebURLPboardType and WebURLNamePboardType
6010         * WebKit.exp: export WebURLPboardType and WebURLNamePboardType
6011
6012 2002-09-27  Maciej Stachowiak  <mjs@apple.com>
6013
6014         * Panels.subproj/WebAuthenticationPanel.m:
6015         (-[WebAuthenticationPanel setUpForRequest:]):
6016         (-[WebAuthenticationPanel runAsModalDialogWithRequest:]):
6017         (-[WebAuthenticationPanel sheetDidEnd:returnCode:contextInfo:]):
6018         * Panels.subproj/WebPanelAuthenticationHandler.h:
6019         * Panels.subproj/WebPanelAuthenticationHandler.m:
6020         (-[WebPanelAuthenticationHandler isReadyToStartAuthentication:]):
6021         (-[WebPanelAuthenticationHandler startAuthentication:]):
6022         (-[WebPanelAuthenticationHandler _authenticationDoneWithRequest:result:]):
6023
6024 2002-09-26  Darin Adler  <darin@apple.com>
6025
6026         * WebCoreSupport.subproj/WebBridge.m:
6027         (-[WebBridge receivedData:withDataSource:]): Use NSString for encoding.
6028         * WebView.subproj/WebController.h: Update names to use separate boolean
6029         for user agent and strings for text encodings instead of CFStringEncoding.
6030         * WebView.subproj/WebController.m:
6031         (-[WebController setCustomUserAgent:]): Name change.
6032         (-[WebController resetUserAgent]): Added.
6033         (-[WebController hasCustomUserAgent]): Added.
6034         (-[WebController customUserAgent]): Name change.
6035         (-[WebController setCustomTextEncodingName:]): Take NSString.
6036         (-[WebController resetTextEncoding]): Update for NSString.
6037         (-[WebController _mainFrameOverrideEncoding]): Ditto.
6038         (-[WebController hasCustomTextEncoding]): Ditto.
6039         (-[WebController customTextEncodingName]): Return NSString.
6040
6041         * WebView.subproj/WebDataSourcePrivate.h: Use NSString instead of
6042         CFStringEncoding.
6043         * WebView.subproj/WebDataSourcePrivate.m:
6044         (-[WebDataSourcePrivate init]): No need to init.
6045         (-[WebDataSource _setContentType:]): Copy, don't retain.
6046         (-[WebDataSource _setEncoding:]): Copy, don't retain.
6047         (-[WebDataSource _setOverrideEncoding:]): Use NSString.
6048         (-[WebDataSource _overrideEncoding]): Use NSString.
6049
6050         * WebView.subproj/WebFramePrivate.h: Use NSString.
6051         * WebView.subproj/WebFramePrivate.m:
6052         (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]): Use NSString.
6053
6054         * WebView.subproj/WebPreferences.h: Use NSString instead of
6055         CFStringEncoding.
6056         * WebView.subproj/WebPreferences.m:
6057         (+[WebPreferences load]): Use NSString.
6058         (-[WebPreferences defaultTextEncodingName]): Use NSString.
6059         (-[WebPreferences setDefaultTextEncodingName:]): Use NSString.
6060
6061 2002-09-26  Chris Blumenberg  <cblu@apple.com>
6062
6063         Made WebTextView super-private.
6064
6065         * WebKit.pbproj/project.pbxproj:
6066
6067 2002-09-26  Richard Williamson   <rjw@apple.com>
6068
6069         Use a rectangle with rounded corners for dragged label.
6070         Put a subtle shadow behind text in label.
6071         
6072         * WebView.subproj/WebHTMLView.m:
6073         (-[WebHTMLView mouseDragged:]):
6074
6075 2002-09-26  Chris Blumenberg  <cblu@apple.com>
6076
6077         - When dragging an image, use the image itself for the drag image
6078         - Support promised file and image data drag types for dragged images.
6079
6080         * Misc.subproj/WebNSImageExtras.h: Added.
6081         * Misc.subproj/WebNSImageExtras.m: Added.
6082         (-[NSImage _web_scaleToMaxSize:]): new, scales an image is greater than max
6083         (-[NSImage _web_dissolveToFraction:]): new, dissolves image in place
6084         * WebKit.pbproj/project.pbxproj:
6085         * WebView.subproj/WebController.h: Added WebElementImageLocationKey to the element dictionary
6086         * WebView.subproj/WebController.m: ditto
6087         * WebView.subproj/WebHTMLView.m:
6088         (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]): subclassed for only for image drags
6089         (-[WebHTMLView mouseDragged:]): use the promised file api again.
6090         (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): use the retained element dictionary instead of the dragged URL which I deleted.
6091         * WebView.subproj/WebHTMLViewPrivate.h:
6092
6093 === Alexander-25 ===
6094
6095 2002-09-25  Richard Williamson   <rjw@apple.com>
6096
6097         API tweaks.
6098         * Misc.subproj/WebKit.h:
6099         Added headers.
6100         
6101         * Misc.subproj/WebKitErrors.h:
6102         Removed #defines.
6103         
6104         * WebView.subproj/WebDataSource.h:
6105         * WebView.subproj/WebDataSource.m:
6106         * WebView.subproj/WebDataSourcePrivate.m:
6107         (-[WebDataSource _startLoading]):
6108         (-[WebDataSource _loadIcon]):
6109         * WebView.subproj/WebDefaultContextMenuDelegate.m:
6110         (-[WebDefaultContextMenuDelegate contextMenuItemsForElement:defaultMenuItems:]):
6111         Removed isMainDocument.
6112         
6113         Moved errors string #defines here.
6114         * WebView.subproj/WebView.m:
6115
6116 2002-09-25  John Sullivan  <sullivan@apple.com>
6117
6118         - fixed 3060773 -- Wrong title proposed when image link 
6119         dropped on favorites bar
6120
6121         * WebView.subproj/WebHTMLView.m:
6122         (-[WebHTMLView mouseDragged:]): Claim the pasteboard (via
6123         declareTypes:) before putting data on it.
6124
6125 2002-09-25  Richard Williamson   <rjw@apple.com>
6126
6127         API and documentation tweaks.
6128         
6129         WebDocumentDragSettings:  canDrag -> acceptsDrag
6130         WebDataSource:  removed originalURL
6131         WebStandardPanels:  use -> uses
6132         
6133         * History.subproj/WebBackForwardList.h:
6134         * Misc.subproj/WebDownloadHandler.m:
6135         (-[WebDownloadHandler initWithDataSource:]):
6136         * Panels.subproj/WebStandardPanels.h:
6137         * Panels.subproj/WebStandardPanels.m:
6138         (-[WebStandardPanels setUsesStandardAuthenticationPanel:]):
6139         (-[WebStandardPanels usesStandardAuthenticationPanel]):
6140         * Plugins.subproj/WebPluginView.m:
6141         (-[WebNetscapePluginView frameStateChanged:]):
6142         * WebCoreSupport.subproj/WebSubresourceClient.m:
6143         (-[WebSubresourceClient cancel]):
6144         * WebView.subproj/WebController.h:
6145         * WebView.subproj/WebDataSource.h:
6146         * WebView.subproj/WebDataSourcePrivate.m:
6147         (-[WebDataSource _commitIfReady]):
6148         * WebView.subproj/WebDocument.h:
6149         * WebView.subproj/WebFrame.m:
6150         (-[WebFrame setProvisionalDataSource:]):
6151         (-[WebFrame startLoading]):
6152         * WebView.subproj/WebFramePrivate.m:
6153         (-[WebFrame _transitionToCommitted]):
6154         (-[WebFrame _setState:]):
6155         (-[WebFrame _goToItem:withFrameLoadType:]):
6156         * WebView.subproj/WebHTMLView.m:
6157         (-[WebHTMLView setAcceptsDrags:]):
6158         (-[WebHTMLView acceptsDrags]):
6159         (-[WebHTMLView setAcceptsDrops:]):
6160         (-[WebHTMLView acceptsDrops]):
6161         * WebView.subproj/WebImageView.m:
6162         (-[WebImageView setAcceptsDrags:]):
6163         (-[WebImageView acceptsDrags]):
6164         (-[WebImageView setAcceptsDrops:]):
6165         (-[WebImageView acceptsDrops]):
6166         * WebView.subproj/WebLoadProgress.h:
6167         * WebView.subproj/WebLocationChangeDelegate.h:
6168         * WebView.subproj/WebMainResourceClient.m:
6169         (-[WebMainResourceClient didCancelWithHandle:]):
6170         * WebView.subproj/WebView.h:
6171
6172 2002-09-25  Ken Kocienda  <kocienda@apple.com>
6173
6174         Changes to move the WebResourceHandle API closer to the
6175         specified design. This includes:
6176
6177         - Removed loadInBackground method from the public interface.
6178         - Start asynchronous loading in WebResourceHandle init method. This required some
6179           code reorganization in callers.
6180         - Remove loadInForeground: from WebResourceHandle interface.
6181         - Move WebResourceHandle callback deferral methods to SPI header file.
6182         - Change name of WebResourceHandle cancelLoadInBackground method to cancel.
6183
6184         * Misc.subproj/WebIconLoader.m:
6185         (-[WebIconLoader startLoading])
6186         (-[WebIconLoader stopLoading])
6187         * Plugins.subproj/WebPluginStream.m:
6188         (-[WebNetscapePluginStream startLoad])
6189         (-[WebNetscapePluginStream cancel])
6190         * WebCoreSupport.subproj/WebSubresourceClient.m:
6191         (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:])
6192         (-[WebSubresourceClient cancel])
6193         * WebView.subproj/WebDataSourcePrivate.m:
6194         (-[WebDataSource _startLoading])
6195         (-[WebDataSource _addSubresourceClient:])
6196         (-[WebDataSource _stopLoading])
6197         (-[WebDataSource _defersCallbacksChanged])
6198         * WebView.subproj/WebMainResourceClient.m:
6199         (-[WebMainResourceClient handle:didReceiveData:])
6200
6201 2002-09-25  Chris Blumenberg  <cblu@apple.com>
6202
6203         Fixed: 3050665 - REGRESSION: mp3 audio loads and plays, but no progress or play control is visible
6204
6205         * Plugins.subproj/WebPluginView.h:
6206         * Plugins.subproj/WebPluginView.m:
6207         (-[WebNetscapePluginView setNeedsLayout:]):
6208         (-[WebNetscapePluginView layout]):
6209         (-[WebNetscapePluginView drawRect:]):
6210
6211 2002-09-25  Darin Adler  <darin@apple.com>
6212
6213         Make the "set aside subviews" logic stronger so it can handle a display
6214         while inside drawRect. But note, this recursive display is most likely
6215         the cause of the redrawing problems we have while resizing, like bug 2969367.
6216
6217         * WebView.subproj/WebHTMLView.m:
6218         (-[WebHTMLView drawRect:]): Restore views and then set them aside again, but don't
6219         leave the "views set aside" boolean set.
6220         * WebView.subproj/WebHTMLViewPrivate.h: Add private _setAsideSubviews and _restoreSubviews methods.
6221         * WebView.subproj/WebHTMLViewPrivate.m:
6222         (-[WebHTMLView _setAsideSubviews]): Added.
6223         (-[WebHTMLView _restoreSubviews]): Added.
6224         (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
6225         Use the new _setAsideSubviews and _restoreSubviews methods.
6226         (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]): Ditto.
6227
6228 2002-09-25  Ken Kocienda  <kocienda@apple.com>
6229
6230         Removed this method from WebResourceHandle:
6231
6232         +(BOOL)canInitWithURL:(NSURL *)theURL;
6233
6234         replaced with:
6235
6236         +(BOOL)canInitWithRequest:(WebResourceRequest *)request;
6237
6238         Callers have been updated to reflect the change.
6239
6240         * WebView.subproj/WebDefaultPolicyDelegate.m:
6241         (+[WebDefaultPolicyDelegate defaultURLPolicyForURL:])
6242         * WebView.subproj/WebFramePrivate.m:
6243         (-[WebFrame _shouldShowURL:])
6244
6245 2002-09-25  Ken Kocienda  <kocienda@apple.com>
6246
6247         More moves to the new WebResourceHandleDelegate API.   
6248
6249         This change moves all WebResourceHandleDelegate implementors to:
6250
6251         -(void)handle:(WebResourceHandle *)handle didReceiveData:(NSData *)data;
6252
6253         * Misc.subproj/WebIconLoader.m:
6254         (-[WebIconLoader handle:didReceiveData:])
6255         * Plugins.subproj/WebPluginStream.m:
6256         (-[WebNetscapePluginStream handle:didReceiveData:])
6257         * WebCoreSupport.subproj/WebSubresourceClient.m:
6258         (-[WebSubresourceClient handle:didReceiveData:])
6259         * WebView.subproj/WebMainResourceClient.m:
6260         (-[WebMainResourceClient handle:didReceiveData:])
6261
6262 2002-09-25  Ken Kocienda  <kocienda@apple.com>
6263
6264         Moving to the new WebResourceHandleDelegate API.
6265
6266         This change moves all WebResourceHandleDelegate implementors to:
6267
6268         - (void)handle:(WebResourceHandle *)handle didFailLoadingWithError:(WebError *)result;
6269
6270         * Misc.subproj/WebIconLoader.m:
6271         (-[WebIconLoader handle:didFailLoadingWithError:])
6272         * Plugins.subproj/WebPluginStream.m:
6273         (-[WebNetscapePluginStream handle:didFailLoadingWithError:])
6274         * WebCoreSupport.subproj/WebSubresourceClient.m:
6275         (-[WebSubresourceClient handle:didFailLoadingWithError:])
6276         * WebView.subproj/WebMainResourceClient.m:
6277         (-[WebMainResourceClient handle:didFailLoadingWithError:])
6278
6279 2002-09-25  Ken Kocienda  <kocienda@apple.com>
6280
6281         Begin change from WebResourceClient to WebResourceHandleDelegate.
6282         In this step, I have just changed the name of the protocol; the
6283         protocol interface is the same. 
6284
6285         I made other cosmetic changes to variable names and such.
6286
6287         * Misc.subproj/WebIconLoader.h:
6288         * Misc.subproj/WebIconLoader.m:
6289         (-[WebIconLoader startLoading])
6290         * Plugins.subproj/WebPluginStream.m:
6291         (-[WebNetscapePluginStream startLoad])
6292         * WebCoreSupport.subproj/WebBridge.m:
6293         (-[WebBridge objectLoadedFromCache:size:])
6294         * WebCoreSupport.subproj/WebSubresourceClient.h:
6295         * WebCoreSupport.subproj/WebSubresourceClient.m:
6296         (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:])
6297         * WebView.subproj/WebDataSourcePrivate.m:
6298         (-[WebDataSource _startLoading])
6299         * WebView.subproj/WebMainResourceClient.h:
6300
6301 2002-09-25  Maciej Stachowiak  <mjs@apple.com>
6302
6303         - fixed 2854536 - New cookie policy: "accept cookies only from the
6304         same domain as the main page"
6305         
6306         * WebCoreSupport.subproj/WebCookieAdapter.h:
6307         * WebCoreSupport.subproj/WebCookieAdapter.m:
6308         (-[WebCookieAdapter setCookies:forURL:policyBaseURL:]):
6309         * WebCoreSupport.subproj/WebSubresourceClient.m:
6310         (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
6311         (-[WebSubresourceClient handleDidRedirect:toURL:]):
6312         * WebView.subproj/WebDataSourcePrivate.m:
6313         (-[WebDataSource _startLoading]):
6314         * WebView.subproj/WebMainResourceClient.m:
6315         (-[WebMainResourceClient handleDidRedirect:toURL:]):
6316
6317 2002-09-24  Richard Williamson   <rjw@apple.com>
6318
6319         More documentation tweaks.
6320         
6321         * History.subproj/WebHistory.h:
6322         * History.subproj/WebHistoryItem.h:
6323         * WebView.subproj/WebContextMenuDelegate.h:
6324         * WebView.subproj/WebControllerPolicyDelegate.h:
6325         * WebView.subproj/WebLocationChangeDelegate.h:
6326         * WebView.subproj/WebResourceProgressDelegate.h:
6327
6328 2002-09-24  Darin Adler  <darin@apple.com>
6329
6330         - fixed 3059513 -- REGRESSION: Scrolling to fragment doesn't work
6331
6332         Turns out it was better to just put the extra smarts into the clip view
6333         that we are already creating. Making WebHTMLView be a second clip view
6334         was silly and broke things.
6335
6336         * WebView.subproj/WebView.m: (-[WebView initWithFrame:]): Create a WebClipView
6337         and use it as the content view rather than the NSClipView created by default.
6338
6339         * WebKit.pbproj/project.pbxproj: Added WebClipView.
6340         * WebView.subproj/WebClipView.h: Added.
6341         * WebView.subproj/WebClipView.m: Added.
6342
6343         * WebView.subproj/WebHTMLView.h: Don't be a subclass of NSClipView any more.
6344         * WebView.subproj/WebHTMLView.m:
6345         (-[WebHTMLView drawRect:]): Call setAdditionalClip and resetAdditionalClip on
6346         the clip view.
6347
6348         * WebView.subproj/WebHTMLViewPrivate.h: Remove inDrawRect and drawRect.
6349         * WebView.subproj/WebHTMLViewPrivate.m: Remove visibleRect override. This is
6350         now in WebClipView.
6351
6352 2002-09-24  Chris Blumenberg  <cblu@apple.com>
6353
6354         More documentation changes.
6355
6356         * WebView.subproj/WebControllerPolicyDelegate.h:
6357         * WebView.subproj/WebDefaultContextMenuDelegate.h:
6358         * WebView.subproj/WebDocument.h:
6359
6360 2002-09-24  Richard Williamson   <rjw@apple.com>
6361
6362         Added FIXME note about unresolved issue with CFStringEncoding/NSStringEncoding.
6363         
6364         * WebView.subproj/WebController.h:
6365
6366 2002-09-24  Richard Williamson   <rjw@apple.com>
6367
6368         Documentation for WebDataSource and WebFrame.
6369         
6370         * WebView.subproj/WebDataSource.h:
6371         * WebView.subproj/WebDataSource.m:
6372         (-[WebDataSource frameExists:]):
6373         * WebView.subproj/WebDataSourcePrivate.h:
6374         * WebView.subproj/WebDataSourcePrivate.m:
6375         (-[WebDataSource addFrame:]):
6376         * WebView.subproj/WebFrame.h:
6377
6378 2002-09-24  Darin Adler  <darin@apple.com>
6379
6380         - fixed 3059266 -- REGRESSION: clicking in web view when location field is
6381         focused does not focus web view
6382
6383         * WebView.subproj/WebHTMLView.m: (-[WebHTMLView needsPanelToBecomeKey]):
6384         Must override this to return YES, because NSClipView makes it return NO
6385         even though we accept the first responder.
6386
6387 2002-09-24  John Sullivan  <sullivan@apple.com>
6388
6389         - fixed 3056158 -- REGRESSION: Page up/down should scroll one 
6390         whole contentView minus at least one readable line of text
6391
6392         This was broken a while back when the keyboard scrolling code
6393         migrated into WebKit.
6394
6395         * WebView.subproj/WebViewPrivate.m:
6396         (-[WebView _verticalKeyboardScrollAmount]),
6397         (-[WebView _horizontalKeyboardScrollAmount]):
6398         New private methods, return one arrow key's worth of scrolling.
6399         (-[WebView _scrollLineVertically:]),
6400         (-[WebView _scrollLineHorizontally:]):
6401         Now use the broken-out methods.
6402         (-[WebView _pageVertically:]),
6403         (-[WebView _pageHorizontally:]):
6404         overlap by one arrow key's worth of scrolling instead of the
6405         teensy-weensy one click's worth.
6406
6407 2002-09-24  Chris Blumenberg  <cblu@apple.com>
6408
6409         Documentation for WebHTMLView
6410
6411         * WebView.subproj/WebHTMLView.h:
6412
6413 2002-09-24  Richard Williamson   <rjw@apple.com>
6414
6415         Documentation changes.  Removal of imports from
6416         some headers required modification of .m.
6417         
6418         * Plugins.subproj/WebNullPluginView.m:
6419         * WebCoreSupport.subproj/WebBridge.m:
6420         * WebKit.pbproj/project.pbxproj:
6421         * WebView.subproj/WebController.h:
6422         * WebView.subproj/WebController.m:
6423         * WebView.subproj/WebDataSource.h:
6424         * WebView.subproj/WebDataSourcePrivate.h:
6425         * WebView.subproj/WebDataSourcePrivate.m:
6426         * WebView.subproj/WebDefaultPolicyDelegate.h:
6427         * WebView.subproj/WebDefaultPolicyDelegate.m:
6428         (+[WebDefaultPolicyDelegate defaultURLPolicyForURL:]):
6429         (-[WebDefaultPolicyDelegate URLPolicyForURL:inFrame:]):
6430         * WebView.subproj/WebFramePrivate.m:
6431         * WebView.subproj/WebHTMLViewPrivate.m:
6432
6433 2002-09-24  Chris Blumenberg  <cblu@apple.com>
6434
6435         Renamed element info keys to WebElement* instead of WebContextMenuElement*
6436         Added WebKit API documentation
6437
6438         * Plugins.subproj/WebPlugin.m:  
6439         (-[WebNetscapePlugin load]): clean-up
6440         * WebKit.exp:
6441         * WebKit.pbproj/project.pbxproj:
6442         * WebView.subproj/WebContextMenuDelegate.h:
6443         * WebView.subproj/WebController.h:
6444         * WebView.subproj/WebController.m:
6445         * WebView.subproj/WebControllerPolicyDelegate.h:
6446         * WebView.subproj/WebDefaultContextMenuDelegate.h:
6447         * WebView.subproj/WebDefaultContextMenuDelegate.m:
6448         (-[WebDefaultContextMenuDelegate contextMenuItemsForElement:defaultMenuItems:]):
6449         (-[WebDefaultContextMenuDelegate openNewWindowWithURL:referrer:]):
6450         (-[WebDefaultContextMenuDelegate downloadURL:]):
6451         (-[WebDefaultContextMenuDelegate openLinkInNewWindow:]):
6452         (-[WebDefaultContextMenuDelegate downloadLinkToDisk:]):
6453         (-[WebDefaultContextMenuDelegate copyLinkToClipboard:]):
6454         (-[WebDefaultContextMenuDelegate openImageInNewWindow:]):
6455         (-[WebDefaultContextMenuDelegate downloadImageToDisk:]):
6456         (-[WebDefaultContextMenuDelegate copyImageToClipboard:]):
6457         (-[WebDefaultContextMenuDelegate openFrameInNewWindow:]):
6458         * WebView.subproj/WebHTMLView.m:
6459         (-[WebHTMLView mouseDragged:]):
6460         * WebView.subproj/WebHTMLViewPrivate.m:
6461         (-[WebHTMLView _elementAtPoint:]):
6462
6463 2002-09-24  Darin Adler  <darin@apple.com>
6464
6465         Cleaned up some loose ends from adding setNeedsLayout to the WebDocumentView
6466         protocol. Was causing exceptions.
6467
6468         * Plugins.subproj/WebPluginView.m: (-[WebNetscapePluginView setNeedsLayout:]):
6469         * WebView.subproj/WebTextView.m: (-[WebTextView setNeedsLayout:]):
6470         Added missing stubs.
6471
6472         * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge setNeedsReapplyStyles]):
6473         Removed unneeded cast.
6474         * WebView.subproj/WebFramePrivate.m: (-[WebFrame _isLoadComplete]): Remove an
6475         unneeded cast and call to isDocumentHTML.
6476         * WebView.subproj/WebHTMLView.h: No need to re-declare setNeedsLayout.
6477         * WebView.subproj/WebView.m: (-[WebView setFrame:]): Get rid of unneeded check
6478         of isDocumentHTML.
6479
6480 2002-09-24  Darin Adler  <darin@apple.com>
6481
6482         - fixed 3057383 -- focus rectangles are being drawn multiple times
6483         - fixed 3051025 -- focus ring on password field gets darker and darker
6484
6485         To make focus rings clip too, we have to do more than just set the clip.
6486         We also have to set the visible rectangle to make clipping happen, and we
6487         need to be a subclass of NSClipView so that the focus ring drawing code will
6488         consult us rather than one of our superviews.
6489
6490         * WebView.subproj/WebHTMLView.h: Be a subclass of NSClipView.
6491         * WebView.subproj/WebHTMLView.m: (-[WebHTMLView drawRect:]): Set a inDrawRect
6492         flag, and a drawRect rectangle. This tells us to clip to this rectangle.
6493         what we need to clip to.
6494         * WebView.subproj/WebHTMLViewPrivate.h: Added inDrawRect and drawRect.
6495         * WebView.subproj/WebHTMLViewPrivate.m:
6496         (-[WebHTMLView visibleRect]): Clip the visible rect based on the drawRect while
6497         inDrawRect is set.
6498
6499 2002-09-23  Chris Blumenberg  <cblu@apple.com>
6500
6501         Factored URL pasteboard initialization to 1 place.
6502         Fixed: 3048924 - regression: drag & drop broken for initial empty page
6503         Fixed: 3045997 - Dragging a link from one Alex window to another one doesn't work
6504
6505         * Misc.subproj/WebNSPasteboardExtras.h:
6506         * Misc.subproj/WebNSPasteboardExtras.m:
6507         (-[NSPasteboard _web_writeURL:andTitle:withOwner:]): new
6508         * WebView.subproj/WebDefaultContextMenuDelegate.m:
6509         (-[WebDefaultContextMenuDelegate copyLinkToClipboard:]): call -[NSPasteboard _web_writeURL:andTitle:withOwner:]
6510         * WebView.subproj/WebHTMLView.m:
6511         (-[WebHTMLView mouseDragged:]): call -[NSPasteboard _web_writeURL:andTitle:withOwner:]
6512         * WebView.subproj/WebView.m:
6513         (-[WebView draggingEntered:]): handle nil cases
6514
6515 2002-09-23  Maciej Stachowiak  <mjs@apple.com>
6516
6517         Added documentation for these two delegate protocols.
6518         
6519         * WebView.subproj/WebLocationChangeDelegate.h:
6520         * WebView.subproj/WebResourceProgressDelegate.h:
6521
6522 2002-09-23  Richard Williamson   <rjw@apple.com>
6523
6524         Made WebIconLoader and WebIconDatabase SPI.
6525         
6526         * WebKit.pbproj/project.pbxproj:
6527
6528 2002-09-23  Richard Williamson   <rjw@apple.com>
6529
6530         WebContextMenuHandler becomes WebContextMenuDelegate
6531         WebControllerPolicyHandler becomes WebControllerPolicyDelegate
6532         WebLocationChangeHandler becomes WebLocationChangeDelegate
6533         WebResourceProgressHandler becomes WebResourceProgressDelegate
6534         WebWindowContext becomes WebWindowOperationsDelegate
6535
6536         * Misc.subproj/WebDownloadHandler.m:
6537         * Plugins.subproj/WebNullPluginView.m:
6538         (-[WebNullPluginView drawRect:]):
6539         * Plugins.subproj/WebPluginView.m:
6540         (-[WebNetscapePluginView loadRequest:inTarget:withNotifyData:]):
6541         (-[WebNetscapePluginView status:]):
6542         * WebCoreSupport.subproj/WebBridge.m:
6543         (-[WebBridge openNewWindowWithURL:referrer:frameName:]):
6544         (-[WebBridge areToolbarsVisible]):
6545         (-[WebBridge setToolbarsVisible:]):
6546         (-[WebBridge isStatusBarVisible]):
6547         (-[WebBridge setStatusBarVisible:]):
6548         (-[WebBridge setWindowFrame:]):
6549         (-[WebBridge window]):
6550         (-[WebBridge setStatusText:]):
6551         (-[WebBridge reportClientRedirectTo:delay:fireDate:]):
6552         (-[WebBridge reportClientRedirectCancelled]):
6553         * WebKit.exp:
6554         * WebKit.pbproj/project.pbxproj:
6555         * WebView.subproj/WebContextMenuDelegate.h:
6556         * WebView.subproj/WebContextMenuHandler.h: Removed.
6557         * WebView.subproj/WebController.h:
6558         * WebView.subproj/WebController.m:
6559         (-[WebController setWindowOperationsDelegate:]):
6560         (-[WebController windowOperationsDelegate]):
6561         (-[WebController setResourceProgressDelegate:]):
6562         (-[WebController resourceProgressDelegate]):
6563         (-[WebController setDownloadProgressDelegate:]):
6564         (-[WebController downloadProgressDelegate]):
6565         (-[WebController setContextMenuDelegate:]):
6566         (-[WebController contextMenuDelegate]):
6567         (-[WebController setPolicyDelegate:]):
6568         (-[WebController policyDelegate]):
6569         (-[WebController setLocationChangeDelegate:]):
6570         (-[WebController locationChangeDelegate]):
6571         * WebView.subproj/WebControllerPolicyDelegate.m: Added.
6572         (-[WebPolicyPrivate dealloc]):
6573         (-[WebPolicy _setPolicyAction:]):
6574         (-[WebPolicy policyAction]):
6575         (-[WebPolicy path]):
6576         (-[WebPolicy URL]):
6577         (-[WebPolicy _setPath:]):
6578         (-[WebPolicy dealloc]):
6579         (+[WebURLPolicy webPolicyWithURLAction:]):
6580         (+[WebFileURLPolicy webPolicyWithFileAction:]):
6581         (+[WebContentPolicy webPolicyWithContentAction:andPath:]):
6582         * WebView.subproj/WebControllerPolicyDelegatePrivate.h:
6583         * WebView.subproj/WebControllerPolicyHandler.h: Removed.
6584         * WebView.subproj/WebControllerPolicyHandler.m: Removed.
6585         * WebView.subproj/WebControllerPolicyHandlerPrivate.h: Removed.
6586         * WebView.subproj/WebControllerPrivate.h:
6587         * WebView.subproj/WebControllerPrivate.m:
6588         (-[WebControllerPrivate init]):
6589         (-[WebControllerPrivate dealloc]):
6590         (-[WebController _defaultContextMenuDelegate]):
6591         (-[WebController _receivedProgress:forResourceHandle:fromDataSource:complete:]):
6592         (-[WebController _mainReceivedProgress:forResourceHandle:fromDataSource:complete:]):
6593         (-[WebController _receivedError:forResourceHandle:partialProgress:fromDataSource:]):
6594         (-[WebController _mainReceivedError:forResourceHandle:partialProgress:fromDataSource:]):
6595         * WebView.subproj/WebDataSourcePrivate.m:
6596         (-[WebDataSource _startLoading]):
6597         (-[WebDataSource _setTitle:]):
6598         (-[WebDataSource _setURL:]):
6599         (-[WebDataSource _loadIcon]):
6600         * WebView.subproj/WebDefaultContextMenuDelegate.h:
6601         * WebView.subproj/WebDefaultContextMenuDelegate.m:
6602         (-[WebDefaultContextMenuDelegate openNewWindowWithURL:referrer:]):
6603         (-[WebDefaultContextMenuDelegate downloadURL:]):
6604         * WebView.subproj/WebDefaultContextMenuHandler.h: Removed.
6605         * WebView.subproj/WebDefaultContextMenuHandler.m: Removed.
6606         * WebView.subproj/WebDefaultPolicyDelegate.h:
6607         * WebView.subproj/WebDefaultPolicyDelegate.m:
6608         * WebView.subproj/WebDefaultPolicyHandler.h: Removed.
6609         * WebView.subproj/WebDefaultPolicyHandler.m: Removed.
6610         * WebView.subproj/WebDocument.h:
6611         * WebView.subproj/WebFrame.m:
6612         (-[WebFrame setProvisionalDataSource:]):
6613         (-[WebFrame frameNamed:]):
6614         * WebView.subproj/WebFramePrivate.m:
6615         (-[WebFrame _timedLayout:]):
6616         (-[WebFrame _transitionToCommitted]):
6617         (-[WebFrame _isLoadComplete]):
6618         (-[WebFrame handleUnimplementablePolicy:errorCode:forURL:]):
6619         (-[WebFrame _shouldShowURL:]):
6620         * WebView.subproj/WebHTMLView.m:
6621         (-[WebHTMLView menuForEvent:]):
6622         * WebView.subproj/WebHTMLViewPrivate.m:
6623         (-[WebHTMLView _continueAfterClickPolicyForEvent:]):
6624         * WebView.subproj/WebImageView.m:
6625         (-[WebImageView setNeedsLayout:]):
6626         * WebView.subproj/WebLocationChangeDelegate.h:
6627         * WebView.subproj/WebLocationChangeDelegate.m:
6628         * WebView.subproj/WebLocationChangeHandler.h: Removed.
6629         * WebView.subproj/WebLocationChangeHandler.m: Removed.
6630         * WebView.subproj/WebMainResourceClient.h:
6631         * WebView.subproj/WebMainResourceClient.m:
6632         (-[WebMainResourceClient dealloc]):
6633         (-[WebMainResourceClient receivedProgressWithHandle:complete:]):
6634         (-[WebMainResourceClient receivedError:forHandle:]):
6635         (-[WebMainResourceClient handleDidReceiveData:data:]):
6636         * WebView.subproj/WebResourceProgressDelegate.h:
6637         * WebView.subproj/WebResourceProgressHandler.h: Removed.
6638         * WebView.subproj/WebView.m:
6639         (-[WebView window]):
6640         * WebView.subproj/WebWindowContext.h: Removed.
6641         * WebView.subproj/WebWindowOperationsDelegate.h:
6642
6643 2002-09-23  Darin Adler  <darin@apple.com>
6644
6645         - fixed 3052543 -- iframes don't work with z-index
6646         - fixed 3057382 -- code to prevent subviews from drawing not working
6647         perfectly for subframes
6648
6649         * WebView.subproj/WebHTMLView.m:
6650         (-[WebHTMLView isOpaque]): Change this back to always return YES. We handle
6651         this issue at another level now.
6652         (-[WebHTMLView drawRect:]): Clip to the passed-in rect. This was the big change
6653         that fixed most of the trouble.
6654
6655         * WebView.subproj/WebHTMLViewPrivate.h: Remove _isMainFrame.
6656         * WebView.subproj/WebHTMLViewPrivate.m:
6657         (+[WebHTMLView initialize]): Add an imposter for NSView too, so we can make opaqueAncestor
6658         do what we need it to do. This will only work if the application doesn't also poseAsClass
6659         NSView, but it does work.
6660         (-[WebNSView opaqueAncestor]): Always return the topmost WebHTMLView if the object is
6661         inside one, even if there is an intervening opaque object.
6662
6663         * WebView.subproj/WebView.m:
6664         (-[WebView setFrame:]): Do the display call at the window level so the topmost WebHTMLView
6665         always gets involved.
6666         * WebView.subproj/WebViewPrivate.h: Remove _controller, since we already have a public
6667         controller method. Add _isMainFrame.
6668         * WebView.subproj/WebViewPrivate.m: (-[WebView _isMainFrame]): Added.
6669
6670 2002-09-23  Maciej Stachowiak  <mjs@apple.com>
6671
6672         * Panels.subproj/WebStandardPanels.h: Added inline header docs.
6673
6674 2002-09-23  Maciej Stachowiak  <mjs@apple.com>
6675
6676         * WebView.subproj/WebWindowContext.h: Added inline header docs.
6677
6678 2002-09-23  Ken Kocienda  <kocienda@apple.com>
6679
6680         Fixes for some build problems I missed earlier due to the fact that PB can't handle header dependencies,
6681         and I did not do a clean build of WebKit.
6682
6683         * Plugins.subproj/WebPluginStream.m:
6684         (-[WebNetscapePluginStream receivedError:withDataSource:]): WebFoundation error constant name change.
6685         (-[WebNetscapePluginStream cancel]): Ditto.
6686         * WebCoreSupport.subproj/WebCookieAdapter.m:
6687         (-[WebCookieAdapter cookiesEnabled]): Modified to use [[WebCookieManager sharedCookieManager] acceptPolicy]
6688         rather than reaching down into CFPreferences directly.
6689         * WebCoreSupport.subproj/WebSubresourceClient.m:
6690         (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]): WebFoundation error constant name change.
6691         (-[WebSubresourceClient cancel]): Ditto.
6692         * WebView.subproj/WebMainResourceClient.m:
6693         (-[WebMainResourceClient didCancelWithHandle:]): Ditto.
6694
6695 2002-09-23  Darin Adler  <darin@apple.com>
6696
6697         * WebView.subproj/WebHTMLViewPrivate.m:
6698         (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
6699         Don't special case the top level frame's view so much.
6700         (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]): Ditto.
6701         (-[NSView _web_propagateDirtyRectToAncestor]): Use public method here instead of private.
6702
6703 2002-09-23  Ken Kocienda  <kocienda@apple.com>
6704
6705         * WebCoreSupport.subproj/WebBridge.m:
6706         (-[WebBridge reportBadURL:]): WebFoundation error code constant name change
6707         * WebView.subproj/WebView.m:
6708         (+[WebView initialize]): WebError addErrorsFromDictionary changed to addErrorsWithCodesAndDescriptions
6709
6710 2002-09-22  Darin Adler  <darin@apple.com>
6711
6712         - fixed 3057380 -- insertion point shows through elements in front of text fields
6713
6714         * WebView.subproj/WebHTMLViewPrivate.m:
6715         (+[WebHTMLView initialize]): Make WebNSTextView pose as NSTextView.
6716         (-[WebNSTextView _web_inHTMLView]): Helper method.
6717         (-[WebNSTextView isOpaque]): Override to return NO for all text views that are inside
6718         an WebHTMLView, so they don't try to do insertion point caching.
6719         (-[WebNSTextView drawInsertionPointInRect:color:turnedOn:]): Use setNeedsDisplayInRect
6720         to trigger insertion point drawing outside drawRect instead of drawing right away.
6721         (-[WebNSTextView _drawRect:clip:]): Set flag so the above can know when it's inside
6722         drawRect and when it's not.
6723
6724 2002-09-21  Darin Adler  <darin@apple.com>
6725
6726         WebKit part of the new approach to AppKit drawing control.
6727         Works better than the previous try. Once we fix anomalies with focus rectangles
6728         and a some remaining problems with subframes this should work perfectly.
6729
6730         * WebView.subproj/WebHTMLView.m:
6731         (-[WebHTMLView isOpaque]): Return NO for frames other than the main frame.
6732         (-[WebHTMLView drawRect:]): Restore the subviews that were set aside.
6733         * WebView.subproj/WebHTMLViewPrivate.h: Add _isMainFrame. Add savedSubviews and subviewsSetAside.
6734         * WebView.subproj/WebHTMLViewPrivate.m:
6735         (-[WebHTMLView _isMainFrame]): Added.
6736         (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
6737         Added. If this is the main frame, get all the dirty rects from the subviews and then set
6738         them aside so the AppKit machinery won't draw them.
6739         (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]): Ditto.
6740         (-[NSView _web_propagateDirtyRectToAncestor]): Added. Propagates dirty rects the same
6741         way that AppKit does, but always does it, ignoring the value of isOpaque.
6742
6743 2002-09-20  Darin Adler  <darin@apple.com>
6744
6745         * History.subproj/WebHistory.m: (-[WebHistory addEntryForURLString:]):
6746         Use _web_URLWithString so we can handle unusual characters.
6747
6748         * WebView.subproj/WebDefaultPolicyHandler.m: Remove stray semicolon.
6749
6750 2002-09-20  Chris Blumenberg  <cblu@apple.com>
6751
6752         Fixed wasteful memory usage in the WebIconDatabase:
6753         - Rather than have multiple NSImages with multiple representations at multiple sizes, have 1 NSImage per size
6754         - Added API to allow client to control memory caching
6755
6756         * Misc.subproj/WebIconDatabase.h:
6757         * Misc.subproj/WebIconDatabase.m:
6758         (-[WebIconDatabase iconForSiteURL:withSize:]): call iconForSiteURL:withSize:cache:YES
6759         (-[WebIconDatabase iconForSiteURL:withSize:cache:]): new, was iconForSiteURL:withSize:
6760         (-[WebIconDatabase defaultIconWithSize:]): call _iconFromDictionary:forSize:cache:
6761         (-[WebIconDatabase _updateFileDatabase]): write the largest icon to disk
6762         (-[WebIconDatabase _hasIconForSiteURL:]): cleaned-up 
6763         (-[WebIconDatabase _iconsForIconURL:]): call _iconFromDictionary:forSize:cache:
6764         (-[WebIconDatabase _iconForFileURL:withSize:]): call _iconFromDictionary:forSize:cache:
6765         (-[WebIconDatabase _builtInIconsForHost:]): call _iconFromDictionary:forSize:cache:
6766         (-[WebIconDatabase _setIcon:forIconURL:]): _iconsBySplittingRepresentationsOfIcon:
6767         (-[WebIconDatabase _releaseIconForIconURL:]): icons at different sizes are now stored in dictionaries
6768         (-[WebIconDatabase _largestIconFromDictionary:]): new, scans the icon dictionary
6769         (-[WebIconDatabase _iconsBySplittingRepresentationsOfIcon:]): creates the icon dictionary
6770         (-[WebIconDatabase _iconFromDictionary:forSize:cache:]): returns icon from dict, resizes if necessary
6771         (-[WebIconDatabase _iconByScalingIcon:toSize:]): tweak
6772         * Misc.subproj/WebIconDatabasePrivate.h:
6773         * Misc.subproj/WebIconLoader.m:
6774         (-[WebIconLoader startLoading]): don't call _iconsForIconURL: because it doesn't exist.
6775
6776 2002-09-19  Maciej Stachowiak  <mjs@apple.com>
6777
6778         * Makefile.am: Make `doc' target depend on `all'.
6779         * WebView.subproj/WebContextMenuHandler.h: Fix typo found by `make doc'.
6780         * WebView.subproj/WebLocationChangeHandler.h: Likewise.
6781
6782 2002-09-19  Maciej Stachowiak  <mjs@apple.com>
6783
6784         * Makefile.am: Added `make doc' target.
6785
6786 2002-09-19  John Sullivan  <sullivan@apple.com>
6787
6788         - cleaned up some SPI for handling URLs on pasteboard
6789
6790         * Misc.subproj/WebNSPasteboardExtras.h: Added.
6791         * Misc.subproj/WebNSPasteboardExtras.m: Added.
6792         (+[NSPasteboard _web_dragTypesForURL]): Moved this here; was
6793         -[NSView _web_acceptableDragTypes]
6794         (-[NSPasteboard _web_bestURL]): Moved this here; was
6795         +[NSView _web_bestURLFromPasteboard:]
6796
6797         * WebView.subproj/WebView.m:
6798         (-[WebView initWithFrame:]),
6799         (-[WebView draggingEntered:]),
6800         (-[WebView concludeDragOperation:]):
6801         Updated for SPI change; also removed methods now in NSPasteboard.
6802
6803         * Misc.subproj/WebNSViewExtras.h:
6804         * Misc.subproj/WebNSViewExtras.m:
6805         (-[NSView _web_dragOperationForDraggingInfo:]):
6806         Updated for SPI change.
6807
6808         * WebKit.pbproj/project.pbxproj: Updated for new files.
6809
6810 === Alexander-24 ===
6811
6812 2002-09-18  Darin Adler  <darin@apple.com>
6813
6814         Fix two problems that led to an assertion now that a bogus
6815         load progress doesn't pass the "bytesReceived == total" test.
6816
6817         * Plugins.subproj/WebPluginStream.m:
6818         (-[WebNetscapePluginStream handleDidFinishLoading:]): Nil out the
6819         resource at the start of the function so that a cancel doesn't
6820         do anything if called in the middle when we stop.
6821         (-[WebNetscapePluginStream cancel]): Send a cancel error instead
6822         of a _receivedProgress. And make a partial progress rather than
6823         sending an empty progress.
6824         (-[WebNetscapePluginStream handleDidFailLoading:withError:]):
6825         Same as handleDidFinishLoading.
6826
6827 2002-09-18  Richard Williamson   <rjw@apple.com>
6828
6829         More documentation stuff.
6830         Added attributed text API as requested (yuck!).
6831         Add reconstructedDocumentSource API as requested.
6832         Removed cruft (stale API, bogus comments).
6833          
6834         * WebView.subproj/WebDataSource.h:
6835         * WebView.subproj/WebDataSource.m:
6836         * WebView.subproj/WebHTMLRepresentation.h:
6837         * WebView.subproj/WebHTMLRepresentation.m:
6838         (-[WebHTMLRepresentation reconstructedDocumentSource]):
6839         (-[WebHTMLRepresentation attributedText]):
6840         * WebView.subproj/WebHTMLRepresentationPrivate.h:
6841         * WebView.subproj/WebHTMLView.h:
6842         * WebView.subproj/WebHTMLView.m:
6843         (-[WebHTMLView selectedAttributedText]):
6844         (-[WebHTMLView selectedText]):
6845         * WebView.subproj/WebView.h:
6846
6847 2002-09-18  Richard Williamson   <rjw@apple.com>
6848
6849         Added document keywords to headers.
6850         Made bookmark related APIs private (for now).
6851         * Misc.subproj/WebIconDatabase.h:
6852         * Misc.subproj/WebIconLoader.h:
6853         * Misc.subproj/WebKitErrors.h:
6854         * Panels.subproj/WebStandardPanels.h:
6855         * WebKit.pbproj/project.pbxproj:
6856         * WebView.subproj/WebDefaultContextMenuHandler.h:
6857         * WebView.subproj/WebLoadProgress.h:
6858         * WebView.subproj/WebLocationChangeHandler.h:
6859         * WebView.subproj/WebPreferences.h:
6860
6861         Made public 
6862         * WebHTMLRepresentation.h
6863         * WebHTMLRepresentation.m
6864
6865 2002-09-18  John Sullivan  <sullivan@apple.com>
6866
6867         WebKit part of fix for 
6868         
6869         - 3000823 -- special-case drag of webloc file to bookmarks
6870         - 3004466 -- favorites bar doesn't accept drops of URL strings
6871         or webloc files
6872
6873         * Misc.subproj/WebNSViewExtras.h:
6874         - make _web_bestURLForDraggingInfo: a class method and have it
6875         take an NSPasteboard * instead of an NSDraggingInfo *; change
6876         name to _web_bestURLFromPasteboard:
6877         * Misc.subproj/WebNSViewExtras.m:
6878         (+[NSView _web_bestURLFromPasteboard:]):
6879         - make this a class method and have it take an NSPasteboard * 
6880         instead of an NSDraggingInfo *
6881         (-[NSView _web_dragOperationForDraggingInfo:]): Updated for
6882         SPI change.
6883
6884         * WebView.subproj/WebView.m:
6885         (-[WebView draggingEntered:]),
6886         (-[WebView concludeDragOperation:]): Updated for SPI change.
6887
6888 2002-09-18  Richard Williamson   <rjw@apple.com>
6889
6890         Added documentation keywords to headers.
6891         Create seperate files for the protocols
6892         that were defined in WebController.h.
6893         Made -[WebController createFrameNamed:for:inParent:allowsScrolling:]):
6894         private.
6895         
6896         * Plugins.subproj/WebPluginView.m:
6897         * WebCoreSupport.subproj/WebBridge.m:
6898         * WebKit.pbproj/project.pbxproj:
6899         * WebView.subproj/WebContextMenuHandler.h: Added.
6900         * WebView.subproj/WebController.h:
6901         * WebView.subproj/WebController.m:
6902         * WebView.subproj/WebControllerPrivate.h:
6903         * WebView.subproj/WebControllerPrivate.m:
6904         * WebView.subproj/WebDefaultContextMenuHandler.m:
6905         * WebView.subproj/WebFrame.m:
6906         * WebView.subproj/WebHTMLView.m:
6907         * WebView.subproj/WebHTMLViewPrivate.m:
6908         * WebView.subproj/WebMainResourceClient.m:
6909         * WebView.subproj/WebResourceProgressHandler.h: Added.
6910         * WebView.subproj/WebView.m:
6911         * WebView.subproj/WebWindowContext.h: Added.
6912
6913 2002-09-18  Richard Williamson  <rjw@apple.com>
6914
6915         Added documentation keywords to header.
6916         
6917         * WebView.subproj/WebControllerPolicyHandler.h:
6918         
6919         Made WebDynamicScrollBarsView private
6920         
6921         * WebKit.pbproj/project.pbxproj:
6922
6923 2002-09-18  Darin Adler  <darin@apple.com>
6924
6925         - fixed 3053155 -- REGRESSION: Activity Window thinks 0-byte
6926         images are "complete"
6927
6928         I thought I had fixed it before, but this is needed too.
6929
6930         * WebView.subproj/WebLoadProgress.m:
6931         (-[WebLoadProgress init]): Set "bytes so far" to 0, not -1.
6932         (-[WebLoadProgress initWithResourceHandle:]): Make sure we set total
6933         to -1, not 0, when the response is nil.
6934
6935 2002-09-18  Richard Williamson  <rjw@apple.com>
6936
6937         Added documentation keywords to header.
6938         
6939         * WebView.subproj/WebDocument.h:
6940
6941 2002-09-18  Richard Williamson  <rjw@apple.com>
6942
6943         Added documentation keywords to headers.
6944         Made reset a private method.
6945         
6946         * WebKit.pbproj/project.pbxproj:
6947         * WebView.subproj/WebFrame.h:
6948         * WebView.subproj/WebFrame.m:
6949         * WebView.subproj/WebFramePrivate.h:
6950         * WebView.subproj/WebFramePrivate.m:
6951         (-[WebFrame reset]):
6952
6953 2002-09-18  Richard Williamson  <rjw@apple.com>
6954     
6955         Added documentation keywords to headers.
6956     
6957         * WebView.subproj/WebView.h:
6958
6959 2002-09-18  Richard Williamson  <rjw@apple.com>
6960
6961         Added documentation keywords to headers.
6962         
6963         * WebView.subproj/WebDataSource.h:
6964
6965 2002-09-18  Darin Adler  <darin@apple.com>
6966
6967         * WebView.subproj/WebController.h: Fix typo.
6968
6969 2002-09-18  Darin Adler  <darin@apple.com>
6970
6971         * WebView.subproj/WebController.h: Add getters.
6972         * WebView.subproj/WebController.m:
6973         (-[WebController applicationNameForUserAgent]): Added.
6974         (-[WebController userAgent]): Added.
6975
6976 2002-09-17  Darin Adler  <darin@apple.com>
6977
6978         Fix bug where image documents were broken.
6979
6980         * WebCoreSupport.subproj/WebImageRenderer.m:
6981         (-[WebImageRenderer drawClippedToValidInRect:fromRect:]): loadStatus of 0
6982         means the whole image is ready, not 0 scan lines; so check > 0, not >= 0.
6983
6984         * WebKit.pbproj/project.pbxproj: Let Project Builder be the boss of me.
6985
6986 2002-09-17  Richard Williamson   <rjw@apple.com>
6987
6988         * History.subproj/WebHistory.h:
6989         * History.subproj/WebHistory.m:
6990         (-[WebHistory addEntryForURLString:]):
6991         (-[WebHistory containsEntryForURLString:]):
6992         Added URL string API.  We should remove use of
6993         NSURL from this API.
6994         
6995         * History.subproj/WebHistoryPrivate.h:
6996         * History.subproj/WebHistoryPrivate.m:
6997         (-[WebHistoryPrivate _entryForURLString:]):
6998         (-[WebHistoryPrivate containsEntryForURLString:]):
6999         Implementation of above.
7000         
7001         * WebCoreSupport.subproj/WebTextRenderer.m:
7002         (-[WebTextRenderer drawGlyphs:numGlyphs:fromGlyphPosition:toGlyphPosition:atPoint:withPadding:withTextColor:backgroundColor:]):
7003         (-[WebTextRenderer slowFloatWidthForCharacters:stringLength:fromCharacterPostion:numberOfCharacters:applyRounding:]):
7004         Use ((int)(x + (1.0 - FLT_EPSILON))) instead of ceil().
7005
7006 2002-09-16  Darin Adler  <darin@apple.com>
7007
7008         * History.subproj/WebHistoryPrivate.m: Do that for real.
7009
7010 2002-09-16  Richard Williamson   <rjw@apple.com>
7011
7012         Remove fix (according to John, partial fix) for 3051288.
7013         Canonicalizing the URL strings used in the history db
7014         is very slow!  ~8% slower.
7015         
7016         * History.subproj/WebHistoryPrivate.m:
7017         (-[WebHistoryPrivate addEntry:]):
7018         (-[WebHistoryPrivate removeEntry:]):
7019         (-[WebHistoryPrivate containsURL:]):
7020         (-[WebHistoryPrivate entryForURL:]):
7021         
7022         * WebView.subproj/WebHTMLView.h:
7023         Removed cruft from header.
7024
7025 2002-09-16  Darin Adler  <darin@apple.com>
7026
7027         - fixed 3050810 -- while an image is loading progressively, it draws
7028         white rather then page background       
7029
7030         * WebCoreSupport.subproj/WebImageRenderer.m:
7031         (-[WebImageRenderer drawClippedToValidInRect:fromRect:]): Added. Used instead
7032         of a direct call to drawInRect:fromRect:operation:fraction:, this only draws
7033         the part of the image that is valid according to loadStatus.
7034         (-[WebImageRenderer nextFrame:]): Use drawClippedToValidInRect:fromRect:.
7035         (-[WebImageRenderer beginAnimationInRect:fromRect:]): Ditto.
7036         (-[WebImageRenderer tileInRect:fromPoint:]): Ditto.
7037
7038 2002-09-13  Richard Williamson (Home)  <rjw@apple.com>
7039
7040        Fixed 3051288.  URLs were not being canonicalized, so matching failed.
7041         
7042         * History.subproj/WebHistoryPrivate.m:
7043         (-[WebHistoryPrivate addEntry:]):
7044         (-[WebHistoryPrivate removeEntry:]):
7045         (-[WebHistoryPrivate containsURL:]):
7046         (-[WebHistoryPrivate entryForURL:]):
7047
7048 2002-09-13  Richard Williamson (Home)  <rjw@apple.com>
7049
7050         Fixed 3050636.  90% solution.  The "Display Images Automatically"
7051         preference will be used to disallow image draggging.  So if this
7052         is set after pages have loaded, their images will not be draggable,
7053         and vice-versa.  Not disastrous as dragging in either case has little
7054         or no negative consequences.
7055         
7056         * WebView.subproj/WebHTMLView.m:
7057         (-[WebHTMLView mouseDragged:]):
7058
7059 2002-09-13  Maciej Stachowiak  <mjs@apple.com>
7060
7061         WebKit changes for:
7062         
7063         - fixed 3032238 - Eliminate "Ask each time" choice for cookies
7064         
7065         * Panels.subproj/WebStandardPanels.h:
7066         * Panels.subproj/WebStandardPanels.m:
7067         (-[WebStandardPanels useStandardAuthenticationPanel]):
7068         * WebCoreSupport.subproj/WebCookieAdapter.m:
7069         (-[WebCookieAdapter cookiesEnabled]):
7070         * WebKit.pbproj/project.pbxproj:
7071
7072 2002-09-13  Darin Adler  <darin@apple.com>
7073
7074         Added assertions, and dealt with some breakage I created while
7075         trying to fix, here, what I broke in WebCore.
7076
7077         * Plugins.subproj/WebPluginView.m: (-[WebNetscapePluginView start]):
7078         Do get the dataSource from our parent when we are being used as an
7079         object in a view rather than a document view.
7080
7081         * Plugins.subproj/WebPluginStream.m:
7082         * WebView.subproj/WebDataSource.m:
7083         * WebView.subproj/WebFrame.m:
7084         Leave in the assertions I used to debug.
7085
7086 2002-09-13  Darin Adler  <darin@apple.com>
7087
7088         - fixed 3031685 -- The text encoding setting is not propagated to subframes
7089
7090         * WebView.subproj/WebDocument.h: Remove old WebDocumentTextEncoding methods,
7091         add supportsTextEncoding.
7092         * WebView.subproj/WebController.m:
7093         (-[WebController supportsTextEncoding]): Check the document view to see if
7094         it supports WebDocumentTextEncoding and returns YES.
7095         (-[WebController setCustomTextEncoding:]): Call _reloadAllowingStaleDataWithOverrideEncoding.
7096         (-[WebController resetTextEncoding]): Ditto.
7097         (-[WebController _mainFrameOverrideEncoding]): Added. Gets encoding from the data source
7098         of the main frame; provisional if there, main if not.
7099         (-[WebController hasCustomTextEncoding]): Call _mainFrameOverrideEncoding.
7100         (-[WebController customTextEncoding]): Ditto.
7101
7102         * WebView.subproj/WebDataSourcePrivate.m:
7103         (-[WebDataSource _setParent:]): Set the override encoding to the parent's.
7104
7105         * WebView.subproj/WebFrame.m:
7106         (-[WebFrame reload]): Release request to fix storage leak. Set the override encoding
7107         on the new data source to match the old.
7108
7109         * WebView.subproj/WebFramePrivate.h: New name for stale data reload method.
7110         * WebView.subproj/WebFramePrivate.m:
7111         (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]): Do pretty much the
7112         same thing reload does with a few differences. Get the encoding from the parameter
7113         rather than the old data source, and set the policy to the one that uses data from
7114         the cache, even stale data, if present
7115
7116         * WebView.subproj/WebHTMLView.m:  (-[WebHTMLView supportsTextEncoding]): Return YES.
7117
7118 2002-09-13  Richard Williamson (Home)  <rjw@apple.com>
7119
7120         Adding padding and widths buffer to our canonical measurement
7121         method.  The padding argument is used to 'pad' measurements in
7122         that same way that drawing is padded.  The widths parameter
7123         allows a caller to pass a buffer to get all the individual
7124         character widths for the run of characters in the string.
7125         
7126         * Misc.subproj/WebStringTruncator.m:
7127         (+[WebStringTruncator rightTruncateString:toWidth:withFont:]):
7128         (+[WebStringTruncator centerTruncateString:toWidth:withFont:]):
7129         * WebCoreSupport.subproj/WebTextRenderer.h:
7130         * WebCoreSupport.subproj/WebTextRenderer.m:
7131         (-[WebTextRenderer widthForCharacters:length:]):
7132         (-[WebTextRenderer drawGlyphs:numGlyphs:fromGlyphPosition:toGlyphPosition:atPoint:withPadding:withTextColor:backgroundColor:]):
7133         (-[WebTextRenderer floatWidthForCharacters:stringLength:characterPosition:]):
7134         (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:]):
7135
7136 2002-09-13  Darin Adler  <darin@apple.com>
7137
7138         Fix dataSource-related plugin crash.
7139
7140         * Plugins.subproj/WebPluginView.m:
7141         (-[WebNetscapePluginView start]): Don't grab dataSource here.
7142         It's too early.
7143         (-[WebNetscapePluginView setDataSource:]): Grab it here.
7144
7145         * Plugins.subproj/WebPluginStream.h:
7146         * Plugins.subproj/WebPluginStream.m:
7147         Simplified includes and added asserts while debugging.
7148
7149 2002-09-13  Richard Williamson (Home)  <rjw@apple.com>
7150
7151         Changed drag hysteresis to 5 and disallow selection initiation within
7152         a link.
7153         
7154         * WebView.subproj/WebHTMLView.m:
7155         (-[WebHTMLView mouseDragged:]):
7156
7157 2002-09-12  Darin Adler  <darin@apple.com>
7158
7159         Prep work for fixes to the text encoding for subframes.
7160
7161         * WebCoreSupport.subproj/WebBridge.h: Remove [loadURL:withParent:].
7162         * WebCoreSupport.subproj/WebBridge.m:
7163         (-[WebBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]):
7164         Added referrer parameter.
7165
7166         * WebView.subproj/WebController.h: Add new methods, not implemented yet.
7167         * WebView.subproj/WebController.m:
7168         (-[WebController supportsTextEncoding]): Here is one.
7169         (-[WebController setCustomTextEncoding:]): Another.
7170         (-[WebController resetTextEncoding]): Etc.
7171         (-[WebController hasCustomTextEncoding]): Etc.
7172         (-[WebController customTextEncoding]): Etc.
7173
7174         * WebView.subproj/WebDataSource.h:
7175         * WebView.subproj/WebDataSource.m:
7176         (-[WebDataSource startLoading]): Remove the forceRefresh flag.
7177         This is now controlled by the WebResourceRequest.
7178         * WebView.subproj/WebDataSourcePrivate.h:
7179         * WebView.subproj/WebDataSourcePrivate.m:
7180         (-[WebDataSource _startLoading]): Same for this private version.
7181         * WebView.subproj/WebFrame.h:
7182         * WebView.subproj/WebFrame.m:
7183         (-[WebFrame startLoading]): Remove the forceRefresh flag.
7184         (-[WebFrame reload]): Remove the forceRefresh flag.
7185         A reload without a forceRefresh is only used internally, not requested
7186         by the caller.
7187
7188         * WebView.subproj/WebFramePrivate.h:
7189         * WebView.subproj/WebFramePrivate.m:
7190         (-[WebFrame _transitionToCommitted]): Add handling for the case where we
7191         reload, but allow stale data.
7192         (-[WebFrame _isLoadComplete]): Ditto.
7193         (-[WebFrame _reloadAllowingStaleData]): Placeholder, not implemented yet.
7194
7195         * WebView.subproj/WebHTMLView.m:
7196         (-[WebHTMLView setTextEncoding:]): Update for new API, but this is going away.
7197         (-[WebHTMLView setDefaultTextEncoding]): Ditto.
7198
7199 2002-09-12  Richard Williamson  <rjw@apple.com>
7200
7201         Don't initiate a drag if an autoscroll happened.
7202         
7203         * WebView.subproj/WebHTMLView.m:
7204         (-[WebHTMLView mouseDragged:]):
7205
7206 2002-09-12  Richard Williamson  <rjw@apple.com>
7207
7208         Added absolute position column to render node for 
7209         render tree view.
7210         
7211         * WebView.subproj/WebRenderNode.h:
7212         * WebView.subproj/WebRenderNode.m:
7213         (-[WebRenderNode initWithName:position:rect:view:children:]):
7214         (-[WebRenderNode absolutePositionString]):
7215         (-[WebKitRenderTreeCopier nodeWithName:position:rect:view:children:]):
7216
7217 2002-09-12  David Hyatt  <hyatt@apple.com>
7218
7219         Add text/xml to our list of MIME types that should use the
7220         Web view.  With this fix we now render XML and XHTML
7221         correctly!
7222         
7223         * WebView.subproj/WebDataSourcePrivate.m:
7224         (+[WebDataSource _repTypes]):
7225         * WebView.subproj/WebViewPrivate.m:
7226         (+[WebView _viewTypes]):
7227
7228 2002-09-12  Ken Kocienda  <kocienda@apple.com>
7229
7230         Removed load flags as a design concept. Replaced with new "caching policy" concept 
7231         which are set on a WebResourceRequest. These policies determine how a load will
7232         be processed with regards to the cache.
7233
7234         * WebCoreSupport.subproj/WebBridge.h: Removed flags from loadURL method.
7235         * WebCoreSupport.subproj/WebBridge.m: Removed calls to load flags and replaced with calls to new request policies.
7236         (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]):
7237         (-[WebBridge isReloading]): Ditto.
7238         (-[WebBridge loadURL:referrer:]): Ditto.
7239         (-[WebBridge loadURL:withParent:]): Removed flags from loadURL method.
7240         (-[WebBridge postWithURL:referrer:data:]): Removed calls to load flags and replaced with calls to new request policies.
7241         * WebCoreSupport.subproj/WebSubresourceClient.m:
7242         (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]): Ditto.
7243         * WebView.subproj/WebDataSource.h: Removed flags from init method.
7244         * WebView.subproj/WebDataSource.m: 
7245         (-[WebDataSource initWithURL:]): Ditto.
7246         (-[WebDataSource initWithRequest:]): Ditto.
7247         * WebView.subproj/WebDataSourcePrivate.h: Removed flags ivar, and dangling attributes ivar.
7248         * WebView.subproj/WebDataSourcePrivate.m: 
7249         (-[WebDataSourcePrivate dealloc]): Ditto.
7250         * WebView.subproj/WebFrame.m:
7251         (-[WebFrame reload:]): Removed calls to load flags and replaced with calls to new request policies.
7252         * WebView.subproj/WebFramePrivate.m:
7253         (-[WebFrame _goToItem:withFrameLoadType:]): Ditto.
7254
7255 2002-09-12  Chris Blumenberg  <cblu@apple.com>
7256         
7257         Make WebTextView private and exported.
7258
7259         * WebKit.exp:
7260         * WebKit.pbproj/project.pbxproj:
7261         * WebView.subproj/WebTextView.h:
7262
7263 2002-09-11  Maciej Stachowiak  <mjs@apple.com>
7264
7265         Combined provisionalDataSourceChanged: and
7266         provisionalDataSourceCommitted: methods into a single
7267         setDataSource:, since they are always called one immediately after
7268         the other.
7269         
7270         * Plugins.subproj/WebPluginView.m:
7271         (-[WebNetscapePluginView setDataSource:]):
7272         (-[WebNetscapePluginView loadRequest:inTarget:withNotifyData:]):
7273         * WebView.subproj/WebDocument.h:
7274         * WebView.subproj/WebHTMLView.m:
7275         (-[WebHTMLView setDataSource:]):
7276         * WebView.subproj/WebImageView.m:
7277         (-[WebImageView setDataSource:]):
7278         * WebView.subproj/WebTextView.m:
7279         (-[WebTextView setDataSource:]):
7280         * WebView.subproj/WebViewPrivate.m:
7281         (-[WebView _makeDocumentViewForDataSource:]):
7282
7283 2002-09-11  Richard Williamson  <rjw@apple.com>
7284
7285         Better fix for previous problem.
7286         
7287         * WebCoreSupport.subproj/WebTextRenderer.m:
7288         (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:applyRounding:attemptFontSubstitution:]):
7289
7290 2002-09-11  Richard Williamson (Local)  <rjw@apple.com>
7291
7292         Remove ceiling of text width at end of fragment.  This was screwing up
7293         intra fragment text measurements.
7294         
7295         Selection of justified text is still screwed up.  This is a fundamental problem
7296         in khtml and will require  a rewrite of their justification code.  Konq has the
7297         same problems selecting justified text.  The drawing of code applies the justification
7298         factor, but checking the selection doesn't add the justification factor, so selection
7299         will be incorrect by the justification amount.
7300         
7301         * WebCoreSupport.subproj/WebTextRenderer.m:
7302         (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:applyRounding:attemptFontSubstitution:]):
7303
7304 2002-09-11  Darin Adler  <darin@apple.com>
7305
7306         * WebView.subproj/WebFrame.m: (-[WebFrame reload:]): Use the current
7307         URL, not the original URL, when doing a reload. This prevents the URL from
7308         changing back and forth when you reload on a page that involved a redirect.
7309
7310 2002-09-11  Darin Adler  <darin@apple.com>
7311
7312         Add machinery needed for fix to 3021137, changing font prefs
7313         doesn't redraw frames other than the main frame.
7314
7315         * WebCoreSupport.subproj/WebBridge.m:
7316         (-[WebBridge setNeedsReapplyStyles]): Added. Lets the web views know that they
7317         need to reapply styles. If we did this over on the WebCore side, we'd have to do
7318         it right away. Maybe that would be OK; we can move that that later.
7319
7320         * WebView.subproj/WebTextView.m: (-[WebTextView setFixedWidthFont]): Use the
7321         fixed-width size, rather than using the other size with the fixed-width family.
7322
7323 2002-09-11  Ken Kocienda  <kocienda@apple.com>
7324
7325         Major change to the API and design of WebFoundation. WebKit has been modified
7326         to use the new API.
7327
7328         WebFoundation attributes, as a design concept, are now completely gone. The old usages of
7329         attributes have been replaced with new API on the WebResourceRequest
7330         and WebResourceResponse classes.
7331
7332         * Plugins.subproj/WebPluginStream.h: Removed attribute usage in init API. No need for replacement.
7333         * Plugins.subproj/WebPluginStream.m:
7334         (-[WebNetscapePluginStream initWithURL:pluginPointer:]): Removed attribute usage in init API.
7335         (-[WebNetscapePluginStream initWithURL:pluginPointer:notifyData:]): Ditto.
7336         (-[WebNetscapePluginStream dealloc]): Remove attribute release.
7337         (-[WebNetscapePluginStream startLoad]): Removed attribute usage. Replace with calls to new API.
7338         (-[WebNetscapePluginStream receivedData:withHandle:]): Ditto.
7339         * Plugins.subproj/WebPluginView.m:
7340         (-[WebNetscapePluginView pluginURLFromCString:]): Added this helper method.
7341         (-[WebNetscapePluginView loadRequest:inTarget:withNotifyData:]): Added.
7342         (-[WebNetscapePluginView getURLNotify:target:notifyData:]): Modified to call new loadRequest:inTarget:withNotifyData: method.
7343         (-[WebNetscapePluginView getURL:target:]): Ditto.
7344         (-[WebNetscapePluginView postURLNotify:target:len:buf:file:notifyData:]): Ditto.
7345         * WebCoreSupport.subproj/WebBridge.h: Removed attribute usage in loadURL API. No need for replacement.
7346         * WebCoreSupport.subproj/WebBridge.m: Added loadRequest:withParent:
7347         (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]):
7348         (-[WebBridge startLoadingResource:withURL:referrer:]): Removed attribute usage. Replace with calls to new API.
7349         (-[WebBridge isReloading]): Ditto.
7350         (-[WebBridge loadRequest:withParent:]): Added.
7351         (-[WebBridge loadURL:]): Modified to use new loadRequest:withParent: API
7352         (-[WebBridge loadURL:referrer:]): Ditto.
7353         (-[WebBridge loadURL:flags:withParent:]): Ditto.
7354         (-[WebBridge postWithURL:data:]): Ditto.
7355         * WebCoreSupport.subproj/WebSubresourceClient.h: Changed API to use an NSString referrer instead of an attributes dictionary.
7356         * WebCoreSupport.subproj/WebSubresourceClient.m:
7357         (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]): Removed attribute usage. Replace with calls to new API.
7358         * WebView.subproj/WebDataSource.h: Added initWithRequest: method.
7359         * WebView.subproj/WebDataSource.m:
7360         (-[WebDataSource initWithURL:]): Removed attribute usage in init API.
7361         (-[WebDataSource initWithURL:flags:]): Ditto.
7362         (-[WebDataSource initWithRequest:]): Added.
7363         (-[WebDataSource request]): Added.
7364         * WebView.subproj/WebDataSourcePrivate.h: Added WebResourceRequest ivar.
7365         * WebView.subproj/WebDataSourcePrivate.m:
7366         (-[WebDataSourcePrivate dealloc]): Added WebResourceRequest ivar.
7367         (-[WebDataSource _startLoading:]): Removed attribute usage. Replace with calls to new API.
7368         * WebView.subproj/WebFrame.m:
7369         (-[WebFrame reload:]): Removed attribute usage. Replace with calls to new API.
7370         * WebView.subproj/WebFramePrivate.m:
7371         (-[WebFrame _goToItem:withFrameLoadType:]): Use new WebDataSource init API.
7372
7373 2002-09-10  Darin Adler  <darin@apple.com>
7374
7375         WebKit part of support for the "Referer" header.
7376
7377         * WebCoreSupport.subproj/WebBridge.m:
7378         (-[WebBridge openNewWindowWithURL:referrer:frameName:]): Add referrer parameter,
7379         and pass it on to the window context method.
7380         (-[WebBridge addAttributeForReferrer:toDictionary:]): Added.
7381         (-[WebBridge attributesForReferrer:]): Added.
7382         (-[WebBridge startLoadingResource:withURL:referrer:]): Put the referrer into an
7383         attributes dictionary and pass it to the WebSubresourceClient method.
7384         (-[WebBridge loadURL:referrer:]): Put the referrer into an attributes dictionary
7385         and pass it along.
7386         (-[WebBridge postWithURL:referrer:data:]): Put the referrer into an attributes
7387         dictionary and pass it along.
7388
7389         * WebCoreSupport.subproj/WebSubresourceClient.h: Add an attributes parameter to
7390         the method that starts loading.
7391         * WebCoreSupport.subproj/WebSubresourceClient.m:
7392         (+[WebSubresourceClient startLoadingResource:withURL:attributes:forDataSource:]):
7393         Put the attributes into the WebResourceRequest.
7394
7395         * WebView.subproj/WebController.h: Add a referrer parameter to the WebWindowContext
7396         openNewWindowWithURL method.
7397         * WebView.subproj/WebDefaultContextMenuHandler.m:
7398         (-[WebDefaultContextMenuHandler openNewWindowWithURL:referrer:]): Pass the referrer
7399         on to the window context.
7400         (-[WebDefaultContextMenuHandler openLinkInNewWindow:]): Pass nil for the referrer
7401         for now. Not sure if this is best.
7402         (-[WebDefaultContextMenuHandler openImageInNewWindow:]): Ditto.
7403         (-[WebDefaultContextMenuHandler openFrameInNewWindow:]): Ditto.
7404
7405         * WebView.subproj/WebFrame.m: (-[WebFrame frameNamed:]): Pass nil for the referrer
7406         here where we are creating a new empty window.
7407
7408         * WebView.subproj/WebHTMLViewPrivate.m:
7409         (-[WebHTMLView _continueAfterClickPolicyForEvent:]): Pass nil for the referrer here
7410         in the WebClickPolicyOpenNewWindow. The policy API doesn't provide a way for the
7411         policy handler to specify the referrer; we might want to change that later.
7412
7413         * Plugins.subproj/WebPluginView.m:
7414         (-[WebNetscapePluginView loadURL:inTarget:withNotifyData:andHandleAttributes:]):
7415         Pass nil for the referrer here. But it seems wrong that this function discards
7416         the handle attributes that are passed in for the case where it opens a new window.
7417
7418 2002-09-11  Chris Blumenberg  <cblu@apple.com>
7419
7420         Fixed: 3048158 - Crash at google in _destroyInitializingClassList
7421
7422         * WebView.subproj/WebMainResourceClient.m:
7423         (-[WebMainResourceClient didCancelWithHandle:]):
7424
7425 2002-09-10  Richard Williamson (Local)  <rjw@apple.com>
7426
7427         Renamed method.
7428         
7429         * WebView.subproj/WebPreferences.h:
7430         * WebView.subproj/WebPreferences.m:
7431         (-[WebPreferences _updateWebCoreSettings]):
7432         (-[WebPreferences setWillLoadImagesAutomatically:]):
7433         (-[WebPreferences willLoadImagesAutomatically]):
7434
7435 2002-09-10  Chris Blumenberg  <cblu@apple.com>
7436
7437         Report download handler errors
7438         Renamed error constants
7439         Added new errors
7440
7441         * Misc.subproj/WebDownloadHandler.h:
7442         * Misc.subproj/WebDownloadHandler.m:
7443         (-[WebDownloadHandler errorWithCode:]): added
7444         (-[WebDownloadHandler receivedData:]): return an error
7445         (-[WebDownloadHandler finishedLoading]): return an error
7446         (-[WebDownloadHandler cancel]): return an error
7447         * Misc.subproj/WebKitErrors.h: added new errors
7448         * WebView.subproj/WebFramePrivate.m: 
7449         (-[WebFrame _shouldShowURL:]): use renamed error constants
7450         * WebView.subproj/WebMainResourceClient.h:
7451         * WebView.subproj/WebMainResourceClient.m:
7452         (-[WebMainResourceClient receivedError:forHandle:]): don't send an error when errors are suppressed
7453         (-[WebMainResourceClient didCancelWithHandle:]): report download handler errors
7454         (-[WebMainResourceClient handleDidFinishLoading:]): report download handler errors
7455         (-[WebMainResourceClient handleDidReceiveData:data:]): report download handler errors
7456         (-[WebMainResourceClient handleDidFailLoading:withError:]): report download handler errors
7457         * WebView.subproj/WebView.m:
7458         (+[WebView initialize]): add new errors to WebError
7459
7460 2002-09-10  John Sullivan  <sullivan@apple.com>
7461
7462         * History.subproj/WebHistoryPrivate.m:
7463         (-[WebHistoryPrivate _loadHistoryGuts:]):
7464         removed the ERROR message in the case where the history file was
7465         not found, as this is normal initial-state behavior.
7466
7467 2002-09-10  Maciej Stachowiak  <mjs@apple.com>
7468
7469         WebKit part of fix for:
7470
7471         2952837 - Slide shows on homepage.mac.com don't show pictures, captions
7472         2942073 - Deferring [BrowserDocument goToInitialURL] can cause problems
7473         3021360 - second window pops up on 'Search' at chrysler.com
7474         3030485 - Unexpected new window created with no scroll bars at sony.com
7475
7476         This is done by adding a concept of named controller sets, so that
7477         less browser-like uses of WebKit won't be affected.
7478
7479         * WebCoreSupport.subproj/WebBridge.m:
7480         (-[WebBridge openNewWindowWithURL:frameName:]): Pass frameName
7481         parameter to controller initializer.
7482         
7483         * WebView.subproj/WebController.h:
7484         * WebView.subproj/WebController.m:
7485         (-[WebController init]): Pass nil for controllerSetName.
7486         
7487         (-[WebController dealloc]):
7488         (-[WebController frameNamed:]): Check other windows in the same set too.
7489         * WebView.subproj/WebControllerPrivate.h:
7490         * WebView.subproj/WebControllerPrivate.m:
7491         (-[WebControllerPrivate dealloc]):
7492         (-[WebController _setDefersCallbacks:]):
7493         (-[WebController _setTopLevelFrameName:]):
7494         (-[WebController _frameInThisWindowNamed:]):
7495         * WebView.subproj/WebControllerSets.h: Added.
7496         * WebView.subproj/WebControllerSets.m: Added.
7497         (+[WebControllerSets addController:toSetNamed:]): Method to
7498         maintain controller sets.
7499         (+[WebControllerSets removeController:fromSetNamed:]): Likewise.
7500         * WebKit.pbproj/project.pbxproj: Add new files.
7501
7502 2002-09-10  Ken Kocienda  <kocienda@apple.com>
7503
7504         Changed API for setting the WebResourceClient for a request/load.
7505
7506         This has been removed from WebResourceRequest, and has been moved to 
7507         WebResourceHandle. The result is that the init method for a WebResourceHandle
7508         now takes a WebResourceRequest and a WebResourceClient.
7509
7510         All of the changes below are simple code modifications to use the new API.
7511
7512         * Misc.subproj/WebIconLoader.m:
7513         (-[WebIconLoader startLoading])
7514         * Plugins.subproj/WebPluginStream.m:
7515         (-[WebNetscapePluginStream startLoad])
7516         * WebCoreSupport.subproj/WebBridge.m:
7517         (-[WebBridge objectLoadedFromCache:size:])
7518         * WebCoreSupport.subproj/WebSubresourceClient.m:
7519         (+[WebSubresourceClient startLoadingResource:withURL:dataSource:])
7520         * WebView.subproj/WebDataSourcePrivate.m:
7521         (-[WebDataSource _startLoading:])
7522
7523 2002-09-10  Chris Blumenberg  <cblu@apple.com>
7524
7525         * History.subproj/WebHistory.h:
7526         * History.subproj/WebHistory.m:
7527         (-[WebHistory entryForURL:]): added
7528         * History.subproj/WebHistoryPrivate.h:
7529         * History.subproj/WebHistoryPrivate.m:
7530         (-[WebHistoryPrivate entryForURL:]): added
7531         * Misc.subproj/WebIconDatabase.h: added WebIconLargeSize
7532         * Misc.subproj/WebIconDatabase.m: added WebIconLargeSize
7533         * WebKit.exp: export link label key and WebIconLargeSize
7534
7535 2002-09-10  Darin Adler  <darin@apple.com>
7536
7537         WebKit part of weaning WebCore from getting directly at WebKit defaults.
7538
7539         * WebView.subproj/WebPreferences.h:
7540         * WebView.subproj/WebPreferences.m:
7541         (-[WebPreferences _updateWebCoreSettings]): Added. Propagates all preferences
7542         to WebCore. This way WebCore doesn't have to actively ask for the values
7543         of preferences using defaults keys that are WebKit secrets.
7544         (+[WebPreferences load]): Set up an observer that calls _updateWebCoreSettings
7545         whenever NSUserDefaultsDidChangeNotification is posted.
7546         (-[WebPreferences setStandardFontFamily:]): Call _updateWebCoreSettings right
7547         away, don't wait for NSUserDefaultsDidChangeNotification.
7548         (-[WebPreferences setFixedFontFamily:]): Ditto.
7549         (-[WebPreferences setSerifFontFamily:]): Ditto.
7550         (-[WebPreferences setSansSerifFontFamily:]): Ditto.
7551         (-[WebPreferences setCursiveFontFamily:]): Ditto.
7552         (-[WebPreferences setFantasyFontFamily:]): Ditto.
7553         (-[WebPreferences setDefaultFontSize:]): Ditto.
7554         (-[WebPreferences setDefaultFixedFontSize:]): Ditto.
7555         (-[WebPreferences setMinimumFontSize:]): Ditto.
7556         (-[WebPreferences setUserStyleSheetEnabled:]): Ditto.
7557         (-[WebPreferences setUserStyleSheetLocation:]): Ditto.
7558         (-[WebPreferences setJavaEnabled:]): Ditto.
7559         (-[WebPreferences setJavaScriptEnabled:]): Ditto.
7560         (-[WebPreferences setJavaScriptCanOpenWindowsAutomatically:]): Ditto.
7561         (-[WebPreferences setPluginsEnabled:]): Ditto.
7562         (-[WebPreferences setDisplayImages:]): Ditto.
7563
7564         * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge reportBadURL:]):
7565         Add this method, which replaces reportError. Now WebCore doesn't use
7566         WebFoundation directly at all! Pretty neat.
7567
7568 2002-09-09  Richard Williamson (Home)  <rjw@apple.com>
7569
7570         Implemented  disable images automatically (2896319).
7571
7572         * WebView.subproj/WebPreferences.h:
7573         * WebView.subproj/WebPreferences.m:
7574         (+[WebPreferences load]):
7575         (-[WebPreferences setDisplayImages:]):
7576         (-[WebPreferences displayImages]):
7577
7578 2002-09-09  Darin Adler  <darin@apple.com>
7579
7580         - fixed 3003605 -- Leaking 1 WebView after second run of static PLT
7581
7582         Fixing this should also help with footprint.
7583
7584         * WebView.subproj/WebFrame.m:
7585         (-[WebFrame dealloc]): Remove old workaround for problem where we
7586         always deallocated the frames from timer cleanup. I found a better
7587         fix for this.
7588         (-[WebFrame stopLoading]): Explicitly fire the scheduled layout
7589         timer if any when we stop loading, rather than leaving it hanging.
7590
7591         * WebView.subproj/WebFramePrivate.m: (-[WebFrame _setState:]):
7592         Explicitly fire the scheduled layout timer if any.
7593
7594         * WebView.subproj/WebDataSource.m: (-[WebDataSource isLoading]):
7595         Use an autorelease pool here so we don't end up putting all the
7596         frames in the main event loop's autorelease pool.
7597
7598         * Bookmarks.subproj/WebBookmark.m:
7599         (-[WebBookmark init]): Use copy instead of retain.
7600         (-[WebBookmark identifier]): Use copy instead of retain.
7601
7602 2002-09-09  ken  <kocienda@apple.com>
7603
7604         Missed one call through asking WebResourceHandle for contentLength
7605         instead of WebResourceResponse.
7606
7607         * Plugins.subproj/WebPluginStream.m:
7608         (-[WebNetscapePluginStream receivedData:withHandle:]):
7609
7610 2002-09-09  ken  <kocienda@apple.com>
7611
7612         Content length information now accessible via WebResourceResponse object,
7613         rather than from WebResourceHandle.
7614
7615         * WebView.subproj/WebLoadProgress.m:
7616         (-[WebLoadProgress initWithResourceHandle:]):
7617         * WebView.subproj/WebMainResourceClient.m:
7618         (-[WebMainResourceClient handleDidReceiveData:data:]):
7619
7620 2002-09-09  Richard Williamson  <rjw@apple.com>
7621
7622         Make both calls to adjust CG font cache dynamic.
7623         The new CGFontCacheSetMaxSize() adds a font cache
7624         parameter.  Ugh!  This is needed so we can compile
7625         w/o warnings on stock Jag.
7626         
7627         * WebCoreSupport.subproj/WebTextRendererFactory.m:
7628
7629 2002-09-09  Ken Kocienda  <kocienda@apple.com>
7630
7631         Character set information now accessible via WebResourceResponse object,
7632         rather than from WebResourceHandle.
7633
7634         * WebView.subproj/WebMainResourceClient.m:
7635         (-[WebMainResourceClient handleDidReceiveData:data:]):
7636
7637 2002-09-09  Chris Blumenberg  <cblu@apple.com>
7638
7639         Re-enable wizzy scaling.
7640         
7641         * Misc.subproj/WebIconDatabase.m:
7642         (-[WebIconDatabase _iconByScalingIcon:toSize:]):
7643
7644 2002-09-09  Ken Kocienda  <kocienda@apple.com>
7645
7646         WebResourcehandle no longer has a contentType method.
7647         Call through to WebResourceResponse object to get content type.
7648
7649         * Plugins.subproj/WebPluginStream.m:
7650         (-[WebNetscapePluginStream receivedData:withHandle:]):
7651         * WebView.subproj/WebMainResourceClient.m:
7652         (-[WebMainResourceClient handleDidReceiveData:data:]):
7653
7654 2002-09-09  Darin Adler  <darin@apple.com>
7655
7656         Fixed lifetime problems happening due to new cancel mechanism.
7657
7658         * WebCoreSupport.subproj/WebSubresourceClient.m: Add comments explaining why
7659         retain/release is needed.
7660         * WebView.subproj/WebDataSourcePrivate.m:
7661         (-[WebDataSource _recursiveStopLoading]): Add a retain/release so that we don't
7662         run into problems if _stopLoading causes the data source to go away.
7663         * WebView.subproj/WebMainResourceClient.m:
7664         (-[WebMainResourceClient didCancelWithHandle:]): Add retain/release for similar reasons,
7665         with comment explaining why.
7666         (-[WebMainResourceClient handleDidFinishLoading:]): Ditto.
7667         (-[WebMainResourceClient handleDidFailLoading:withError:]): Ditto.
7668
7669         Fixed the problem that was leading to the NSImage exception, but didn't turn on
7670         the whizzy scaling -- leaving that to Chris.
7671
7672         * Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase iconForSiteURL:withSize:]):
7673         Eliminate the "size 0x0" feature. It was only implemented in one place, and tons
7674         of other places would actually make a size 0x0 icon. But also, we don't need it any more.
7675         * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource iconLoader: receivedPageIcon:),
7676         (-[WebDataSource _loadIcon]): Don't bother actually passing the icon to
7677         [WebLocationChangeHandler receivedPageIcon:forDataSource:]. We should probably eventually
7678         either just get rid of this method, or remove the icon parameter.
7679
7680 2002-09-09  Chris Blumenberg  <cblu@apple.com>
7681
7682
7683         * Misc.subproj/WebIconDatabase.m:
7684         (-[WebIconDatabase _iconByScalingIcon:toSize:]): Commented out wizzy scaling as it was causing an NSImage exception to be raised.
7685         * Plugins.subproj/WebPlugin.m:
7686         (-[WebNetscapePlugin _getPluginInfo]): Check Resource Manager errors
7687
7688 2002-09-08  Darin Adler  <darin@apple.com>
7689
7690         * Plugins.subproj/WebPluginStream.m:
7691         * Plugins.subproj/WebPluginView.m:
7692         Use #if ! rather than #ifndef with LOG_DISABLED, since it
7693         is set to 0 rather than not defined when LOG is enabled.
7694
7695 2002-09-08  Darin Adler  <darin@apple.com>
7696
7697         * Bookmarks.subproj/WebBookmarkGroup.m:
7698         * History.subproj/WebHistoryPrivate.m:
7699         * History.subproj/WebURLsWithTitles.m:
7700         * Misc.subproj/WebDownloadHandler.m:
7701         * Misc.subproj/WebIconDatabase.m:
7702         * Misc.subproj/WebIconLoader.m:
7703         * WebView.subproj/WebController.m:
7704         * WebView.subproj/WebDataSourcePrivate.m:
7705         * WebView.subproj/WebFrame.m:
7706         * WebView.subproj/WebFramePrivate.m:
7707         * WebView.subproj/WebHTMLView.m:
7708         * WebView.subproj/WebHTMLViewPrivate.m:
7709         * WebView.subproj/WebMainResourceClient.m:
7710         * WebView.subproj/WebPreferences.m:
7711         * WebView.subproj/WebViewPrivate.m:
7712         Remove unnecessary includes.
7713
7714 2002-09-08  Darin Adler  <darin@apple.com>
7715
7716         Update logging to use new implementation. Remove old.
7717
7718         * Misc.subproj/WebKitDebug.h: Removed.
7719         * Misc.subproj/WebKitDebug.m: Removed.
7720         * Misc.subproj/WebKitLogging.h: Added.
7721         * Misc.subproj/WebKitLogging.m: Added.
7722         * Misc.subproj/WebKitReallyPrivate.h: Removed.
7723         * WebKit.pbproj/project.pbxproj: Update for above changes.
7724
7725         * WebKit-tests.exp: Now empty.
7726
7727         * History.subproj/WebHistoryItem.m: Remove unneeded include.
7728
7729         * Bookmarks.subproj/WebBookmarkGroup.m:
7730         * History.subproj/WebHistoryPrivate.m:
7731         * Misc.subproj/WebDownloadHandler.m:
7732         * Misc.subproj/WebIconDatabase.m:
7733         * Plugins.subproj/WebPlugin.m:
7734         * Plugins.subproj/WebPluginDatabase.m:
7735         * Plugins.subproj/WebPluginNullEventSender.m:
7736         * Plugins.subproj/WebPluginStream.m:
7737         * Plugins.subproj/WebPluginView.m:
7738         * Plugins.subproj/npapi.m:
7739         * WebCoreSupport.subproj/WebTextRenderer.m:
7740         * WebView.subproj/WebDataSourcePrivate.m:
7741         * WebView.subproj/WebFrame.m:
7742         * WebView.subproj/WebFramePrivate.m:
7743         * WebView.subproj/WebHTMLView.m:
7744         * WebView.subproj/WebMainResourceClient.m:
7745         Change to use new log channels.
7746
7747 2002-09-08  Darin Adler  <darin@apple.com>
7748
7749         Remove empty handleDidBeginLoading and handleDidCancelLoading
7750         methods, now that they will never be called.
7751
7752         * Misc.subproj/WebIconLoader.m:
7753         * Plugins.subproj/WebPluginStream.m:
7754         * WebCoreSupport.subproj/WebSubresourceClient.m:
7755         * WebView.subproj/WebMainResourceClient.m:
7756
7757 2002-09-08  Darin Adler  <darin@apple.com>
7758
7759         Forgot to save out files from the editor in my last change.
7760
7761         * WebView.subproj/WebDataSource.m:
7762         * WebView.subproj/WebDataSourcePrivate.h:
7763         * WebView.subproj/WebDataSourcePrivate.m:
7764         Oops.
7765
7766 2002-09-08  Darin Adler  <darin@apple.com>
7767
7768         Finished weaning us from handleDidCancelLoading. Now I will remove both
7769         handleDidBeginLoading and handleDidCancelLoading.
7770
7771         * WebCoreSupport.subproj/WebSubresourceClient.h: Add a handle method.
7772         * WebCoreSupport.subproj/WebSubresourceClient.m:
7773         (-[WebSubresourceClient handleDidCancelLoading:]): Remove guts, move to cancel.
7774         (-[WebSubresourceClient handleDidFinishLoading:]): Remove the client from the
7775         data source now, not the handle.
7776         (-[WebSubresourceClient handleDidFailLoading:withError:]): Ditto.
7777         (-[WebSubresourceClient cancel]): Move guts here, also make the above change.
7778         (-[WebSubresourceClient handle]): Added.
7779
7780         * WebView.subproj/WebDataSource.m: Use clients list, not handles list.
7781         * WebView.subproj/WebDataSourcePrivate.h: Keep a list of subresource clients rather
7782         than a list of handles for the subresources.
7783         * WebView.subproj/WebDataSourcePrivate.m:
7784         (-[WebDataSourcePrivate dealloc]): Update to match new field names.
7785         (-[WebDataSource _updateLoading]): Use clients, not handles.
7786         (-[WebDataSource _startLoading:]): Move line about starting loading out of the if
7787         statement. I suspect the if statement is always true, though.
7788         (-[WebDataSource _addSubresourceClient:]): New name. Keep client pointer instead of
7789         handle now.
7790         (-[WebDataSource _removeSubresourceClient:]): Ditto.
7791         (-[WebDataSource _stopLoading]): Move download handler line into WebMainResourceClient
7792         since the "not sent when application is quitting" issue is gone now. Stop the subresource
7793         clients using the cancel call, not by cancelling the handle directly.
7794         (-[WebDataSource _defersCallbacksChanged]): Update for clients list, not handles list.
7795
7796         * WebView.subproj/WebMainResourceClient.m:
7797         (-[WebMainResourceClient didCancelWithHandle:]): Cancel the download handler here.
7798         (-[WebMainResourceClient handleDidReceiveData:data:]): Call didCancelWithHandle here.
7799         A loose end from the previous change.
7800
7801 2002-09-07  Chris Blumenberg  <cblu@apple.com>
7802
7803         Made the wizzy scaling an experiment.
7804
7805         * Misc.subproj/WebIconDatabase.m:
7806         (-[WebIconDatabase _iconByScalingIcon:toSize:]):
7807
7808 2002-09-06  Darin Adler  <darin@apple.com>
7809
7810         Almost weaned WebKit entirely from the handleDidBeginLoading and handleDidCancelLoading
7811         loading callbacks. We are planning to remove both of them.
7812
7813         * Plugins.subproj/WebPluginStream.m:
7814         (-[WebNetscapePluginStream startLoad]): Call _didStartLoading here so we don't need
7815         to rely on handleDidBeginLoading any more.
7816         (-[WebNetscapePluginStream stop]): Call cancel here so we don't need to rely on
7817         handleDidCancelLoading any more.
7818         (-[WebNetscapePluginStream handleDidBeginLoading:]): Empty out.
7819         (-[WebNetscapePluginStream handleDidFinishLoading:]): Nil out resource here.
7820         (-[WebNetscapePluginStream handleDidCancelLoading:]): Empty out.
7821         (-[WebNetscapePluginStream cancel]): Put cancel code here.
7822         (-[WebNetscapePluginStream handleDidFailLoading:withError:]): Nil out resource here.
7823
7824         * WebCoreSupport.subproj/WebBridge.m:
7825         (-[WebBridge startLoadingResource:withURL:]): Change to use WebCoreResourceHandle.
7826
7827         * WebCoreSupport.subproj/WebSubresourceClient.h: Change to use WebCoreResourceHandle.
7828         * WebCoreSupport.subproj/WebSubresourceClient.m:
7829         (-[WebSubresourceClient dealloc]): Release handle too, now that we have it.
7830         (-[WebSubresourceClient receivedProgressWithComplete:]): Moved up here and removed handle
7831         parameter.
7832         (+[WebSubresourceClient startLoadingResource:withURL:dataSource:]): Do work here so
7833         we don't need to rely on handleDidBeginLoading any more.
7834         (-[WebSubresourceClient receivedError:]): Removed handle parameter.
7835         (-[WebSubresourceClient handleWillUseUserAgent:forURL:]):
7836         (-[WebSubresourceClient handleDidBeginLoading:]): Emptied out.
7837         (-[WebSubresourceClient handleDidCancelLoading:]): Updated, still needs to be emptied out.
7838         (-[WebSubresourceClient handleDidFinishLoading:]): Nil out handle.
7839         (-[WebSubresourceClient handleDidFailLoading:withError:]): Nil out handle.
7840         (-[WebSubresourceClient cancel]): New method, used by WebCore.
7841
7842         * WebCoreSupport.subproj/WebTextRenderer.m:
7843         (-[WebTextRenderer widthForCharacters:length:]): Moved up in the file to fix build failure.
7844
7845         * WebView.subproj/WebDataSourcePrivate.m:
7846         (-[WebDataSource _startLoading:]): Call didStartLoadingWithURL so we don't have to
7847         rely on handleDidBeginLoading.
7848         (-[WebDataSource _stopLoading]): Call didCancelWithHandle so we don't have to rely
7849         on handleDidCancelLoading.
7850
7851         * WebView.subproj/WebMainResourceClient.h: Add didStartLoadingWithURL and
7852         didCancelWithHandle to the public methods.
7853         * WebView.subproj/WebMainResourceClient.m:
7854         (-[WebMainResourceClient initWithDataSource:]):
7855         (-[WebMainResourceClient handleDidBeginLoading:]): Empty out.
7856         (-[WebMainResourceClient didCancelWithHandle:]): Move the bulk of handleDidCancelLoading here.
7857         (-[WebMainResourceClient handleDidCancelLoading:]): Empty out.
7858
7859         * WebView.subproj/WebHTMLView.m: (-[WebHTMLView mouseDragged:]): Move the mouse up a little
7860         bit so it's "on" the dragged area, but not over the text.
7861
7862 2002-09-06  Richard Williamson  <rjw@apple.com>
7863
7864         Added support for khtml's justified text drawing.  Additional padding is distributed
7865         to space widths.  (Sites like www.osnews.com now render correctly.)
7866         
7867         Change word end rounding hack to use ceil of word width.  I'm still noticing a spacing anomaly
7868         that is fixed by a reload.  Occasionally text runs are still crammed together, but a reload uses
7869         correct spacing.  This anomaly is often visible on www.arstechnica.com.  Still investigating.
7870         
7871         * WebCoreSupport.subproj/WebTextRenderer.m:
7872         (-[WebTextRenderer drawGlyphs:numGlyphs:fromGlyphPosition:toGlyphPosition:atPoint:withPadding:withTextColor:backgroundColor:]):
7873         (-[WebTextRenderer slowDrawCharacters:length:fromCharacterPosition:toCharacterPosition:atPoint:withPadding:withTextColor:backgroundColor:attemptFontSubstitution:]):
7874         (-[WebTextRenderer _drawCharacters:length:fromCharacterPosition:toCharacterPosition:atPoint:withPadding:withTextColor:backgroundColor:]):
7875         (-[WebTextRenderer drawCharacters:stringLength:fromCharacterPosition:toCharacterPosition:atPoint:withPadding:withTextColor:backgroundColor:]):
7876         (-[WebTextRenderer slowFloatWidthForCharacters:stringLength:fromCharacterPostion:numberOfCharacters:applyRounding:]):
7877         (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:applyRounding:attemptFontSubstitution:]):
7878         
7879         Tweaks to dragged image.
7880         
7881         * WebView.subproj/WebHTMLView.m:
7882         (-[WebHTMLView mouseDragged:]):
7883
7884 2002-09-06  Richard Williamson (Home)  <rjw@apple.com>
7885
7886         Fixed symbol lookup problem.  NSLookupAndBindSymbol() dies horribly
7887         if symbol is missing.  Use NSIsSymbolNameDefined() first to check if
7888         symbol is present.
7889         
7890         * WebCoreSupport.subproj/WebTextRendererFactory.m:
7891
7892 2002-09-06  Darin Adler  <darin@apple.com>
7893
7894         Fix some minor anomalies and leaks.
7895
7896         * History.subproj/WebHistoryItem.m:
7897         (-[WebHistoryItem initWithURL:target:parent:title:]): Use copy, not retain.
7898         (-[WebHistoryItem dealloc]): Release the anchor, fix leak.
7899         (-[WebHistoryItem setURL:]): Check for URLs that are equal, not just ==.
7900         (-[WebHistoryItem setTitle:]): Copy, not retain.
7901         (-[WebHistoryItem setTarget:]): Copy, not retain.
7902         (-[WebHistoryItem setParent:]): Copy, not retain.
7903         (-[WebHistoryItem setDisplayTitle:]): Copy, not retain.
7904         (-[WebHistoryItem setAnchor:]): Copy, not retain.
7905         * WebView.subproj/WebControllerPolicyHandler.m:
7906         (-[WebPolicyPrivate dealloc]): Release the URL, call super, fix leaks.
7907         (-[WebPolicy _setPath:]): Use copy, not retain.
7908         * WebView.subproj/WebControllerPrivate.m:
7909         (-[WebControllerPrivate dealloc]): Release downloadProgressHandler,
7910         contextMenuHandler, locationChangeHandler, fix leaks.
7911
7912         Some fun with Richard's new code.
7913
7914         * WebView.subproj/WebHTMLView.m:
7915         (-[WebHTMLView mouseDragged:]): Center image around mouse instead of
7916         putting it up and to the right. Add more X space than Y space.
7917
7918 2002-09-06  Richard Williamson (Home)  <rjw@apple.com>
7919         
7920         * WebView.subproj/WebHTMLView.m:
7921         (-[WebHTMLView mouseDragged:]):
7922
7923         More fun and games with dragged links.
7924         Draw both a label and url (in a smaller font)
7925         into the dragged image.
7926
7927         * Misc.subproj/WebStringTruncator.h:
7928         * Misc.subproj/WebStringTruncator.m:
7929         (+[WebStringTruncator rightTruncateString:toWidth:withFont:]):
7930         
7931         Added right string truncator.  Not optimized, but not used
7932         very often.  Currently just for dragged link experiment.
7933         
7934 === Alexander-22 ===
7935
7936 2002-09-06  Ken Kocienda  <kocienda@apple.com>
7937
7938         Declaration and initialization of variable on one line caused unused variable
7939         warning when building under deployment since the only use of the variable was
7940         in a debug statement.
7941
7942         * Plugins.subproj/WebPluginStream.m:
7943         (-[WebNetscapePluginStream receivedError:])
7944
7945 2002-09-05  Richard Williamson (Local)  <rjw@apple.com>
7946
7947         Experiment w/ dragging link label as drag image.
7948         Needs some visual tweaking, but good concept, I think.
7949         
7950         * WebView.subproj/WebHTMLView.m:
7951         (-[WebHTMLView mouseDragged:]):
7952
7953 2002-09-05  Richard Williamson (Local)  <rjw@apple.com>
7954
7955         Use the first text child node of the link element
7956         as the title for a dragged link.  We'll use this for
7957         the dragged image later too.
7958         
7959         * WebView.subproj/WebController.h:
7960         * WebView.subproj/WebController.m:
7961         * WebView.subproj/WebHTMLView.m:
7962         (-[WebHTMLView mouseDragged:]):
7963         * WebView.subproj/WebHTMLViewPrivate.m:
7964         (-[WebHTMLView _elementAtPoint:]):
7965
7966 2002-09-05  Richard Williamson (Local)  <rjw@apple.com>
7967
7968         Correctly save of document state in current
7969         document when going back.
7970         
7971         * WebCoreSupport.subproj/WebBridge.m:
7972         (-[WebBridge saveDocumentState:]):
7973         (-[WebBridge documentState]):
7974
7975 2002-09-05  Richard Williamson (Local)  <rjw@apple.com>
7976
7977         Fixed 3043505.  Disallows drag drops on originating view.
7978         
7979         * WebView.subproj/WebView.m:
7980         (-[WebView draggingEntered:]):
7981
7982 2002-09-05  Darin Adler  <darin@apple.com>
7983
7984         Update to use the new style of assertions.
7985         A few places still use the WebKitDebug.h, for logging.
7986
7987         * Bookmarks.subproj/WebBookmark.m:
7988         * Bookmarks.subproj/WebBookmarkGroup.m:
7989         * Bookmarks.subproj/WebBookmarkLeaf.m:
7990         * Bookmarks.subproj/WebBookmarkList.m:
7991         * Bookmarks.subproj/WebBookmarkSeparator.m:
7992         * History.subproj/WebHistory.m:
7993         * History.subproj/WebHistoryList.m:
7994         * History.subproj/WebHistoryPrivate.m:
7995         * History.subproj/WebURLsWithTitles.m:
7996         * Misc.subproj/WebDownloadHandler.m:
7997         * Misc.subproj/WebIconDatabase.m:
7998         * Misc.subproj/WebIconLoader.m:
7999         * Misc.subproj/WebKitDebug.h:
8000         * Misc.subproj/WebStringTruncator.m:
8001         * Panels.subproj/WebAuthenticationPanel.m:
8002         * Plugins.subproj/WebPlugin.m:
8003         * Plugins.subproj/WebPluginDatabase.m:
8004         * Plugins.subproj/WebPluginNullEventSender.m:
8005         * Plugins.subproj/WebPluginStream.m:
8006         * Plugins.subproj/WebPluginView.m:
8007         * Plugins.subproj/npapi.m:
8008         * WebCoreSupport.subproj/WebBridge.m:
8009         * WebCoreSupport.subproj/WebCookieAdapter.m:
8010         * WebCoreSupport.subproj/WebImageRenderer.m:
8011         * WebCoreSupport.subproj/WebImageRendererFactory.m:
8012         * WebCoreSupport.subproj/WebSubresourceClient.m:
8013         * WebCoreSupport.subproj/WebTextRenderer.m:
8014         * WebCoreSupport.subproj/WebTextRendererFactory.m:
8015         * WebCoreSupport.subproj/WebViewFactory.m:
8016         * WebView.subproj/WebController.m:
8017         * WebView.subproj/WebControllerPrivate.m:
8018         * WebView.subproj/WebDataSource.m:
8019         * WebView.subproj/WebDataSourcePrivate.m:
8020         * WebView.subproj/WebDefaultPolicyHandler.m:
8021         * WebView.subproj/WebFrame.m:
8022         * WebView.subproj/WebFramePrivate.m:
8023         * WebView.subproj/WebHTMLView.m:
8024         * WebView.subproj/WebHTMLViewPrivate.m:
8025         * WebView.subproj/WebMainResourceClient.m:
8026         * WebView.subproj/WebPreferences.m:
8027         * WebView.subproj/WebViewPrivate.m:
8028         Use new assertions.
8029
8030 2002-09-05  Richard Williamson (Local)  <rjw@apple.com>
8031
8032         Removed debugging.
8033         
8034         * History.subproj/WebBackForwardList.m:
8035         (-[WebBackForwardList addEntry:]):
8036
8037 2002-09-05  Richard Williamson (Local)  <rjw@apple.com>
8038
8039         Added support for saving/restoring document state
8040         in back/forward list.
8041         
8042         * History.subproj/WebBackForwardList.m:
8043         (-[WebBackForwardList addEntry:]):
8044         * History.subproj/WebHistoryItem.h:
8045         * History.subproj/WebHistoryItem.m:
8046         (-[WebHistoryItem dealloc]):
8047         (-[WebHistoryItem setLastVisitedDate:]):
8048         (-[WebHistoryItem documentState]):
8049         * WebCoreSupport.subproj/WebBridge.m:
8050         (-[WebBridge saveDocumentState:]):
8051         (-[WebBridge documentState]):
8052         * WebView.subproj/WebDataSourcePrivate.m:
8053         (-[WebDataSource _startLoading:]):
8054         
8055         Lookup post Jaguar CG SPI.  Can now run and build
8056         w/o patched CG.
8057         
8058         * WebCoreSupport.subproj/WebTextRendererFactory.m:
8059             
8060         Changed image links to drag file contents.
8061         
8062         * WebView.subproj/WebHTMLView.m:
8063         (-[WebHTMLView mouseDragged:]):
8064
8065 2002-09-05  Ken Kocienda  <kocienda@apple.com>
8066
8067         The WebError object has been removed from WebResourceHandle.
8068         Objects of that class now rely on the WebError object in WebResourceResponse. 
8069
8070         This code has been updated to ask WebResourceResponse for it WebError object,
8071         rather than asking WebResourceHandle.
8072
8073         * WebCoreSupport.subproj/WebSubresourceClient.m:
8074         (-[WebSubresourceClient handleDidFinishLoading:])
8075         * WebView.subproj/WebMainResourceClient.m:
8076         (-[WebMainResourceClient handleDidFinishLoading:])
8077
8078 2002-09-05  Chris Blumenberg  <cblu@apple.com>
8079
8080         Fixed 3021365 - Crash failing to load plugin from local file
8081
8082         * Plugins.subproj/WebPluginStream.h:
8083         * Plugins.subproj/WebPluginStream.m:
8084         (-[WebNetscapePluginStream receivedData:withHandle:]):
8085         (-[WebNetscapePluginStream receivedError:]):
8086         (-[WebNetscapePluginStream receivedData:withDataSource:]):
8087         (-[WebNetscapePluginStream handleDidReceiveData:data:]):
8088
8089 2002-09-05  Ken Kocienda  <kocienda@apple.com>
8090
8091         The first use of the WebResourceResponse object. This is just a baby step, though.
8092         I only use one variable in the new class, the statusCode, but all the code in
8093         the framework has been updated to use the statusCode from the response object.
8094
8095         Each of these methods was modified to call through to a WebResourceResponse to get 
8096         the status code.
8097
8098         * WebCoreSupport.subproj/WebSubresourceClient.m:
8099         (-[WebSubresourceClient handleDidFinishLoading:])
8100         * WebView.subproj/WebLoadProgress.m:
8101         (-[WebLoadProgress initWithResourceHandle:])
8102         * WebView.subproj/WebMainResourceClient.m:
8103         (-[WebMainResourceClient handleDidFinishLoading:])
8104
8105 2002-09-05  Richard Williamson (Local)  <rjw@apple.com>
8106         
8107         Only disable timed expiration of CG glyph cache if SPI is available.
8108         (per Bertrand's request)
8109         
8110         * WebCoreSupport.subproj/WebTextRendererFactory.m:
8111
8112 2002-09-05  John Sullivan  <sullivan@apple.com>
8113
8114         * Resources/url_icon.tiff: New generic icon from Steve Lemay.
8115         The @ sign lives, but does not spring.
8116
8117 2002-09-04  Darin Adler  <darin@apple.com>
8118
8119         One more pass of refinement on that last change.
8120
8121         * History.subproj/WebBackForwardList.m: (-[WebBackForwardList addEntry:]):
8122         Replace the last entry instead of just ignoring if this one matches.
8123
8124         * History.subproj/WebHistoryList.h: Add replaceEntryAtIndex. Remove addURL: and removeURL:.
8125
8126         * History.subproj/WebHistoryList.m:
8127         (-[WebHistoryList addEntry:]): Call removeEntry: rather than using an entire pasted copy here.
8128         (-[WebHistoryList removeEntry:]): Use a hash of the URL and the URL rather than relying on the
8129         fact that WebHistoryItem hashes and does isEqual based on the URL only.
8130         (-[WebHistoryList replaceEntryAtIndex:withEntry:]): Added. Used by the code above.
8131
8132 2002-09-04  Darin Adler  <darin@apple.com>
8133
8134         Fix bug where doing a reload adds an entry to the back/forward list.
8135
8136         * History.subproj/WebBackForwardList.m: (-[WebBackForwardList addEntry:]):
8137         If URL, target, and parent all match, then don't add an entry.
8138
8139         * WebKit.pbproj/project.pbxproj: Let Project Builder be the boss; I guess
8140         this means Chris is still using the old version.
8141
8142 2002-09-04  Chris Blumenberg  <cblu@apple.com>
8143
8144         - don't set nil data on the web file db
8145         - store absolute URLs in the db, not base URL/path combination URLs
8146         - support for multiple hosts with the same built-in icon
8147
8148         * Misc.subproj/WebIconDatabase.m:
8149         (-[WebIconDatabase init]): renamed some dictionaries
8150         (-[WebIconDatabase iconForSiteURL:withSize:]): call _builtInIconsForHost
8151         (-[WebIconDatabase _updateFileDatabase]): check for nil
8152         (-[WebIconDatabase _hasIconForSiteURL:]): call _pathForBuiltInIconForHost
8153         (-[WebIconDatabase _pathForBuiltInIconForHost:]): new
8154         (-[WebIconDatabase _builtInIconsForHost:]): call _pathForBuiltInIconForHost
8155         * Misc.subproj/WebIconDatabasePrivate.h:
8156         * WebView.subproj/WebDataSourcePrivate.m:
8157         (-[WebDataSource _loadIcon]): use absolute URL
8158
8159 2002-09-04  Chris Blumenberg  <cblu@apple.com>
8160
8161         Made the icon DB take a a path for built-in icons so that we only load them when necessary.
8162
8163         * Misc.subproj/WebIconDatabase.m:
8164         (-[WebIconDatabase init]):
8165         (-[WebIconDatabase iconForSiteURL:withSize:]):
8166         (-[WebIconDatabase _hasIconForSiteURL:]):
8167         (-[WebIconDatabase _builtInIconsForHost:]):
8168         (-[WebIconDatabase _setBuiltInIconAtPath:forHost:]):
8169         * Misc.subproj/WebIconDatabasePrivate.h:
8170         * WebKit.pbproj/project.pbxproj:
8171
8172 2002-09-04  Darin Adler  <darin@apple.com>
8173
8174         Fix unused variable warnings for deployment builds.
8175
8176         * Plugins.subproj/WebPluginView.m: Add ifndef NDEBUG around variable
8177         used only in log statements.
8178
8179 2002-09-04  Darin Adler  <darin@apple.com>
8180
8181         Removed the now-unnecessary iconURL from bookmarks and history.
8182
8183         * Bookmarks.subproj/WebBookmark.h:
8184         * Bookmarks.subproj/WebBookmark.m:
8185         * Bookmarks.subproj/WebBookmarkGroup.h:
8186         * Bookmarks.subproj/WebBookmarkGroup.m:
8187         * Bookmarks.subproj/WebBookmarkLeaf.h:
8188         * Bookmarks.subproj/WebBookmarkLeaf.m:
8189         * History.subproj/WebHistory.h:
8190         * History.subproj/WebHistory.m:
8191         * History.subproj/WebHistoryItem.h:
8192         * History.subproj/WebHistoryItem.m:
8193         * History.subproj/WebHistoryPrivate.h:
8194         * History.subproj/WebHistoryPrivate.m:
8195         Removed iconURL instance variables, methods, and parameters.
8196
8197 2002-09-04  Darin Adler  <darin@apple.com>
8198
8199         Did some minor plugin cleanup, mostly to make sure we don't
8200         change pages while a plugin is tracking.
8201
8202         * Plugins.subproj/WebPluginView.h: Add sendEvent and sendUpdateEvent.
8203         Remove the NPP_HandleEvent method.
8204         * Plugins.subproj/WebPluginView.m:
8205         (-[WebNetscapePluginView sendEvent:]): Sets up the "defersCallbacks"
8206         state, then sends the event.
8207
8208         * Plugins.subproj/WebNetscapePluginViewPrivate.h: Added.
8209         This stuff was shared in a different way before, and it
8210         hadn't even been renamed.
8211         * WebKit.pbproj/project.pbxproj: Added file.
8212         * Plugins.subproj/npapi.m: Use the new private header.
8213
8214         * Plugins.subproj/WebPluginNullEventSender.h: Hold a reference
8215         to the view.
8216         * Plugins.subproj/WebPluginNullEventSender.m:
8217         (-[WebNetscapePluginNullEventSender initWithPluginView:]):
8218         Retain the view.
8219         (-[WebNetscapePluginNullEventSender dealloc]): Release the view.
8220         (-[WebNetscapePluginNullEventSender sendNullEvents]): Use sendEvent:.
8221         (-[WebNetscapePluginNullEventSender stop]): No need for shouldStop.
8222
8223         * WebView.subproj/WebDataSourcePrivate.m:
8224         (-[WebDataSourcePrivate init]): Don't set contentPolicy to an enum value,
8225         when it's an object reference.
8226         (-[WebDataSourcePrivate dealloc]): Release contentPolicy to fix a leak.
8227
8228         * WebView.subproj/WebHTMLView.m:
8229         (-[WebHTMLView mouseDragged:]): Set draggedURL to nil in the else case,
8230         it was uninitialized before. Also center the icon better when dragging,
8231         but shouldn't we be dragging something more than the icon here?
8232
8233         * Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase defaultIconWithSize:]):
8234         Add a call to release. Doesn't really plug a leak, but cleaner this way.
8235
8236         * Plugins.subproj/WebPlugin.m: Tweaks.
8237         * WebView.subproj/WebMainResourceClient.m: Tweaks only.
8238
8239 2002-09-04  Ken Kocienda  <kocienda@apple.com>
8240
8241         Made more adjustments for API and behavior change that occurred in WebFoundation, 
8242         now that WebResourceHandle objects no buffer resource data as it is loaded. Where
8243         necessary, the WebKit objects now do their own buffering, however, in many cases,
8244         buffering is not necessary to maintain correct behavior.
8245
8246         * Misc.subproj/WebIconLoader.m:
8247         (-[WebIconLoaderPrivate dealloc]): Release new buffered resource data object.
8248         (-[WebIconLoader initWithURL:]): Allocate new buffered resource data object.
8249         (-[WebIconLoader handleDidFinishLoading:]): Modify API to remove data parameter.
8250         (-[WebIconLoader handleDidReceiveData:data:]): Buffer data as it is received.
8251         * Plugins.subproj/WebPluginStream.h: Added new buffered resource data object.
8252         * Plugins.subproj/WebPluginStream.m:
8253         (-[WebNetscapePluginStream initWithURL:pluginPointer:notifyData:attributes:]): Allocate new buffered resource data object.
8254         (-[WebNetscapePluginStream dealloc]): Release new buffered resource data object.
8255         (-[WebNetscapePluginStream receivedData:]): Buffer data as it is received (when necessary maintain correct behavior).
8256         (-[WebNetscapePluginStream handleDidFinishLoading:]): Modify API to remove data parameter.
8257         * WebCoreSupport.subproj/WebSubresourceClient.m:
8258         (-[WebSubresourceClient handleDidFinishLoading:]): Modify API to remove data parameter.
8259         * WebView.subproj/WebMainResourceClient.m:
8260         (-[WebMainResourceClient handleDidFinishLoading:]): Modify API to remove data parameter.
8261         (-[WebMainResourceClient handleDidReceiveData:data:]): Buffer data as it is received (when necessary maintain correct behavior).
8262
8263 2002-09-04  Chris Blumenberg  <cblu@apple.com>
8264
8265         Fixed: 3043024 - Built-in icons should match on *whatever.com or *whatever.whatever
8266         implemented wizzy scaling, but ifdef'd it out
8267
8268         * Misc.subproj/WebIconDatabase.m:
8269         (-[WebIconDatabase iconForSiteURL:withSize:]): call _builtItIconsForHost
8270         (-[WebIconDatabase _hasIconForSiteURL:]): call _builtItIconsForHost
8271         (-[WebIconDatabase _iconForFileURL:withSize:]): call _iconByScalingIcon:toSize:
8272         (-[WebIconDatabase _builtItIconsForHost:]): use better host matching
8273         (-[WebIconDatabase _cachedIconFromArray:withSize:]): call _iconByScalingIcon:toSize:
8274         (-[WebIconDatabase _iconByScalingIcon:toSize:]): renamed, ifdef'd out wizzy scaling
8275
8276 2002-09-04  Ken Kocienda  <kocienda@apple.com>
8277
8278         Changed WebKit so that it no longer relies on WebResourceHandle to buffer
8279         resource data as it is loaded. Instead, this buffering task has been moved
8280         out to the WebResourceClient, WebMainResourceClient in this case. This
8281         change is a "proof of concept" for the upcoming change where the API in
8282         WebFoundation for buffering resource data in WebResourceHandle will be
8283         removed altogether.
8284
8285         * WebView.subproj/WebDataSource.m:
8286         (-[WebDataSource data]): Changed to call WebMainResourceClient when resource data is needed.
8287         * WebView.subproj/WebMainResourceClient.h: Added mutable data ivar.
8288         * WebView.subproj/WebMainResourceClient.m:
8289         (-[WebMainResourceClient initWithDataSource:]): Added mutable data ivar.
8290         (-[WebMainResourceClient dealloc]): Release new mutable data ivar.
8291         (-[WebMainResourceClient resourceData]): Added accessor method.
8292         (-[WebMainResourceClient handleDidReceiveData:data:]): Append received data to the new mutable data object.
8293
8294 2002-09-03  John Sullivan  <sullivan@apple.com>
8295
8296         * Resources/url_icon.tiff: New image (still a placeholder)
8297         from HI. For the moment the default page icon is the legendary
8298         @-sign-on-a-spring. I've been promised a replacement by
8299         tomorrow sometime.
8300
8301 2002-09-03  John Sullivan  <sullivan@apple.com>
8302
8303         - removed small folder image used for bookmark lists; it is now
8304         up to clients to display an icon for bookmark lists.
8305
8306         * Bookmarks.subproj/WebBookmarkList.h: Removed _icon ivar
8307         * Bookmarks.subproj/WebBookmarkList.m:
8308         (-[WebBookmarkList dealloc]): Don't release _icon
8309         (-[WebBookmarkList icon]): just return nil
8310         * Resources/bookmark_folder.tiff: Removed.
8311         * WebKit.pbproj/project.pbxproj: Updated for removed file.
8312
8313 2002-09-03  Chris Blumenberg  <cblu@apple.com>
8314
8315         - Moved the default icon method to WebIconDatabase
8316         - Removed "icon URL" from the location change handler API
8317
8318         * History.subproj/WebHistoryItem.m:
8319         (-[WebHistoryItem icon]): don't worry about iconForSiteURL:withSize: returning nil
8320         * Misc.subproj/WebIconDatabase.h:
8321         * Misc.subproj/WebIconDatabase.m:
8322         (-[WebIconDatabase iconForSiteURL:withSize:]): return defaultIconWithSize if none found
8323         (-[WebIconDatabase defaultIconWithSize:]): added, loads, caches default icon
8324         (-[WebIconDatabase _hasIconForSiteURL:]): added, called by webdatasource to determine if icon is necessary
8325         * Misc.subproj/WebIconDatabasePrivate.h: added _hasIconForSiteURL
8326         * Misc.subproj/WebIconLoader.h: removed default icon method
8327         * Misc.subproj/WebIconLoader.m: removed default icon method
8328         * Resources/url_icon.tiff: resized to 32 x 32
8329         * WebKit.exp: export symbol for a dictionary key
8330         * WebKit.pbproj/project.pbxproj:
8331         * WebView.subproj/WebDataSourcePrivate.m: 
8332         (-[WebDataSource _loadIcon]): call _hasIconForSiteURL
8333         * WebView.subproj/WebHTMLView.m:
8334         (-[WebHTMLView mouseDragged:]): call defaultIconWithSize
8335         * WebView.subproj/WebLocationChangeHandler.h:
8336         * WebView.subproj/WebLocationChangeHandler.m:
8337         (-[WebLocationChangeHandler receivedPageIcon:forDataSource:]): renamed
8338
8339 2002-09-03  Ken Kocienda  <kocienda@apple.com>
8340
8341         Modify calls into WebFoundation to use the new WebResourceRequest class,
8342         and the modified API that kicks off load requests using WebResourceHandle. 
8343         More changes are planned for this code as the WebFoundation API modifications 
8344         progress.
8345
8346         * Misc.subproj/WebIconDatabase.m:
8347         (-[WebIconDatabase _iconForFileURL:withSize:])
8348         * Misc.subproj/WebIconLoader.m:
8349         (-[WebIconLoader startLoading])
8350         * Plugins.subproj/WebPluginStream.m:
8351         (-[WebNetscapePluginStream startLoad])
8352         * WebCoreSupport.subproj/WebBridge.m:
8353         (-[WebBridge objectLoadedFromCache:size:])
8354         * WebCoreSupport.subproj/WebSubresourceClient.m:
8355         (+[WebSubresourceClient startLoadingResource:withURL:dataSource:])
8356         * WebKit.pbproj/project.pbxproj:
8357         * WebView.subproj/WebControllerPrivate.m:
8358         (-[WebController _receivedError:forResourceHandle:partialProgress:fromDataSource:])
8359         * WebView.subproj/WebDataSourcePrivate.m:
8360         (-[WebDataSource _startLoading:])
8361
8362 2002-09-03  Darin Adler  <darin@apple.com>
8363
8364         Fix a reproducible crash pulling down the Go menu.
8365
8366         * Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase _iconForFileURL:withSize:]):
8367         Add a missing retain.
8368
8369         * WebKit.pbproj/project.pbxproj: Project Builder wants what it wants.
8370
8371 2002-09-02  Chris Blumenberg  <cblu@apple.com>
8372
8373         Icon DB.
8374
8375         * History.subproj/WebHistoryItem.m:
8376         (-[WebHistoryItem _retainIconInDatabase:]): calls retainIconForSiteURL: or releaseIconForSiteURL:
8377         (-[WebHistoryItem initWithURL:target:parent:title:]): call _retainIconInDatabase:
8378         (-[WebHistoryItem dealloc]): call _retainIconInDatabase:
8379         (-[WebHistoryItem icon]): call iconForSiteURL:withSize:
8380         (-[WebHistoryItem setURL:]): call _retainIconInDatabase:
8381         (-[WebHistoryItem initFromDictionaryRepresentation:]): call _retainIconInDatabase:
8382         * Misc.subproj/WebIconDatabase.h: Added.
8383         * Misc.subproj/WebIconDatabase.m: Added.
8384         (+[WebIconDatabase sharedIconDatabase]):
8385         (-[WebIconDatabase init]):
8386         (-[WebIconDatabase iconForSiteURL:withSize:]):
8387         (-[WebIconDatabase setIcon:forSiteURL:]):
8388         (-[WebIconDatabase setIcon:forHost:]):
8389         (-[WebIconDatabase retainIconForSiteURL:]):
8390         (-[WebIconDatabase releaseIconForSiteURL:]):
8391         (-[WebIconDatabase delayDatabaseCleanup]):
8392         (-[WebIconDatabase allowDatabaseCleanup]):
8393         (-[WebIconDatabase applicationWillTerminate:]):
8394         (-[WebIconDatabase _createFileDatabase]):
8395         (-[WebIconDatabase _loadIconDictionaries]):
8396         (-[WebIconDatabase _updateFileDatabase]):
8397         (-[WebIconDatabase _iconForIconURL:]):
8398         (-[WebIconDatabase _iconsForIconURL:]):
8399         (-[WebIconDatabase _iconForFileURL:withSize:]):
8400         (-[WebIconDatabase _setIcon:forIconURL:]):
8401         (-[WebIconDatabase _setIconURL:forSiteURL:]):
8402         (-[WebIconDatabase _setBuiltInIcon:forHost:]):
8403         (-[WebIconDatabase _retainIconForIconURL:]):
8404         (-[WebIconDatabase _releaseIconForIconURL:]):
8405         (-[WebIconDatabase _retainFutureIconForSiteURL:]):
8406         (-[WebIconDatabase _releaseFutureIconForSiteURL:]):
8407         (-[WebIconDatabase _retainOriginalIconsOnDisk]):
8408         (-[WebIconDatabase _releaseOriginalIconsOnDisk]):
8409         (-[WebIconDatabase _sendNotificationForSiteURL:]):
8410         (-[WebIconDatabase _addObject:toSetForKey:inDictionary:]):
8411         (-[WebIconDatabase _uniqueIconURL]):
8412         (-[WebIconDatabase _cachedIconFromArray:withSize:]):
8413         (-[WebIconDatabase _scaleIcon:toSize:]):
8414         * Misc.subproj/WebIconDatabasePrivate.h: Added.
8415         * Misc.subproj/WebIconLoader.h:
8416         * Misc.subproj/WebIconLoader.m:
8417         (+[WebIconLoader iconForFileAtPath:]):
8418         (-[WebIconLoader startLoading]):
8419         (-[WebIconLoader handleDidFinishLoading:data:]):
8420         * WebKit.exp:
8421         * WebKit.pbproj/project.pbxproj:
8422         * WebView.subproj/WebDataSourcePrivate.m:
8423         (-[WebDataSource _loadIcon]):
8424
8425 2002-08-30  Ken Kocienda  <kocienda@apple.com>
8426
8427         Removed one last reference to the now-removed WebDefaultMIMEType symbol.
8428         I missed it earlier.
8429
8430         * WebView.subproj/WebMainResourceClient.m:
8431         (-[WebMainResourceClient handleDidReceiveData:data:])
8432
8433 2002-08-30  Ken Kocienda  <kocienda@apple.com>
8434
8435         Failed to remove debugging spam before my last checkin. Sorry.
8436
8437         * WebKit.pbproj/project.pbxproj:
8438         * WebView.subproj/WebControllerPrivate.m:
8439         (+[WebController _MIMETypeForFile:])
8440
8441 2002-08-30  Ken Kocienda  <kocienda@apple.com>
8442
8443         * WebView.subproj/WebControllerPrivate.m:
8444         (+[WebController _MIMETypeForFile:]): Small tweak to account for change
8445         in behavior of a WebFoundation method upon which this method depends.
8446         The WebFoundation now returns nil when it cannot find a suitable mime
8447         type rather than returning a default. This function now checks for a nil
8448         return value and sets @"application/octet-stream" in that case.
8449
8450 2002-08-30  Richard Williamson (Home)  <rjw@apple.com>
8451
8452         Change link dragging behavior.  Drags URL, not URL contents.
8453         Still need to generate better image for dragging, will copy OmniWeb
8454         and drag link text.
8455         
8456         * WebView.subproj/WebHTMLView.m:
8457         (-[WebHTMLView mouseDragged:]):
8458
8459 2002-08-30  Darin Adler  <darin@apple.com>
8460
8461         * WebKit.pbproj/project.pbxproj: Allowed the new Project Builder to put in
8462         encodings for each file.
8463
8464 === Alexander-21 ===
8465
8466 2002-08-28  Darin Adler  <darin@apple.com>
8467
8468         - fixed 3036440 -- Crash running PLT with "Check for 'world leaks'" enabled
8469
8470         * WebView.subproj/WebDataSourcePrivate.h: Add defersCallbacks boolean.
8471         * WebView.subproj/WebDataSourcePrivate.m:
8472         (-[WebDataSource _setController:]): Don't try to look at the controller before,
8473         it might already be deallocated.
8474         (-[WebDataSource _defersCallbacksChanged]): Use a boolean to record whether the
8475         "defers callbacks" state changed since last time and do no work if it didn't.
8476         This replaces the check in _setController:.
8477
8478 2002-08-28  Richard Williamson (Local)  <rjw@apple.com>
8479
8480         Tell CG to not use time expiration of glyph cache and increase it's
8481         size.
8482         
8483         THIS CHANGE REQUIRES THAT YOU INSTALL THE CG ROOT.
8484         
8485         * WebCoreSupport.subproj/WebTextRendererFactory.m:
8486
8487 2002-08-28  Richard Williamson (Home)  <rjw@apple.com>
8488
8489         Fixed selection horkage I introduced with drag
8490         fix yesterday.
8491         
8492         * WebView.subproj/WebHTMLView.m:
8493         (-[WebHTMLView mouseDragged:]):
8494
8495 2002-08-27  Richard Williamson (Local)  <rjw@apple.com>
8496
8497         * WebView.subproj/WebHTMLView.m:
8498         (-[WebHTMLView mouseDown:]):
8499         (-[WebHTMLView mouseDragged:]):
8500         (-[WebHTMLView mouseMovedNotification:]):
8501         * WebView.subproj/WebHTMLViewPrivate.h:
8502         * WebView.subproj/WebHTMLViewPrivate.m:
8503
8504         Fixed active link style.  Cleaned up and fixed drag initiation
8505         for links and images.  Dotted lines not drawing correcly, but
8506         other styles are applied correctly.
8507         
8508         * WebKit.exp:
8509         * History.subproj/WebHistory.h:
8510         * History.subproj/WebHistory.m:
8511         
8512         Added some constants.
8513
8514         * WebCoreSupport.subproj/WebTextRendererFactory.m:
8515
8516         Code to change CG caching policy.  Not enabled until
8517         we receive a root from CG team.
8518         
8519 2002-08-27  Darin Adler  <darin@apple.com>
8520
8521         - fixed 3031583 -- directory.apple.com now gives "unsupported" redirect
8522
8523         * WebView.subproj/WebDataSource.m: (-[WebDataSource initWithURL:attributes:flags:]):
8524         Don't create the resource handle here. It's a bit too early.
8525         * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _startLoading:]):
8526         Create the resource handle here, now that we have a controller to get a user agent from.
8527
8528         * WebView.subproj/WebMainResourceClient.m:
8529         (-[WebMainResourceClient handleWillUseUserAgent:forURL:]): Add an assert that will catch
8530         any future problems of this kind.
8531
8532         * WebCoreSupport.subproj/WebBridge.m:
8533         (-[WebBridge defersLoading]): Added. New call for use in WebCore.
8534         (-[WebBridge setDefersLoading:]): Added. New call for use in WebCore.
8535
8536 2002-08-26  Darin Adler  <darin@apple.com>
8537
8538         Add machinery for deferring callbacks. Not used yet.
8539
8540         * WebView.subproj/WebControllerPrivate.h: Add methods.
8541         * WebView.subproj/WebControllerPrivate.m:
8542         (-[WebController _defersCallbacks]): Returns old state.
8543         (-[WebController _setDefersCallbacks:]): Changes state and calls _defersCallbacksChanged
8544         on the main frame.
8545
8546         * WebView.subproj/WebFramePrivate.h: Add _defersCallbacksChanged.
8547         * WebView.subproj/WebFramePrivate.m: (-[WebFrame _defersCallbacksChanged]):
8548         Calls _defersCallbacksChanged on both data sources.
8549
8550         * WebView.subproj/WebDataSourcePrivate.h: Add _defersCallbacksChanged.
8551         * WebView.subproj/WebDataSourcePrivate.m:
8552         (-[WebDataSource _setController:]): Call _defersCallbacksChanged if changing the controller
8553         changes the state.
8554         (-[WebDataSource _addResourceHandle:]): Call setDefersCallbacks:YES on the new handle if
8555         we are already attached to a controller that defers callbacks.
8556         (-[WebDataSource _defersCallbacksChanged]): Call setDefersCallbacks on all the handles, and
8557         call _defersCallbacksChanged on the child frames as well.
8558
8559         * WebView.subproj/WebDataSource.m: (-[WebDataSource controller]):
8560         We need to know about all controller changes, so it's unacceptable to consult our
8561         parent about the controller. But we already do know about it and this code was unnecessary.
8562         Leave the old code around as an assert only.
8563
8564 2002-08-26  Richard Williamson  <rjw@apple.com>
8565
8566         * History.subproj/WebHistory.h:
8567         * History.subproj/WebHistory.m:
8568         (+[WebHistory webHistoryWithFile:]):
8569         Stage 1, set the shared history instance.  This'll move to
8570         WebKit soon.
8571         
8572         * WebView.subproj/WebView.m:
8573         (-[WebView setFrame:]):
8574         Only force display if in live resize.
8575
8576 2002-08-26  John Sullivan  <sullivan@apple.com>
8577         
8578         - fixed bug where dragging a separator in the Bookmarks window
8579         would hit an assertion.
8580
8581         * Bookmarks.subproj/WebBookmarkSeparator.m:
8582         (-[WebBookmarkSeparator initWithGroup:]): Removed obsolete
8583         assertion that group is not nil.
8584         * Bookmarks.subproj/WebBookmarkLeaf.m:
8585         (-[WebBookmarkLeaf initWithTitle:group:]):
8586         Removed a similar obsolete assertion here.
8587         * Bookmarks.subproj/WebBookmarkList.m:
8588         (-[WebBookmarkList initWithTitle:group:]):
8589         Removed a similar obsolete assertion here.
8590
8591 2002-08-23  Darin Adler  <darin@apple.com>
8592
8593         * WebView.subproj/WebFrame.m: (-[WebFrame reset]): Remove unneeded call to _reset.
8594
8595         * WebView.subproj/WebFramePrivate.m: (-[WebFrame _setDataSource:]): Add code that
8596         removes the KHTML stuff from the frame when switching to another type of view.
8597         It would be better to do this at some other level, but without this code, we end
8598         up leaving the entire KHTMLView behind when we switch to a non-HTML page.
8599
8600 2002-08-22  Richard Williamson  <rjw@apple.com>
8601
8602         Changed public string from #define to extern NSString.
8603         
8604         * WebKit.exp:
8605         * WebView.subproj/WebController.h:
8606         * WebView.subproj/WebController.m:
8607         * WebView.subproj/WebDefaultContextMenuHandler.m:
8608         (-[WebDefaultContextMenuHandler contextMenuItemsForElement:defaultMenuItems:]):
8609         (-[WebDefaultContextMenuHandler openNewWindowWithURL:]):
8610         (-[WebDefaultContextMenuHandler downloadURL:]):
8611         (-[WebDefaultContextMenuHandler openLinkInNewWindow:]):
8612         (-[WebDefaultContextMenuHandler downloadLinkToDisk:]):
8613         (-[WebDefaultContextMenuHandler copyLinkToClipboard:]):
8614         (-[WebDefaultContextMenuHandler openImageInNewWindow:]):
8615         (-[WebDefaultContextMenuHandler downloadImageToDisk:]):
8616         (-[WebDefaultContextMenuHandler copyImageToClipboard:]):
8617         (-[WebDefaultContextMenuHandler openFrameInNewWindow:]):
8618         * WebView.subproj/WebHTMLViewPrivate.m:
8619         (-[WebHTMLView _elementAtPoint:]):
8620         (-[WebHTMLView _continueAfterCheckingDragForEvent:]):
8621
8622 2002-08-22  Ken Kocienda  <kocienda@apple.com>
8623
8624         Passing the main load's attributes to the subresource loads causes 
8625         breakage (most visible when we POST).
8626         
8627         Right now, we just rely on flags to handle "back/forward" loads, so
8628         the attributes were not actually being used.
8629
8630         A better fix needs to be put in place when the soon-to-be-done 
8631         attributes/flags rework is done.
8632
8633         * WebCoreSupport.subproj/WebSubresourceClient.m:
8634         (+[WebSubresourceClient startLoadingResource:withURL:dataSource:]):
8635
8636 === Alexander-20 ===
8637
8638 2002-08-21  Richard Williamson  <rjw@apple.com>
8639
8640         Simple name change.  Plugin -> NetscapePlugin in anticipation
8641         of other plugin related API.
8642         
8643         Removed vestigal WebDocumentLoading.
8644         
8645         * Plugins.subproj/WebPlugin.h:
8646         * Plugins.subproj/WebPlugin.m:
8647         (-[WebNetscapePlugin load]):
8648         * Plugins.subproj/WebPluginDatabase.h:
8649         * Plugins.subproj/WebPluginDatabase.m:
8650         (+[WebNetscapePluginDatabase installedPlugins]):
8651         (-[WebNetscapePluginDatabase pluginForMimeType:]):
8652         (-[WebNetscapePluginDatabase pluginForExtension:]):
8653         (-[WebNetscapePluginDatabase pluginWithFilename:]):
8654         (-[WebNetscapePluginDatabase MIMETypes]):
8655         (-[WebNetscapePluginDatabase init]):
8656         * Plugins.subproj/WebPluginNullEventSender.h:
8657         * Plugins.subproj/WebPluginNullEventSender.m:
8658         (-[WebNetscapePluginNullEventSender initWithPluginView:]):
8659         (-[WebNetscapePluginNullEventSender sendNullEvents]):
8660         * Plugins.subproj/WebPluginStream.h:
8661         * Plugins.subproj/WebPluginStream.m:
8662         (-[WebNetscapePluginStream getFunctionPointersFromPluginView:]):
8663         (-[WebNetscapePluginStream initWithURL:pluginPointer:notifyData:attributes:]):
8664         * Plugins.subproj/WebPluginView.h:
8665         * Plugins.subproj/WebPluginView.m:
8666         (-[WebNetscapePluginView initWithFrame:plugin:URL:baseURL:mime:arguments:]):
8667         (-[WebNetscapePluginView start]):
8668         (-[WebNetscapePluginView provisionalDataSourceChanged:]):
8669         (-[WebNetscapePluginView loadURL:inTarget:withNotifyData:andHandleAttributes:]):
8670         (-[WebNetscapePluginView destroyStream:reason:]):
8671         * WebCoreSupport.subproj/WebViewFactory.m:
8672         (-[WebViewFactory viewForPluginWithURL:serviceType:arguments:baseURL:]):
8673         (-[WebViewFactory pluginsInfo]):
8674         (-[WebViewFactory viewForJavaAppletWithFrame:baseURL:parameters:]):
8675         * WebView.subproj/WebController.h:
8676         * WebView.subproj/WebController.m:
8677         (+[WebController canShowMIMEType:]):
8678         * WebView.subproj/WebDocument.h:
8679         * WebView.subproj/WebFramePrivate.h:
8680         * WebView.subproj/WebHTMLView.m:
8681         (-[WebHTMLView provisionalDataSourceChanged:]):
8682         (-[WebHTMLView provisionalDataSourceCommitted:]):
8683         (-[WebHTMLView dataSourceUpdated:]):
8684         * WebView.subproj/WebHTMLViewPrivate.m:
8685         (-[NSView _web_stopIfPluginView]):
8686         * WebView.subproj/WebImageView.h:
8687         * WebView.subproj/WebTextView.h:
8688         * WebView.subproj/WebView.h:
8689         * WebView.subproj/WebViewPrivate.h:
8690         * WebView.subproj/WebViewPrivate.m:
8691         (-[WebView _makeDocumentViewForDataSource:]):
8692
8693         Still need to muck with cvs server to change file names.
8694         
8695 2002-08-20  David Hyatt  <hyatt@apple.com>
8696
8697         Raising the layout delay from 0.75 to 1.00.  This should be
8698         a little more conservative and matches the value used by Gecko.
8699         
8700         * WebView.subproj/WebPreferences.m:
8701         (+[WebPreferences load]):
8702
8703 2002-08-20  David Hyatt  <hyatt@apple.com>
8704
8705         Lower the paint/layout delay from 1.85 to 0.75, since we've
8706         gotten a lot faster.
8707         
8708         * WebView.subproj/WebPreferences.m:
8709         (+[WebPreferences load]):
8710
8711 2002-08-20  John Sullivan  <sullivan@apple.com>
8712
8713         * WebView.subproj/WebMainResourceClient.m:
8714         (-[WebMainResourceClient handleDidReceiveData:data:]):
8715         Fixed uninitialized variable that Maciej's deployment build found.
8716
8717 2002-08-20  John Sullivan  <sullivan@apple.com>
8718
8719         Fixed problem with previous checkin that was causing
8720         drag-and-drop for files to fail (at least).
8721
8722         * WebView.subproj/WebFramePrivate.m:
8723         (-[WebFrame _shouldShowURL:]): pass isDirectory, not YES,
8724         to fileURLPolicyForMIMEType:inFrame:isDirectory:
8725
8726 2002-08-20  John Sullivan  <sullivan@apple.com>
8727
8728         WebKit part of fixes for:
8729         - 3027491 -- failure loading frame's resource leads to misbehaving panel
8730         - 3027494 -- failure loading frame's resource leads to error message in Alex, silence in IE
8731         - 3027697 -- alert box for missing file covered by browser window; should be a sheet
8732         - 3014123 -- error sheet when iframe has URL with bad path
8733
8734         Cleaned up the WebPolicy APIs to pass frames and URLs consistently. Also cleaned
8735         up _shouldShowURL: (formerly _shouldShowDataSource:) method quite a bit.
8736
8737         * WebView.subproj/WebControllerPolicyHandler.h:
8738         * WebView.subproj/WebDefaultContextMenuHandler.m:
8739         (-[WebDefaultContextMenuHandler downloadURL:]):
8740         * WebView.subproj/WebDefaultPolicyHandler.m:
8741         (-[WebDefaultPolicyHandler URLPolicyForURL:inFrame:]):
8742         (-[WebDefaultPolicyHandler fileURLPolicyForMIMEType:inFrame:isDirectory:]):
8743         (-[WebDefaultPolicyHandler unableToImplementPolicy:error:forURL:inFrame:]):
8744         * WebView.subproj/WebFrame.m:
8745         (-[WebFrame setProvisionalDataSource:]):
8746         * WebView.subproj/WebMainResourceClient.m:
8747         (-[WebMainResourceClient handleDidReceiveData:data:]):
8748         Made various Policy-related methods pass the frame and when necessary the
8749         URL instead of the dataSource (or not even that in some broken cases).
8750         Collapsed the three unableToImplementXXXPolicy: methods into one.
8751
8752         * WebView.subproj/WebFramePrivate.h: Change _shouldShowDataSource: to
8753         _shouldShowURL:
8754         * WebView.subproj/WebFramePrivate.m:
8755         (-[WebFrame handleUnimplementablePolicy:errorCode:forURL:]): New helper method.
8756         (-[WebFrame _shouldShowURL:]): use case statements instead of nested ifs;
8757         use handleUnimplementablePolicy: to reduce duplicated code; update for API
8758         changes; eliminate non-useful local variables.
8759
8760 2002-08-20  Darin Adler  <darin@apple.com>
8761
8762         - fixed 3023076 -- Strange font chosen, widths screwed up, when text includes 007F characters
8763
8764         * WebCoreSupport.subproj/WebTextRenderer.m:
8765         (-[WebTextRenderer convertCharacters:length:toGlyphs:skipControlCharacters:]):
8766         (-[WebTextRenderer _drawCharacters:length:fromCharacterPosition:toCharacterPosition:atPoint:withTextColor:backgroundColor:]):
8767         (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:applyRounding:attemptFontSubstitution:]):
8768         Treat 007F as a control character, skipping it just as we do other control characters.
8769
8770 2002-08-20  Darin Adler  <darin@apple.com>
8771
8772         * WebView.subproj/WebController.m:
8773         (-[WebController setApplicationNameForUserAgent:]):
8774         Lock in here, in anticipation of actually using the name in the
8775         user agent string.
8776
8777 2002-08-20  Darin Adler  <darin@apple.com>
8778
8779         WebKit part of support for tabbing into and out of the toolbar.
8780
8781         * WebCoreSupport.subproj/WebBridge.m:
8782         (-[WebBridge nextKeyViewOutsideWebViews]): Ask the main WebView for its
8783         nextKeyView on behalf of WebCore.
8784         (-[WebBridge previousKeyViewOutsideWebViews]): Ask the main WebView for its
8785         previousKeyView on behalf of WebCore.
8786
8787         * WebView.subproj/WebHTMLView.m: (-[WebHTMLView becomeFirstResponder]):
8788         When we are being tabbed-into, make the first or last view in the bridge
8789         first responder, instead of taking it ourselves.
8790
8791         * WebView.subproj/WebView.m: (-[WebView becomeFirstResponder]):
8792         Always make the document view the first responder instead of taking it
8793         ourselves.
8794
8795 2002-08-19  Chris Blumenberg  <cblu@apple.com>
8796
8797         Fixed 3025019: "only-if-cached" attribute fetches data from network if cached but expired
8798
8799         * Misc.subproj/WebIconLoader.m:
8800         (-[WebIconLoader iconFromCache]):
8801
8802 2002-08-19  Darin Adler  <darin@apple.com>
8803
8804         - fixed 2863025 -- Need to implement TABing between widgets in forms
8805
8806         Implemented tabbing into a web view's fields. I now consider the task of
8807         tabbing between widgets done. But there are many loose ends, each with its
8808         own bug report.
8809
8810         * WebView.subproj/WebHTMLView.m:
8811         (-[WebHTMLView dealloc]): Set _private to nil so we can properly handle calls
8812         that come from NSView dealloc.
8813         (-[WebHTMLView provisionalDataSourceChanged:]): No need to pass width and height
8814         to createKHTMLViewWithNSView any more. Also, just pass self rather than making
8815         the roung trip to the WebFrame and the WebView back here.
8816         (-[WebHTMLView nextKeyView]): Added. Calls the bridge version when we are called
8817         from nextValidKeyView, the normal version the rest of the time.
8818         (-[WebHTMLView previousKeyView]): Added. Calls the bridge version when we are called
8819         from nextValidKeyView, the normal version the rest of the time.
8820         (-[WebHTMLView nextValidKeyView]): Set inNextValidKeyView and call super.
8821         (-[WebHTMLView previousValidKeyView]): Set inNextValidKeyView and call super.
8822         * WebView.subproj/WebHTMLViewPrivate.h: Add inNextValidKeyView flag.
8823
8824 2002-08-18  Darin Adler  <darin@apple.com>
8825
8826         Update WebResourceClient instances for new API, including adding
8827         the handleWillUseUserAgent:forURL: method.
8828
8829         * Misc.subproj/WebIconLoader.m:
8830         * Plugins.subproj/WebPluginStream.m:
8831         * WebCoreSupport.subproj/WebSubresourceClient.m:
8832         * WebView.subproj/WebMainResourceClient.m:
8833         These were all the clients that needed updating.
8834
8835         * WebView.subproj/WebController.m:
8836         (-[WebController setUserAgent:]): Lock so that we can set the user agent
8837         even though another thread could be calling userAgentForURL:.
8838         (-[WebController userAgentForURL:]): Ditto.
8839
8840         * WebView.subproj/WebControllerPrivate.h: Add lock.
8841         * WebView.subproj/WebControllerPrivate.m:
8842         (-[WebControllerPrivate init]): Create lock.
8843         (-[WebControllerPrivate dealloc]): Release lock.
8844
8845         * WebView.subproj/WebDataSourcePrivate.m:
8846         (-[WebDataSource _stopLoading]): Improve comment.
8847
8848 2002-08-18  Darin Adler  <darin@apple.com>
8849
8850         * Misc.subproj/WebIconLoader.m:
8851         (-[WebIconLoader iconFromCache]):
8852         (-[WebIconLoader WebResourceHandleDidFinishLoading:data:]):
8853         Don't process each icon twice. We need to have the loader as a client even for the
8854         synchronous case because of the user agent issue, but that causes double work.
8855
8856 2002-08-16  Darin Adler  <darin@apple.com>
8857
8858         Step 3 in adding user agent API to WebKit and WebFoundation.
8859         Add the calls to WebKit to configure the user-agent string.
8860         Change WebCore to get the user-agent from WebKit via the bridge.
8861
8862         * WebCoreSupport.subproj/WebBridge.m:
8863         (-[WebBridge userAgentForURL:]): Added. Calls [WebController userAgentForURL:].
8864
8865         * WebView.subproj/WebController.h: Add three new methods.
8866         * WebView.subproj/WebController.m:
8867         (-[WebController setApplicationNameForUserAgent:]): Store an application name that
8868         will be used to build up the user-agent string.
8869         (-[WebController setUserAgent:]): Set an override user agent; mainly useful for
8870         testing user-agent strings different from the one WebKit supplies.
8871         (-[WebController userAgentForURL:]): Public API for getting the user agent string
8872         that the WebController will use for a particular URL.
8873
8874         * WebView.subproj/WebControllerPrivate.h: Add fields for the user-agent parameters.
8875         * WebView.subproj/WebControllerPrivate.m:
8876         (-[WebControllerPrivate dealloc]): Release both strings when the controller goes away.
8877
8878 2002-08-16  Darin Adler  <darin@apple.com>
8879
8880         Missed one call to [WebResourceHandle initWithURL:].
8881         * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge objectLoadedFromCache:size:]):
8882         Change to call [WebResourceHandle initWithClient:URL:] with nil for the client.
8883
8884 2002-08-16  Darin Adler  <darin@apple.com>
8885
8886         Oops. Forgot to save in Project Builder before committing.
8887
8888         * Plugins.subproj/WebPluginStream.m:
8889         * WebView.subproj/WebDataSource.m:
8890         * WebView.subproj/WebDataSourcePrivate.h:
8891         * WebView.subproj/WebDataSourcePrivate.m:
8892
8893 2002-08-16  Darin Adler  <darin@apple.com>
8894
8895         Update for change to the WebResourceHandle API where the client is
8896         passed in at init time.
8897
8898         * Misc.subproj/WebIconLoader.m:
8899         (-[WebIconLoader iconFromCache]): Pass self as client when creating handle for
8900         foreground "only if cached" load. Also don't put the handle into the class's
8901         data structure in this case.
8902         (-[WebIconLoader startLoading]): Pass self as client when creating handle
8903         instead of making a separate addClient call. Also fix potential leak if this
8904         is called when we are already loading.
8905         (-[WebIconLoader stopLoading]): Release the handle and nil it out right here.
8906         * Plugins.subproj/WebPluginStream.m:
8907         (-[WebPluginStream startLoad]): Pass client when creating handle rather than
8908         doing an addClient afterward.
8909         (-[WebPluginStream stop]): Don't do a removeClient.
8910         * WebCoreSupport.subproj/WebSubresourceClient.m:
8911         (+[WebSubresourceClient startLoadingResource:withURL:dataSource:]):
8912         * WebView.subproj/WebDataSource.m:
8913         (-[WebDataSource initWithURL:attributes:flags:]): Pass client when creating handle.
8914         * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _startLoading:]):
8915         Since client is not created in init, don't bother creating it here.
8916
8917 2002-08-16  John Sullivan  <sullivan@apple.com>
8918
8919         Split searchability out from WebTextView so it could be used
8920         elsewhere (specifically, in DOM window).
8921
8922         * Misc.subproj/WebSearchableTextView.h: Added.
8923         * Misc.subproj/WebSearchableTextView.m: Added.
8924         (-[WebSearchableTextView searchFor:direction:caseSensitive:]):
8925         (-[NSString findString:selectedRange:options:wrap:]):
8926         New class, split out from WebTextView, which now inherits from it.
8927
8928         * WebView.subproj/WebTextView.h:
8929         * WebView.subproj/WebTextView.m:
8930         Took out the searching stuff and put it in WebSearchableTextView;
8931         made WebTextView inherit from WebSearchableTextView.
8932
8933         * WebKit.pbproj/project.pbxproj: Added new files, made
8934         WebSearchableTextView.h be Private.
8935
8936 2002-08-16  John Sullivan  <sullivan@apple.com>
8937
8938         - fixed 3025394 -- Bookmarks & History items do not remember their icons
8939         across launches
8940         - fixed 3025421 -- Dragging from location field proxy icon to favorites bar 
8941         loses page icon
8942         - part of fix for 3026279 -- Bookmarks should lose their favIcons when the
8943         URL is edited
8944
8945         * Bookmarks.subproj/WebBookmarkLeaf.m:
8946         (-[WebBookmarkLeaf initFromDictionaryRepresentation:withGroup:]):
8947         (-[WebBookmarkLeaf dictionaryRepresentation]):
8948         Removed the #ifdeffed-out code for storing iconURL in dictionary; this was
8949         unnecessary because it is also done by the lower-level WebHistoryItem.
8950
8951         * History.subproj/WebHistoryItem.m:
8952         (-[WebHistoryItem _setIcon:]): New method, extracted from -icon for clarity.
8953         (-[WebHistoryItem icon]): Fixed problem where once an icon was set it would
8954         never be changed, even if the iconURL is changed. Also, use _setIcon for
8955         clarity and to fix retainCount bugs.
8956         (-[WebHistoryItem dictionaryRepresentation]):
8957         Removed the #ifdef around the line that stores the URL in the dictionary.
8958         Gramps decided that this architecture is OK after all.
8959
8960 2002-08-16  Darin Adler  <darin@apple.com>
8961
8962         Fixed broken build.
8963
8964         * Misc.subproj/WebTestController.m: Added empty placeholder methods.
8965
8966 2002-08-15  John Sullivan  <sullivan@apple.com>
8967
8968         - fixed 3025770 -- "New Bookmark" button hits assertion and crashes
8969
8970         * Bookmarks.subproj/WebBookmarkLeaf.m:
8971         (-[WebBookmarkLeaf setURLString:]): Instead of asserting that parameter
8972         is not nil, handle the nil case by converting to empty string. This was
8973         another regression from yesterday's favIcon changes.
8974
8975 === Alexander-19 ===
8976
8977 2002-08-15  John Sullivan  <sullivan@apple.com>
8978
8979         Disabled support for storing favIcon URLs in bookmarks; Gramps realized
8980         this is an architecture problem that needs a better solution, and he
8981         didn't want to ship Alex-18 with this problem.
8982
8983         * Bookmarks.subproj/WebBookmarkLeaf.m:
8984         (-[WebBookmarkLeaf dictionaryRepresentation]):
8985         * History.subproj/WebHistoryItem.m:
8986         (-[WebHistoryItem dictionaryRepresentation]):
8987         Commented out the code that added the iconURLString in the dictionary used
8988         for writing out file. This dictionary is also used on the pasteboard, so this
8989         change causes the favIcon not to be remembered when you drag from proxy icon
8990         to favorites bar.
8991
8992 === Alexander-18 ===
8993
8994 2002-08-14  Chris Blumenberg  <cblu@apple.com>
8995
8996         Support for showing favicons in bookmarks and history.
8997
8998         Renamed "image" to "icon" in all places.
8999
9000         Made history and bookmarks take and save an icon URL
9001
9002         * Bookmarks.subproj/WebBookmark.h:
9003         * Bookmarks.subproj/WebBookmark.m:
9004         (-[WebBookmark icon]):
9005         (-[WebBookmark iconURL]):
9006         (-[WebBookmark setIconURL:]):
9007         * Bookmarks.subproj/WebBookmarkGroup.h:
9008         * Bookmarks.subproj/WebBookmarkGroup.m:
9009         (-[WebBookmarkGroup _setTopBookmark:]):
9010         (-[WebBookmarkGroup addNewBookmarkToBookmark:withTitle:iconURL:URLString:type:]):
9011         (-[WebBookmarkGroup insertNewBookmarkAtIndex:ofBookmark:withTitle:iconURL:URLString:type:]):
9012         * Bookmarks.subproj/WebBookmarkLeaf.h:
9013         * Bookmarks.subproj/WebBookmarkLeaf.m:
9014         (-[WebBookmarkLeaf initFromDictionaryRepresentation:withGroup:]):
9015         (-[WebBookmarkLeaf dictionaryRepresentation]):
9016         (-[WebBookmarkLeaf copyWithZone:]):
9017         (-[WebBookmarkLeaf icon]):
9018         (-[WebBookmarkLeaf iconURL]):
9019         (-[WebBookmarkLeaf setIconURL:]):
9020         (-[WebBookmarkLeaf setURLString:]):
9021         * Bookmarks.subproj/WebBookmarkList.h:
9022         * Bookmarks.subproj/WebBookmarkList.m:
9023         (-[WebBookmarkList initWithTitle:group:]):
9024         (-[WebBookmarkList dealloc]):
9025         (-[WebBookmarkList copyWithZone:]):
9026         (-[WebBookmarkList icon]):
9027         * Bookmarks.subproj/WebBookmarkSeparator.m:
9028         (-[WebBookmarkSeparator icon]):
9029         * History.subproj/WebHistory.h:
9030         * History.subproj/WebHistory.m:
9031         (-[WebHistory updateURL:title:displayTitle:iconURL:forURL:]):
9032         * History.subproj/WebHistoryItem.h:
9033         * History.subproj/WebHistoryItem.m:
9034         (-[WebHistoryItem init]):
9035         (-[WebHistoryItem initWithURL:title:]):
9036         (-[WebHistoryItem initWithURL:target:parent:title:]):
9037         (-[WebHistoryItem dealloc]):
9038         (-[WebHistoryItem iconURL]):
9039         (-[WebHistoryItem icon]):
9040         (-[WebHistoryItem setIconURL:]):
9041         (-[WebHistoryItem dictionaryRepresentation]):
9042         (-[WebHistoryItem initFromDictionaryRepresentation:]):
9043         * History.subproj/WebHistoryPrivate.h:
9044         * History.subproj/WebHistoryPrivate.m:
9045         (-[WebHistoryPrivate updateURL:title:displayTitle:iconURL:forURL:]):
9046         * Misc.subproj/WebIconLoader.h:
9047         * Misc.subproj/WebIconLoader.m:
9048         (+[WebIconLoader iconLoaderWithURL:]):
9049         (-[WebIconLoader initWithURL:]):
9050         (-[WebIconLoader URL]):
9051         (-[WebIconLoader _icons]):
9052         (-[WebIconLoader delegate]):
9053         (-[WebIconLoader iconFromCache]):
9054         (-[WebIconLoader startLoading]):
9055         (-[WebIconLoader WebResourceHandleDidFinishLoading:data:]):
9056         * WebCoreSupport.subproj/WebBridge.m:
9057         * WebView.subproj/WebDataSourcePrivate.m:
9058         (-[WebDataSource _loadIcon]):
9059         * WebView.subproj/WebFramePrivate.m:
9060         (-[WebFrame _transitionToCommitted]):
9061         * WebView.subproj/WebLocationChangeHandler.h:
9062         * WebView.subproj/WebLocationChangeHandler.m:
9063         (-[WebLocationChangeHandler receivedPageIcon:fromURL:forDataSource:]):
9064
9065 2002-08-14  Darin Adler  <darin@apple.com>
9066
9067         Remove some unused things. Fix minor problems.
9068
9069         * Plugins.subproj/WebPluginNullEventSender.m:
9070         * Plugins.subproj/WebPluginView.m:
9071         * WebCoreSupport.subproj/WebTextRenderer.m:
9072         Fixed places that were using the C++ bool instead of
9073         the Objective C BOOL.
9074
9075         * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _receivedData:]):
9076         Remove old code related to the dummy data source.
9077
9078         * WebView.subproj/WebFrame.m:
9079         (-[WebFrame initWithName:webView:provisionalDataSource:controller:]):
9080         Remove _changeBridge, since we don't any more. Hoist the creation of the
9081         bridge up here.
9082         * WebView.subproj/WebFramePrivate.h: Remove _changeBridge.
9083         * WebView.subproj/WebFramePrivate.m: Remove _changeBridge.
9084
9085         * WebView.subproj/WebHTMLRepresentation.h:
9086         * WebView.subproj/WebHTMLView.h:
9087         * WebView.subproj/WebImageRepresentation.h:
9088         * WebView.subproj/WebTextRepresentation.h:
9089         * WebView.subproj/WebTextView.h:
9090         Don't re-declare methods that are part of protocols we implement.
9091
9092         * WebView.subproj/WebHTMLView.m:
9093         (-[WebHTMLView initWithFrame:]): Don't add the mouse moved observer until
9094         the view gets put into a window.
9095         (-[WebHTMLView addMouseMovedObserver]): Added.
9096         (-[WebHTMLView removeMouseMovedObserver]): Added.
9097         (-[WebHTMLView viewWillMoveToWindow:]): Remove observer if we were in the
9098         main window.
9099         (-[WebHTMLView viewDidMoveToWindow]): Add observer if we are now in the main
9100         window.
9101         * WebView.subproj/WebHTMLViewPrivate.h: Add _frame method. Remove unused
9102         controller and cursor instance variables.
9103         * WebView.subproj/WebHTMLViewPrivate.m:
9104         (-[WebHTMLView _frame]): Added.
9105         (-[WebHTMLView _bridge]): Call _frame.
9106
9107         * WebView.subproj/WebTextRepresentation.m: Add now-needed import.
9108
9109         * WebView.subproj/WebHTMLRepresentation.m: Tweak.
9110
9111 2002-08-13  Maciej Stachowiak  <mjs@apple.com>
9112
9113         Add the ability to determine the classes of live JavaScript
9114         objects, to help with leak fixing.
9115
9116         * Misc.subproj/WebCoreStatistics.h:
9117         * Misc.subproj/WebCoreStatistics.m:
9118         (+[WebCoreStatistics javaScriptLiveObjectClasses]):
9119
9120 2002-08-12  Darin Adler  <darin@apple.com>
9121
9122         * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge isReloading]):
9123         Change dataSourceIsReloading to isReloading.
9124
9125 2002-08-12  Maciej Stachowiak  <mjs@apple.com>
9126
9127         * WebView.subproj/WebDataSourcePrivate.h:
9128         * WebView.subproj/WebDataSourcePrivate.m: Remove private _flags
9129         and _attributes accessors, now that Ken added public versions.
9130         * WebView.subproj/WebFrame.m:
9131         (-[WebFrame reload:]): Remove sole use thereof.
9132
9133 === Alexander-17 ===
9134
9135 2002-08-10  Ken Kocienda  <kocienda@apple.com>
9136
9137         Added support for "stale mode" (loads triggered by use of back/forward), and
9138         added support for reload.
9139
9140         Also added a bridge function so the WebCore cache can tell if a load is a reload.
9141
9142         * WebCoreSupport.subproj/WebBridge.m:
9143         (-[WebBridge dataSourceIsReloading]): New method.
9144         * WebCoreSupport.subproj/WebSubresourceClient.m:
9145         (+[WebSubresourceClient startLoadingResource:withURL:dataSource:]): Use same flags that were used for main resource load.
9146         * WebView.subproj/WebDataSource.h:
9147         * WebView.subproj/WebDataSource.m:
9148         (-[WebDataSource attributes]): New accessor.
9149         (-[WebDataSource flags]): New accessor.
9150         * WebView.subproj/WebFrame.m:
9151         (-[WebFrame reload:]): Reload adds WebResourceHandleFlagLoadFromOrigin flag to load.
9152         * WebView.subproj/WebFramePrivate.m:
9153         (-[WebFrame _goToItem:withFrameLoadType:]): Adds flags so that WebFoundation can tell when back/forward
9154         has been used.
9155
9156 === milestone 0.5 ===
9157
9158 === Alexander-16 ===
9159
9160 2002-08-09  Chris Blumenberg  <cblu@apple.com>
9161
9162         - Cache icon image for HTML files
9163         - resize the icon in WebIconLoader instead of in multiple places elsewhere
9164
9165         * Misc.subproj/WebIconLoader.h:
9166         * Misc.subproj/WebIconLoader.m:
9167         (+[WebIconLoader _resizeImage:]):
9168         (+[WebIconLoader defaultIcon]): call _resizeImage
9169         (+[WebIconLoader iconForFileAtPath:]): added, caches html icon
9170         (-[WebIconLoader WebResourceHandleDidFinishLoading:data:]): call _resizeImage
9171         * WebView.subproj/WebDataSourcePrivate.m:
9172         (-[WebDataSource _loadIcon]): call iconForFileAtPath
9173
9174 2002-08-08  Maciej Stachowiak  <mjs@apple.com>
9175
9176         Fix to get onLoad to fire, so the iBench test works.
9177
9178         * WebCoreSupport.subproj/WebBridge.m:
9179         (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]):
9180         Return the bridge for the new child frame.
9181
9182 2002-08-08  Darin Adler  <darin@apple.com>
9183
9184         * WebKit.pbproj/project.pbxproj: Change the group name back to Debug.
9185
9186 2002-08-08  Richard Williamson  <rjw@apple.com>
9187
9188         Added flag to turn on/off buffered text drawing to help
9189         determine if we get any speed boost.  Run from console
9190         with "-BufferTextDrawing YES" to enable buffered text
9191         drawing.
9192         
9193         Moved buffered text drawing out of web core.
9194         
9195         * WebCoreSupport.subproj/WebTextRenderer.h:
9196         * WebCoreSupport.subproj/WebTextRenderer.m:
9197         (+[WebTextRenderer shouldBufferTextDrawing]):
9198         (+[WebTextRenderer initialize]):
9199         (-[WebTextRenderer drawGlyphs:numGlyphs:fromGlyphPosition:toGlyphPosition:atPoint:withTextColor:backgroundColor:]):
9200         * WebCoreSupport.subproj/WebTextRendererFactory.h:
9201         * WebView.subproj/WebHTMLView.m:
9202         (-[WebHTMLView drawRect:]):
9203
9204 2002-08-08  Darin Adler  <darin@apple.com>
9205
9206         Placeholders for the "drawing observer" method that I'll be using
9207         to implement the "dump page as diffable text" feature.
9208
9209         * Misc.subproj/WebTestController.h: Added.
9210         * Misc.subproj/WebTestController.m: Added.
9211         * WebKit.pbproj/project.pbxproj: Mention new files.
9212         * WebKit.exp: Mention new class.
9213
9214         * WebView.subproj/WebPreferences.h:
9215         * WebView.subproj/WebPreferences.m:
9216         Changed "fixed font size" to "default fixed font size".
9217
9218 2002-08-08  Chris Blumenberg  <cblu@apple.com>
9219
9220         * Plugins.subproj/WebPluginStream.m:
9221         (-[WebPluginStream finishedLoadingWithData:]): call [NSFileManager _web_carbonPathForPath:]
9222
9223 2002-08-08  Maciej Stachowiak  <mjs@apple.com>
9224
9225         - fixed 2957197 - Need API for getting/setting default text encoding
9226         
9227         * WebView.subproj/WebDataSourcePrivate.m:
9228         (-[WebDataSourcePrivate init]): Set default encoding if no other is set.
9229         * WebView.subproj/WebPreferences.h:
9230         * WebView.subproj/WebPreferences.m:
9231         (+[WebPreferences load]): Added support for default text encoding pref.
9232         (-[WebPreferences defaultTextEncoding]): Likewise.
9233         (-[WebPreferences setDefaultTextEncoding:]): Likewise.
9234
9235 2002-08-08  Richard Williamson  <rjw@apple.com>
9236
9237         Changes to coalesce all drawing calls of the same text
9238         style and color into one call to CG.  Significantly
9239         improves drawing time.  My tests should about 7-8% on 
9240         ALL pages.  Disabled the code for now until I can verify
9241         on speed improvements on Ken's test rig.
9242         
9243         * WebCoreSupport.subproj/WebGlyphBuffer.h: Added.
9244         * WebCoreSupport.subproj/WebGlyphBuffer.m: Added.
9245         (-[WebGlyphBuffer initWithFont:color:]):
9246         (-[WebGlyphBuffer font]):
9247         (-[WebGlyphBuffer color]):
9248         (-[WebGlyphBuffer reset]):
9249         (-[WebGlyphBuffer dealloc]):
9250         (-[WebGlyphBuffer drawInView:]):
9251         (-[WebGlyphBuffer addGlyphs:advances:count:at::]):
9252         * WebCoreSupport.subproj/WebTextRenderer.m:
9253         (-[WebTextRenderer drawGlyphs:numGlyphs:fromGlyphPosition:toGlyphPosition:atPoint:withTextColor:backgroundColor:]):
9254         * WebCoreSupport.subproj/WebTextRendererFactory.h:
9255         * WebCoreSupport.subproj/WebTextRendererFactory.m:
9256         (-[WebTextRendererFactory coalesceTextDrawing]):
9257         (-[WebTextRendererFactory startCoalesceTextDrawing]):
9258         (-[WebTextRendererFactory endCoalesceTextDrawing]):
9259         (-[WebTextRendererFactory glyphBufferForFont:andColor:]):
9260         (-[WebTextRendererFactory dealloc]):
9261         * WebKit.pbproj/project.pbxproj:
9262
9263 2002-08-07  Maciej Stachowiak  <mjs@apple.com>
9264
9265         WebKit work for:
9266
9267         - fixed 2956008 - Need API for getting/setting text encoding for current page
9268         
9269         * WebCoreSupport.subproj/WebBridge.m:
9270         (-[WebBridge receivedData:withDataSource:]): Handle override encoding,
9271         if any.
9272         * WebView.subproj/WebDataSource.m:
9273         (-[WebDataSource initWithURL:attributes:flags:]): Remember the flags and
9274         attributes.
9275         * WebView.subproj/WebDataSourcePrivate.h:
9276         * WebView.subproj/WebDataSourcePrivate.m:
9277         (-[WebDataSourcePrivate init]): Initialize overrideEncoding
9278         (-[WebDataSourcePrivate dealloc]): Release attributes
9279         (-[WebDataSource _setOverrideEncoding:]): Added.
9280         (-[WebDataSource _overrideEncoding]): Added.
9281         (-[WebDataSource _flags]): Added.
9282         (-[WebDataSource _attributes]): Added.
9283         * WebView.subproj/WebFrame.m:
9284         (-[WebFrame startLoading]): Pass proper forceRefresh value to data source
9285         based on load type (but the data source will ignore it).
9286         (-[WebFrame reload:]): Made this work a bit better. Now instead of
9287         crashing, it will actually reload, but it won't force a refresh
9288         (and may not handle the back/forward issues properly).
9289         * WebView.subproj/WebDocument.h: Defined new WebDocumentTextEncoding protocol.
9290         * WebView.subproj/WebHTMLView.h:
9291         * WebView.subproj/WebHTMLView.m:
9292         (-[WebHTMLView textEncoding]): Implemented WebDocumentTextEncoding
9293         protocol.
9294         (-[WebHTMLView setTextEncoding:]): Implemented WebDocumentTextEncoding 
9295         protocol.
9296         (-[WebHTMLView setDefaultTextEncoding]): Implemented WebDocumentTextEncoding
9297         protocol.
9298         (-[WebHTMLView usingDefaultTextEncoding]): Implemented
9299         WebDocumentTextEncoding protocol.
9300
9301 2002-08-07  John Sullivan  <sullivan@apple.com>
9302
9303         - fixed 3017245 -- Shift-Delete should go forward
9304
9305         * WebView.subproj/WebView.m:
9306         (-[WebView keyDown:]): Check for shift-delete.
9307
9308 2002-08-07  Richard Williamson  <rjw@apple.com>
9309
9310         Fixed scrollview related drawing turd problems.
9311         (3000844 and 2896459).
9312         
9313         * WebView.subproj/WebHTMLView.m:
9314         (-[WebHTMLView drawRect:]):
9315         * WebView.subproj/WebView.m:
9316         (-[WebView setFrame:]):
9317
9318 2002-08-07  Darin Adler  <darin@apple.com>
9319
9320         * WebView.subproj/WebFrame.m: (-[WebFrame setProvisionalDataSource:]):
9321         * WebView.subproj/WebFramePrivate.m: (-[WebFrame _goToItem:withFrameLoadType:]):
9322         Call _web_URLWithoutFragment by its new name _web_URLByRemovingFragment.
9323
9324 2002-08-07  Chris Blumenberg  <cblu@apple.com>
9325
9326         Fixed: 3018632 - the show javascript files inline bug
9327
9328         * WebView.subproj/WebDataSourcePrivate.m:
9329         (+[WebDataSource _repTypes]): support application/x-javascript
9330         * WebView.subproj/WebViewPrivate.m:
9331         (+[WebView _viewTypes]): support application/x-javascript
9332
9333 2002-08-07  John Sullivan  <sullivan@apple.com>
9334
9335         * Misc.subproj/WebNSViewExtras.h:
9336         * Misc.subproj/WebNSViewExtras.m:
9337         (-[NSView _web_superviewOfClass:]): Changed name from
9338         _web_superviewWithName: and made it take a Class object
9339         instead of a string.
9340
9341         * Plugins.subproj/WebNullPluginView.m:
9342         (-[WebNullPluginView drawRect:]):
9343         * Plugins.subproj/WebPluginView.m:
9344         (-[WebPluginView start]):
9345         (-[WebPluginView layout]):
9346         Updated callers of _web_superviewWithName:
9347
9348         * WebKit.pbproj/project.pbxproj: Changed WebNSViewExtras.h from
9349         Public to Private
9350
9351 2002-08-06  Darin Adler  <darin@apple.com>
9352
9353         Fix assert I saw while fixing bug 2965321.
9354
9355         * WebView.subproj/WebControllerPrivate.m:
9356         (-[WebController _receivedError:forResourceHandle:partialProgress:fromDataSource:]):
9357         Create a suitable resource identifier from the failing URL in the WebError for cases
9358         where we fail before we are able to construct a resource handle.
9359
9360 2002-08-06  Darin Adler  <darin@apple.com>
9361
9362         - fixed 2970516 -- Activate Events don't appear to be coming in to the
9363         Java Applet.plugin correctly.
9364
9365         * Plugins.subproj/WebPluginView.m: (-[WebPluginView sendActivateEvent:]):
9366         Use activeFlag to set modifiers, not activMask, which is an event mask.
9367
9368 2002-08-06  John Sullivan  <sullivan@apple.com>
9369
9370         Add mechanism to store userStyleSheet preferences in WebKit in
9371         preparation for Dave wiring up the implementation.
9372
9373         * WebView.subproj/WebPreferences.h:
9374         * WebView.subproj/WebPreferences.m:
9375         (-[WebPreferences userStyleSheetEnabled]),
9376         (-[WebPreferences setUserStyleSheetEnabled:]),
9377         (-[WebPreferences userStyleSheetLocation]),
9378         (-[WebPreferences setUserStyleSheetLocation:]):
9379         New methods, read and write UserDefaults values.
9380
9381         (+[WebPreferences load]): Set initial values for
9382         userStyleSheetEnabled and userStyleSheetLocation
9383
9384 2002-08-06  Maciej Stachowiak  <mjs@apple.com>
9385
9386         Removed some APPLE_CHANGES no longer needed after the part change.
9387
9388         * WebCoreSupport.subproj/WebBridge.m: Remove setOpenedByScript: and
9389         openedByScript methods now that they are not needed.
9390         * WebView.subproj/WebControllerPrivate.h:
9391         * WebView.subproj/WebControllerPrivate.m: Remove setOpenedByScript: and
9392         openedByScript methods now that they are not needed.
9393
9394 2002-08-06  Darin Adler  <darin@apple.com>
9395
9396         - fixed 3017761 -- dataSource != nil assertion navigating at yahoo.com
9397
9398         * WebView.subproj/WebLocationChangeHandler.h:
9399         * WebView.subproj/WebLocationChangeHandler.m:
9400         Change client redirect calls to pass the frame, not the data source.
9401         At the time a client redirect is requested, it's not even clear yet
9402         which data source will be involved. We may want to make some of the
9403         other calls pass frames, also, aside from the "start", "committed", "done",
9404         calls, which must specify the data source.
9405         * WebCoreSupport.subproj/WebBridge.m:
9406         (-[WebBridge reportClientRedirectTo:delay:fireDate:]): Pass frame, not data source.
9407         (-[WebBridge reportClientRedirectCancelled]): Pass frame, not data source.
9408
9409 2002-08-06  Darin Adler  <darin@apple.com>
9410
9411         * lots of files: Changed url to URL in many places and renamed URL-related methods.
9412
9413 2002-08-06  Darin Adler  <darin@apple.com>
9414
9415         * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge dataSourceChanged]): Call setParent:.
9416         * WebView.subproj/WebControllerPrivate.m:
9417         (-[WebControllerPrivate init]): Initialize the text size multiplier to 1.
9418         * WebView.subproj/WebDataSource.h: Removed [redirectedURL], deprecated [inputURL], added [URL].
9419         * WebView.subproj/WebDataSource.m:
9420         (-[WebDataSource URL]): Added. Returns current URL, without requiring separate logic for the
9421         redirected and not-yet-redirected cases.
9422         * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _loadIcon]): Use [WebDataSource URL].
9423         * WebView.subproj/WebDefaultContextMenuHandler.m:
9424         (-[WebDefaultContextMenuHandler openFrameInNewWindow:]): Use [WebDataSource URL].
9425
9426 2002-08-06  John Sullivan  <sullivan@apple.com>
9427
9428         WebKit part of fix for 3017539 -- Replace Serif and Sans-serif
9429         font preferences with Default preference; let fixed width font
9430         size be independent.
9431
9432
9433         * WebView.subproj/WebPreferences.h:
9434         * WebView.subproj/WebPreferences.m:
9435         (+[WebPreferences load]): Add default value for fixed width size
9436         (-[WebPreferences fixedFontSize]),
9437         (-[WebPreferences setFixedFontSize:]): New methods.
9438
9439 2002-08-06  Darin Adler  <darin@apple.com>
9440
9441         - fixed 3017536 -- Change default font to Lucida Grande 14 pt.
9442
9443         * WebView.subproj/WebPreferences.m: (+[WebPreferences load]):
9444         Changed default font and sans serif font family names to Lucida Grande.
9445         Changed default font size to 14 point.
9446
9447 2002-08-05  Maciej Stachowiak  <mjs@apple.com>
9448
9449         fixed 2974993 - window.open does not return the right window object
9450         fixed 3017140 - WebKit creates a new KHTMLPart per page; should
9451         reuse it like KHTML does
9452         
9453         * WebView.subproj/WebHTMLRepresentation.m:
9454         (-[WebHTMLRepresentation setDataSource:]): Don't swap the part at
9455         this point. Now it gets reused.
9456
9457 2002-08-05  Maciej Stachowiak  <mjs@apple.com>
9458
9459         * WebKit.pbproj/project.pbxproj: Fix tyops that broke Development
9460         build.
9461
9462 2002-08-05  Darin Adler  <darin@apple.com>
9463
9464         * .cvsignore: Ignore WebCore-combined.exp.
9465
9466 2002-08-05  Maciej Stachowiak  <mjs@apple.com>
9467
9468         - fixed 3007072 - need to be able to build fat
9469         
9470         * WebKit.pbproj/project.pbxproj: Fixed DeploymentFat build.
9471         * Makefile.am: Build WebCore-combined.exp for Development and
9472         Mixed build.
9473         * WebKit-tests.exp: Added.
9474         * WebKit.exp: Remove test-only function.
9475
9476 2002-08-05  Darin Adler  <darin@apple.com>
9477
9478         Do the wiring for the "text size multiplier" feature. The rest of the work will probably be done
9479         at the WebCore level.
9480
9481         * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge setFrame:]): Set the text size multiplier.
9482         * WebView.subproj/WebController.h:
9483         * WebView.subproj/WebController.m:
9484         (-[WebController setTextSizeMultiplier:]): Added. Calls _textSizeMultiplierChanged on the main frame.
9485         (-[WebController textSizeMultiplier]): Added.
9486         * WebView.subproj/WebControllerPrivate.h: Added textSizeMultiplier instance variable.
9487         * WebView.subproj/WebFramePrivate.h:
9488         * WebView.subproj/WebFramePrivate.m:
9489         (-[WebFrame _textSizeMultiplierChanged]): Added. Calls setTextSizeMultiplier: on the bridge,
9490         and _textSizeMultiplierChanged on all the child frames.
9491
9492 2002-08-05  Chris Blumenberg  <cblu@apple.com>
9493
9494         Renamed icon loader delegate method to include the icon loader.
9495
9496         * Misc.subproj/WebIconLoader.h:
9497         * Misc.subproj/WebIconLoader.m:
9498         (-[WebIconLoader WebResourceHandleDidFinishLoading:data:]):
9499         * WebView.subproj/WebDataSourcePrivate.m:
9500
9501 2002-08-05  Richard Williamson  <rjw@apple.com>
9502
9503         Added additional check to find appropriate fonts with available
9504         weight, rather than always using a weight of 5.
9505         
9506         Regarding "kCGErrorFailure : can't find name id 4 for font id 8395" errors:
9507         CG appears to be lying to us about some fonts, Verdana in particular.
9508         It claims to have an available Verdana font w/ the correct traits, but spits errors
9509         when we request that font.  Further, the Font Panel behaves oddly when you request
9510         Verdana.  The panel displays the font but if you select the font it doesn't
9511         'stick'.  A mystery.
9512         
9513         * WebCoreSupport.subproj/WebTextRendererFactory.m:
9514         (-[WebTextRendererFactory fontWithFamily:traits:size:]):
9515
9516 2002-08-05  Darin Adler  <darin@apple.com>
9517
9518         - fixed 2986567 -- suppress return characters from title in title bar, status bar, menu items
9519
9520         * WebCoreSupport.subproj/WebBridge.m:
9521         (-[WebBridge setTitle:]): Call _web_stringByCollapsingNonPrintingCharacters.
9522
9523 2002-08-05  Richard Williamson  <rjw@apple.com>
9524
9525         Added exported symbols file.
9526         
9527         * WebKit.exp: Added.
9528         * WebKit.pbproj/project.pbxproj:
9529
9530 2002-08-05  Darin Adler  <darin@apple.com>
9531
9532         - fixed 3014122 -- spinner never stops spinning when iframe has URL with bad path
9533
9534         * WebView.subproj/WebFrame.m:
9535         (-[WebFrame initWithName:webView:provisionalDataSource:controller:]): Initialize the
9536         state in WebFramePrivate init instead.
9537         * WebView.subproj/WebFramePrivate.h: Remove WebFrameStateUninitialized.
9538         * WebView.subproj/WebFramePrivate.m:
9539         (-[WebFramePrivate init]): Set initial state to WebFrameStateComplete.
9540         (-[WebFrame _transitionToLayoutAcceptable]): Remove WebFrameStateUninitialized case.
9541         (-[WebFrame _transitionToCommitted]): Remove WebFrameStateUninitialized case.
9542         (-[WebFrame _isLoadComplete]): Remove WebFrameStateUninitialized case.
9543
9544         * WebView.subproj/WebDataSource.h: Tweak.
9545         * WebView.subproj/WebDataSource.m:
9546         (-[WebDataSource stopLoading]): Move downloadHandler logic from here into _stopLoading.
9547         (-[WebDataSource isLoading]): Rewrite for simplicity.
9548
9549         * WebView.subproj/WebDataSourcePrivate.m:
9550         (-[WebDataSource _stopLoading]): Move downloadHandler logic here from stopLoading.
9551         Also make this work even if handles are removed from the list during the stop process.
9552         (-[WebDataSource _recursiveStopLoading]): Simplify a lot by using WebFrame's stopLoading.
9553         (-[WebDataSource _setTitle:]): Use the committed boolean rather than the state to check
9554         if the title change should be sent to the location change handler.
9555
9556 2002-08-05  Maciej Stachowiak  <mjs@apple.com>
9557
9558         * Misc.subproj/WebKitDebug.h: Put WEBKIT_ASSERT_NOT_REACHED()
9559         inside the appropriate #ifdef, and remove the various _log macros,
9560         which are onsolete in WebKit.
9561
9562 2002-08-05  Maciej Stachowiak  <mjs@apple.com>
9563
9564         Some changes related to re-merging the KHTMLPart end() method:
9565
9566         * Misc.subproj/WebKitDebug.h: Added WEBKIT_ASSERT_NOT_REACHED().
9567         * WebView.subproj/WebFramePrivate.m:
9568         (-[WebFrame _transitionToLayoutAcceptable]): Replace NSException with
9569         ASSERT_NOT_REACHED (this is an internal consistency check, not an
9570         argument check on a public API, so an assert is more appropriate than
9571         an exception).
9572         (-[WebFrame _transitionToCommitted]): Likewise.
9573         (-[WebFrame _isLoadComplete]): Likewise; also, remove bridge call
9574         to scrollToBaseAnchor:, since that will now happen automatically
9575         when calling end.
9576
9577 2002-08-02  Darin Adler  <darin@apple.com>
9578
9579         WebKit support for feature where client redirects are treated as if the
9580         page was continuing to load.
9581
9582         * WebCoreSupport.subproj/WebBridge.m:
9583         (-[WebBridge reportClientRedirectTo:delay:fireDate:]): Added. Passes the client
9584         redirect along to the location change handler.
9585         (-[WebBridge reportClientRedirectCancelled]): Passes client redirect cancel along
9586         to the location change handler.
9587         (-[WebBridge dataSourceChanged]): Remove hack related to dummy data source.
9588         (-[WebBridge dataSource]): Remove hack related to dummy data source.
9589
9590         * WebView.subproj/WebLocationChangeHandler.h: Added client redirect methods.
9591         Added class for base implementation of protocol. Updated stale comment.
9592         * WebView.subproj/WebLocationChangeHandler.m: Added. Provides base implementation
9593         of the WebLocationChangeHandler protocol so that clients don't need to implement
9594         all the methods if they are only interested in some of them.
9595         * WebKit.pbproj/project.pbxproj: Added WebLocationChangeHandler.m.
9596
9597         * WebView.subproj/WebFramePrivate.m:
9598         (-[WebFrame _goToItem:withFrameLoadType:]): Call scrollToAnchor under its new name.
9599
9600         * Misc.subproj/WebIconLoader.h:
9601         * Misc.subproj/WebIconLoader.m:
9602         * WebView.subproj/WebControllerPolicyHandler.m:
9603         * WebView.subproj/WebControllerPolicyHandlerPrivate.h:
9604         Replaced __MyCompanyName__ with the actual name of our company.
9605
9606 2002-08-02  John Sullivan  <sullivan@apple.com>
9607
9608         - fixed 3015705 -- Command-up-arrow and -down-arrow should go to
9609         beginning and end of web page
9610
9611         * WebView.subproj/WebView.m:
9612         (-[WebView keyDown:]):
9613         Added checks for command key.
9614
9615 2002-08-01  Richard Williamson  <rjw@apple.com>
9616
9617         Effort towards 3014555 (going back to frame), but not fixed.  
9618         Need to think more about appropriate solution and compromises.
9619         
9620         * History.subproj/WebBackForwardList.h:
9621         * History.subproj/WebBackForwardList.m:
9622         (-[WebBackForwardList backEntryAtIndex:]):
9623         * History.subproj/WebHistoryItem.h:
9624         * History.subproj/WebHistoryItem.m:
9625         (-[WebHistoryItem initWithURL:title:]):
9626         (-[WebHistoryItem initWithURL:title:image:]):
9627         (-[WebHistoryItem initWithURL:target:parent:title:image:]):
9628         (-[WebHistoryItem dealloc]):
9629         (-[WebHistoryItem parent]):
9630         (-[WebHistoryItem setTitle:]):
9631         (-[WebHistoryItem setTarget:]):
9632         (-[WebHistoryItem setParent:]):
9633         (-[WebHistoryItem setDisplayTitle:]):
9634         * WebCoreSupport.subproj/WebBridge.m:
9635         * WebView.subproj/WebController.m:
9636         (-[WebController _goToItem:withFrameLoadType:]):
9637         * WebView.subproj/WebFramePrivate.h:
9638         * WebView.subproj/WebFramePrivate.m:
9639         (-[WebFrame _transitionToCommitted]):
9640         (-[WebFrame _isLoadComplete]):
9641         (-[WebFrame _scrollToTop]):
9642
9643 2002-08-01  Chris Blumenberg  <cblu@apple.com>
9644
9645         Only send command key events if the plug-in is in the responder chain.
9646
9647         * Plugins.subproj/WebPluginView.m:
9648         (-[WebPluginView isInResponderChain]):
9649         (-[WebPluginView performKeyEquivalent:]):
9650         (-[WebPluginView setWindow]): added some more logging
9651
9652 2002-08-01  Chris Blumenberg  <cblu@apple.com>
9653
9654         Only send command keyDown once by ignoring the keyDown that comes after performKeyEquivalent.
9655
9656         * Plugins.subproj/WebPluginView.m:
9657         (-[WebPluginView keyDown:]):
9658
9659 2002-08-01  Chris Blumenberg  <cblu@apple.com>
9660
9661         Fixed: 2970530 - Command keys are not getting passed in to plugins
9662
9663         * Plugins.subproj/WebPluginView.m:
9664         (-[WebPluginView performKeyEquivalent:]):
9665
9666 2002-08-01  Richard Williamson  <rjw@apple.com>
9667
9668         More back/forward work.  Support for restoring scroll position.
9669         We still have a big remaining issue.  We don't record the entire
9670         frame tree in back/forward items.  This means going back or forward
9671         to a frame will looose the context of the containing frameset,
9672         see 3014555.
9673         
9674         * History.subproj/WebBackForwardList.m:
9675         (-[WebBackForwardList currentEntry]):
9676         * History.subproj/WebHistoryItem.h:
9677         * History.subproj/WebHistoryItem.m:
9678         (-[WebHistoryItem anchor]):
9679         (-[WebHistoryItem setAnchor:]):
9680         * WebCoreSupport.subproj/WebBridge.m:
9681         (-[WebBridge reportError:]):
9682         * WebView.subproj/WebController.m:
9683         (-[WebController _goToItem:withFrameLoadType:]):
9684         (-[WebController goBack]):
9685         (-[WebController goForward]):
9686         * WebView.subproj/WebFrame.m:
9687         (-[WebFrame setProvisionalDataSource:]):
9688         * WebView.subproj/WebFramePrivate.h:
9689         * WebView.subproj/WebFramePrivate.m:
9690         (-[WebFrame _transitionToCommitted]):
9691         (-[WebFrame _isLoadComplete]):
9692         (-[WebFrame _goToItem:withFrameLoadType:]):
9693         (-[WebFrame _restoreScrollPosition]):
9694         (-[WebFrame _scrollToTop]):
9695
9696 2002-08-01  Chris Blumenberg  <cblu@apple.com>
9697
9698         Fixed:
9699         2938010 - PLUGINS: right-click support
9700         2938011 - PLUGINS: extended key events support
9701         2970523 - Arrow key events not correctly passed to applets
9702
9703         * Plugins.subproj/WebPluginView.m:
9704         (-[WebPluginView modifiersForEvent:]):
9705         (-[WebPluginView getCarbonEvent:withEvent:]):
9706         (-[WebPluginView mouseDown:]):
9707         (-[WebPluginView keyUp:]):
9708         (-[WebPluginView keyDown:]):
9709         (-[WebPluginView menuForEvent:]):
9710
9711 === Alexander-15 ===
9712
9713 2002-08-01  Don Melton  <gramps@apple.com>
9714
9715         Fixed deployment build compile problem.
9716
9717         * WebView.subproj/WebFramePrivate.m:
9718         (-[WebFrame _transitionToCommitted]):
9719
9720 2002-08-01  Maciej Stachowiak  <mjs@apple.com>
9721
9722         Remove stuff formerly useful for "View Reconstructed Source"
9723         feature but now useless.
9724         
9725         * WebView.subproj/WebDataSource.h:
9726         * WebView.subproj/WebDataSource.m:
9727         (-[WebDataSource documentTextFromDOM]): Removed.
9728         
9729 2002-07-31  Maciej Stachowiak  <mjs@apple.com>
9730
9731         Changed things around so that WebFrame, not WebDataSource, owns
9732         WebBridge. This allows us to remove the dummy data source.
9733         
9734         * WebView.subproj/WebFrame.m:
9735         (-[WebFrame
9736         initWithName:webView:provisionalDataSource:controller:]): Remove
9737         all dummy data source-related crud, but call _changeBridge to
9738         create the initial bridge.
9739         (-[WebFrame setProvisionalDataSource:]): Remove dummy data
9740         source-related epicycles.
9741         * WebView.subproj/WebFramePrivate.h: Add bridge member to private class.
9742         * WebView.subproj/WebFramePrivate.m:
9743         (-[WebFramePrivate setDataSource:]): Don't remove old data source from frame,
9744         this is no longer needed and may even be harmful.
9745         (-[WebFrame _transitionToCommitted]): Remove much now-unneeded code.
9746         (-[WebFrame _isLoadComplete]): Get location change handler from controller.
9747         Don't call end on the bridge if the document is not html.
9748         (-[WebFrame _changeBridge]): Free the old bridge and make a new one.
9749         (-[WebFrame _bridge]): Get it directly, not from the data source.
9750         
9751         * WebView.subproj/WebDataSourcePrivate.h: Remove everything related to the
9752         `dummy' concept.
9753         * WebView.subproj/WebDataSourcePrivate.m:
9754         (-[WebDataSource _setFinalURL:]): Reorder code a bit.
9755         (-[WebDataSource _bridge]): Get bridge from frame.
9756         (-[WebDataSource _commitIfReady]): No more need to set the bridge's frame.
9757         (-[WebDataSource _makeRepresentation]): Set data source on the rep.
9758         (-[WebDataSource _startLoading:]): Get location change handler from controller.
9759         (-[WebDataSource _setTitle:]): Likewise.
9760         (-[WebDataSource receivedPageIcon:]): Likewise.
9761         (-[WebDataSource _loadIcon]): Likewise.
9762         
9763         * WebView.subproj/WebMainResourceClient.m:
9764         (-[WebMainResourceClient
9765         WebResourceHandle:dataDidBecomeAvailable:]): Get location change
9766         handler from the controller.
9767
9768         * WebView.subproj/WebViewPrivate.m:
9769         (-[WebView _makeDocumentViewForDataSource:]): Change *and* commit
9770         the data source. This could probably be collapsed down to one
9771         method now.
9772
9773         * WebView.subproj/WebDocument.h: Added setDataSource: method to
9774         the WebDocumentRepresenation protocol. For now it is only useful
9775         for the HTML representation, but could potentially be useful for
9776         other representation classes. It should also allow the data source
9777         to be removed as a parameter from other methods, but I have not
9778         done that yet. It may be even better still to pass the data source
9779         as a paremeter to the init method.
9780
9781         * WebView.subproj/WebHTMLRepresentation.m:
9782         (-[WebHTMLRepresentation init]): Remove allocation of bridge.
9783         (-[WebHTMLRepresentation dealloc]): Remove release of bridge.
9784         (-[WebHTMLRepresentation setDataSource:]): Store unretained reference
9785         to the data source's frame's bridge.
9786         * WebView.subproj/WebHTMLViewPrivate.m:
9787         (-[WebHTMLView _bridge]): Fetch the bridge from the frame, not the
9788         data source.
9789         * WebView.subproj/WebImageRepresentation.m:
9790         (-[WebImageRepresentation setDataSource:]): Added empty
9791         implementation.
9792         * WebView.subproj/WebTextRepresentation.m:
9793         (-[WebTextRepresentation setDataSource:]): Added empty
9794         implementation.
9795         * Plugins.subproj/WebPluginStream.m:
9796         (-[WebPluginStream setDataSource:]): Added empty implementation.
9797
9798 2002-07-30  Maciej Stachowiak  <mjs@apple.com>
9799
9800         Fixes of various bugs that prevented Alexander from running the
9801         Mozilla page load test.
9802
9803         - fixed 3008682 - Alexander cannot run Mozilla-PLT
9804         
9805         * WebCoreSupport.subproj/WebBridge.m:
9806         (-[WebBridge dataSourceChanged]): Don't call setURL: to set a URL
9807         that we got from a redirect; just pass it directly to
9808         openURL:. The inputURL is irrelevant.
9809         * WebView.subproj/WebDataSourcePrivate.m:
9810         (-[WebDataSource _setFinalURL:]): Don't call setURL: on the
9811         bridge; instead, assert that the data source is committed, because
9812         it would be a mistake to get a redirect after having received
9813         data.
9814
9815 2002-07-30  Richard Williamson  <rjw@apple.com>
9816
9817         Remove annoying log, it's really annoying.  Added FIX ME
9818         comment instead.
9819         
9820         * WebView.subproj/WebFramePrivate.m:
9821         (-[WebFrame _transitionToCommitted]):
9822
9823 2002-07-30  John Sullivan  <sullivan@apple.com>
9824
9825         - fixed 3012083 "Looked for URLs on the pasteboard, but found
9826         none" spam dragging nil-target bookmark
9827
9828         * Misc.subproj/WebNSViewExtras.m:
9829         (-[NSView _web_bestURLForDraggingInfo:]):
9830         This method was getting data for types on the pasteboard without
9831         first checking whether the types were on the pasteboard, a no-no.
9832         Restructured this method and tweaked it here and there also.
9833
9834         (-[NSView _web_dragOperationForDraggingInfo:]): moved a fast
9835         test in front of a slow test
9836
9837 2002-07-29  Richard Williamson  <rjw@apple.com>
9838
9839         Removed setDirectsAllLinksToSystemBrowser: method, not needed
9840         and antiquated by the policy APIs.
9841         
9842         * WebView.subproj/WebController.h:
9843         * WebView.subproj/WebController.m:
9844
9845 2002-07-29  Richard Williamson  <rjw@apple.com>
9846
9847         Changes to support the migration of back/forward list to WebKit.
9848         Back/forward in frames now works (2946164), still not done w/
9849         restoring scroll positions (2927633).
9850         
9851         * History.subproj/WebHistoryItem.h:
9852         * History.subproj/WebHistoryItem.m:
9853         (+[WebHistoryItem entryWithURL:]):
9854         * WebCoreSupport.subproj/WebBridge.m:
9855         (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]):
9856         * WebView.subproj/WebController.h:
9857         * WebView.subproj/WebController.m:
9858         (-[WebController initWithView:provisionalDataSource:]):
9859         (-[WebController setUseBackForwardList:]):
9860         (-[WebController useBackForwardList]):
9861         (-[WebController goBack]):
9862         (-[WebController goForward]):
9863         * WebView.subproj/WebControllerPrivate.h:
9864         * WebView.subproj/WebFrame.m:
9865         (-[WebFrame setProvisionalDataSource:]):
9866         * WebView.subproj/WebFramePrivate.h:
9867         * WebView.subproj/WebFramePrivate.m:
9868         (-[WebFrame _transitionToCommitted]):
9869         (-[WebFrame _setProvisionalDataSource:]):
9870         (-[WebFrame _goToURL:withFrameLoadType:]):
9871         * WebView.subproj/WebViewPrivate.m:
9872         (-[WebView _goBack]):
9873         (-[WebView _goForward]):
9874
9875 2002-07-29  Richard Williamson  <rjw@apple.com>
9876
9877         Fixed 3009074.  Added [WebHTMLView jumpToSelection:] and related user interface
9878         item validation.
9879         
9880         * WebView.subproj/WebHTMLView.m:
9881         (-[WebHTMLView jumpToSelection:]):
9882         (-[WebHTMLView validateUserInterfaceItem:]):
9883
9884 2002-07-29  Richard Williamson  <rjw@apple.com>
9885
9886         Fixed 3009085.  Implemented takeFindStringFromSelection: on WebHTMLView and WebTextView.
9887         Also added user interface item validation for that method.
9888         
9889         * WebView.subproj/WebHTMLView.m:
9890         (-[WebHTMLView hasSelection]):
9891         (-[WebHTMLView takeFindStringFromSelection:]):
9892         (-[WebHTMLView validateUserInterfaceItem:]):
9893         * WebView.subproj/WebTextView.m:
9894         (-[WebTextView canTakeFindStringFromSelection]):
9895         (-[WebTextView takeFindStringFromSelection:]):
9896
9897 2002-07-29  Chris Blumenberg  <cblu@apple.com>
9898
9899         Fixed:
9900         2971845 - text view uses default "user font" (Helvetica), not fonts chosen in Alexander preferences
9901
9902         * WebView.subproj/WebTextView.m:
9903         (-[WebTextView initWithFrame:]): add observer
9904         (-[WebTextView dealloc]): remove observer
9905         (-[WebTextView setFixedWidthFont]): added, checks defaults
9906         (-[WebTextView dataSourceUpdated:]): calls setFixedWidthFont
9907         (-[WebTextView searchFor:direction:caseSensitive:]): no changes
9908         (-[WebTextView defaultsChanged:]): calls setFixedWidthFont
9909
9910 2002-07-27  Chris Blumenberg  <cblu@apple.com>
9911
9912         Implemented click policy, support for option-click
9913         Implemented dragging of links and images from WebHTMLView       
9914
9915         * Misc.subproj/WebNSViewExtras.h:
9916         * Misc.subproj/WebNSViewExtras.m:
9917         (-[NSView _web_dragShouldBeginFromMouseDown:withExpiration:]): added, moved from WebBrowser
9918         (-[NSView _web_dragOperationForDraggingInfo:]): don't accept drag if source == destination
9919         * WebView.subproj/WebControllerPolicyHandler.h:
9920         * WebView.subproj/WebControllerPolicyHandler.m:
9921         (-[WebPolicy URL]): needed for click policy
9922         (+[WebURLPolicy webPolicyWithURLAction:]):
9923         (+[WebFileURLPolicy webPolicyWithFileAction:]):
9924         (+[WebContentPolicy webPolicyWithContentAction:andPath:]):
9925         * WebView.subproj/WebControllerPrivate.h:
9926         * WebView.subproj/WebControllerPrivate.m:
9927         (-[WebController _downloadURL:toPath:]): added, simply downloads a URL
9928         * WebView.subproj/WebDefaultContextMenuHandler.m:
9929         (-[WebDefaultContextMenuHandler downloadURL:]): calls [WebController _downloadURL:toPath:]
9930         * WebView.subproj/WebDefaultPolicyHandler.m:
9931         (-[WebDefaultPolicyHandler clickPolicyForElement:button:modifierMask:]):
9932         * WebView.subproj/WebHTMLView.m:
9933         (-[WebHTMLView mouseDown:]): calls _continueAfterCheckingDragForEvent
9934         (-[WebHTMLView mouseUp:]): calls _continueAfterClickPolicyForEvent
9935         (-[WebHTMLView draggingSourceOperationMaskForLocal:]): added
9936         (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): added, starts download
9937         * WebView.subproj/WebHTMLViewPrivate.h:
9938         * WebView.subproj/WebHTMLViewPrivate.m:
9939         (-[WebHTMLViewPrivate dealloc]):
9940         (-[WebHTMLView _elementAtPoint:]):
9941         (-[WebHTMLView _continueAfterClickPolicyForEvent:]): added, implements click policy
9942         (-[WebHTMLView _continueAfterCheckingDragForEvent:]): added, checks if mouse event is a drag
9943
9944 2002-07-26  Richard Williamson  <rjw@apple.com>
9945
9946         WebframeLoadType enum first value wasn't explicitly set, so 0 was used.  
9947         I assumed 0 was unitialized, and depended on that to not execute some 'transitional'
9948         back/forward.  This problem broke back/forward.
9949
9950         * WebView.subproj/WebFramePrivate.h:
9951
9952 2002-07-26  John Sullivan  <sullivan@apple.com>
9953
9954         WebKit part of fix for 3009404 -- Back/Forward menu items should use [ and ],
9955         but command-arrows should still work too. 
9956
9957         * WebView.subproj/WebController.h:
9958         - added goForward to windowContext protocol. This is temporary, just like goBack
9959         here is temporary; they can be migrated into the new back-forward-in-WebKit design
9960         together.
9961         * WebView.subproj/WebView.m:
9962         (-[WebView keyDown:]): call _goBack and _goForward for command-arrow keys
9963
9964         * WebView.subproj/WebViewPrivate.h,
9965         * WebView.subproj/WebViewPrivate.m:
9966         (-[WebView _goForward]): add _goForward, parallel to _existing goBack.
9967
9968 2002-07-26  Chris Blumenberg  <cblu@apple.com>
9969
9970         Fixed crash in unknown_text
9971         Fixed full-window plug-ins. I think darin broken this :)
9972         Cleaned up WebPluginStream a bit
9973
9974         * Plugins.subproj/WebPluginDatabase.m:
9975         (-[WebPluginDatabase init]):
9976         * Plugins.subproj/WebPluginStream.m:
9977         (-[WebPluginStream getFunctionPointersFromPluginView:]):
9978         (-[WebPluginStream initWithURL:pluginPointer:notifyData:attributes:]):
9979         (-[WebPluginStream startLoad]):
9980         (-[WebPluginStream stop]):
9981         (-[WebPluginStream setUpGlobalsWithHandle:]):
9982         (-[WebPluginStream receivedError:]):
9983         (-[WebPluginStream receivedData:withDataSource:]):
9984         (-[WebPluginStream receivedError:withDataSource:]):
9985         (-[WebPluginStream WebResourceHandle:dataDidBecomeAvailable:]):
9986         (-[WebPluginStream WebResourceHandleDidCancelLoading:]):
9987         (-[WebPluginStream WebResourceHandle:didFailLoadingWithResult:]):
9988         * WebView.subproj/WebDataSourcePrivate.h:
9989         * WebView.subproj/WebDataSourcePrivate.m:
9990         (-[WebDataSource _mainHandle]): added, WebPluginStream needs this
9991
9992 2002-07-25  Richard Williamson  <rjw@apple.com>
9993
9994         More incremental changes for back/forward migration.
9995
9996         * History.subproj/WebBackForwardList.h:
9997         * History.subproj/WebBackForwardList.m:
9998         (-[WebBackForwardList init]):
9999         (-[WebBackForwardList dealloc]):
10000         (-[WebBackForwardList addEntry:]):
10001         (-[WebBackForwardList goBack]):
10002         (-[WebBackForwardList goBackToIndex:]):
10003         (-[WebBackForwardList backEntry]):
10004         (-[WebBackForwardList currentEntry]):
10005         (-[WebBackForwardList forwardEntry]):
10006         (-[WebBackForwardList goForward]):
10007         (-[WebBackForwardList goForwardToIndex:]):
10008         (-[WebBackForwardList canGoBack]):
10009         (-[WebBackForwardList canGoForward]):
10010         (-[WebBackForwardList description]):
10011         * History.subproj/WebHistoryItem.h:
10012         * History.subproj/WebHistoryItem.m:
10013         (-[WebHistoryItem initWithURL:title:]):
10014         (-[WebHistoryItem initWithURL:title:image:]):
10015         (-[WebHistoryItem initWithURL:target:title:image:]):
10016         (-[WebHistoryItem dealloc]):
10017         (-[WebHistoryItem target]):
10018         (-[WebHistoryItem setTarget:]):
10019         (-[WebHistoryItem setLastVisitedDate:]):
10020         (-[WebHistoryItem scrollPoint]):
10021         (-[WebHistoryItem setScrollPoint:]):
10022         * History.subproj/WebHistoryList.m:
10023         * WebView.subproj/WebFramePrivate.h:
10024         * WebView.subproj/WebFramePrivate.m:
10025         (-[WebFramePrivate setLoadType:]):
10026         (-[WebFrame _setLoadType:]):
10027         (-[WebFrame _loadType]):
10028         (-[WebFrame _transitionToCommitted]):
10029
10030 2002-07-25  Chris Blumenberg  <cblu@apple.com>
10031
10032         Made some WebPolicy API's private
10033         Added support for download link/image to disk
10034
10035         * Misc.subproj/WebDownloadHandler.m:
10036         (-[WebDownloadHandler receivedData:]):
10037         * WebKit.pbproj/project.pbxproj:
10038         * WebView.subproj/WebControllerPolicyHandler.h:
10039         * WebView.subproj/WebControllerPolicyHandler.m:
10040         (-[WebPolicyPrivate dealloc]):
10041         (-[WebPolicy _setPolicyAction:]):
10042         (-[WebPolicy policyAction]):
10043         (-[WebPolicy path]):
10044         (-[WebPolicy _setPath:]):
10045         (-[WebPolicy dealloc]):
10046         (+[WebURLPolicy webPolicyWithURLAction:]):
10047         (+[WebFileURLPolicy webPolicyWithFileAction:]):
10048         (+[WebContentPolicy webPolicyWithContentAction:andPath:]):
10049         (+[WebClickPolicy webPolicyWithClickAction:andPath:]):
10050         * WebView.subproj/WebControllerPolicyHandlerPrivate.h: Added.
10051         * WebView.subproj/WebDefaultContextMenuHandler.m:
10052         (-[WebDefaultContextMenuHandler downloadURL:]):
10053         (-[WebDefaultContextMenuHandler downloadLinkToDisk:]):
10054         (-[WebDefaultContextMenuHandler openImageInNewWindow:]):
10055         (-[WebDefaultContextMenuHandler downloadImageToDisk:]):
10056         * WebView.subproj/WebMainResourceClient.m:
10057         (-[WebMainResourceClient WebResourceHandle:dataDidBecomeAvailable:]):
10058
10059 2002-07-25  Chris Blumenberg  <cblu@apple.com>
10060
10061         Fixed crasher caused by not retaining the content policy.
10062
10063         * WebView.subproj/WebControllerPolicyHandler.h:
10064         * WebView.subproj/WebMainResourceClient.h:
10065         * WebView.subproj/WebMainResourceClient.m:
10066         (-[WebMainResourceClient WebResourceHandle:dataDidBecomeAvailable:]):
10067
10068 2002-07-25  Chris Blumenberg  <cblu@apple.com>
10069
10070         Made policy APIs return a WebPolicy object.
10071         Added click policy.
10072
10073         * Misc.subproj/WebDownloadHandler.m:
10074         (-[WebDownloadHandler receivedData:]):
10075         (-[WebDownloadHandler finishedLoading]):
10076         (-[WebDownloadHandler cancel]):
10077         * WebKit.pbproj/project.pbxproj:
10078         * WebView.subproj/WebController.h:
10079         * WebView.subproj/WebController.m:
10080         (+[WebController defaultURLPolicyForURL:]):
10081         * WebView.subproj/WebControllerPolicyHandler.h:
10082         * WebView.subproj/WebControllerPolicyHandler.m: Added.
10083         (-[WebPolicy initWithPolicyAction:]):
10084         (-[WebPolicy policyAction]):
10085         (+[WebURLPolicy webPolicyWithURLAction:]):
10086         (+[WebFileURLPolicy webPolicyWithFileAction:]):
10087         (+[WebContentPolicy webPolicyWithContentAction:andPath:]):
10088         (-[WebContentPolicy initWithContentPolicyAction:andPath:]):
10089         (-[WebContentPolicy dealloc]):
10090         (-[WebContentPolicy path]):
10091         (-[WebClickPolicy initWithClickPolicyAction:andPath:]):
10092         (+[WebClickPolicy webPolicyWithClickAction:andPath:]):
10093         (-[WebClickPolicy dealloc]):
10094         (-[WebClickPolicy path]):
10095         * WebView.subproj/WebControllerPrivate.m:
10096         (-[WebController _receivedError:forResourceHandle:partialProgress:fromDataSource:]):
10097         * WebView.subproj/WebDataSource.h:
10098         * WebView.subproj/WebDataSource.m:
10099         (-[WebDataSource contentPolicy]):
10100         (-[WebDataSource fileType]):
10101         * WebView.subproj/WebDataSourcePrivate.h:
10102         * WebView.subproj/WebDataSourcePrivate.m:
10103         (-[WebDataSourcePrivate dealloc]):
10104         (-[WebDataSource _setContentPolicy:]):
10105         (-[WebDataSource _commitIfReady]):
10106         (-[WebDataSource _isReadyForData]):
10107         * WebView.subproj/WebDefaultPolicyHandler.m:
10108         (-[WebDefaultPolicyHandler URLPolicyForURL:]):
10109         (-[WebDefaultPolicyHandler fileURLPolicyForMIMEType:dataSource:isDirectory:]):
10110         (-[WebDefaultPolicyHandler unableToImplementFileURLPolicy:error:forDataSource:]):
10111         (-[WebDefaultPolicyHandler unableToImplementURLPolicy:error:forURL:]):
10112         (-[WebDefaultPolicyHandler pluginNotFoundForMIMEType:pluginPageURL:]):
10113         (-[WebDefaultPolicyHandler clickPolicyForElement:button:modifierMask:]):
10114         * WebView.subproj/WebFrame.m:
10115         (-[WebFrame initWithName:webView:provisionalDataSource:controller:]):
10116         * WebView.subproj/WebFramePrivate.m:
10117         (-[WebFrame _shouldShowDataSource:]):
10118         * WebView.subproj/WebMainResourceClient.m:
10119         (-[WebMainResourceClient receivedProgressWithHandle:complete:]):
10120         (-[WebMainResourceClient receivedError:forHandle:]):
10121         (-[WebMainResourceClient WebResourceHandleDidFinishLoading:data:]):
10122         (-[WebMainResourceClient WebResourceHandle:dataDidBecomeAvailable:]):
10123
10124 2002-07-25  Darin Adler  <darin@apple.com>
10125
10126         * WebKit.pbproj/project.pbxproj: Add DeploymentFat build style.
10127
10128 2002-07-25  Darin Adler  <darin@apple.com>
10129
10130         WebKit part of fix for 3006054 -- assert error failingURL != nil
10131
10132         * WebCoreSupport.subproj/WebBridge.m:
10133         (-[WebBridge reportError:]): New. Passes the error to the controller associated with
10134         the dataSource.
10135
10136         * WebCoreSupport.subproj/WebSubresourceClient.m:
10137         (+[WebSubresourceClient startLoadingResource:withURL:dataSource:]): Call absoluteString.
10138         (-[WebSubresourceClient WebResourceHandleDidCancelLoading:]): Call absoluteString.
10139         * WebView.subproj/WebController.m:
10140         (-[WebController haveContentPolicy:andPath:forDataSource:]): Call absoluteString.
10141         * WebView.subproj/WebControllerPrivate.m:
10142         (-[WebController _receivedError:forResourceHandle:partialProgress:fromDataSource:]):
10143         Don't call absoluteString.
10144         * WebView.subproj/WebFramePrivate.m:
10145         (-[WebFrame _shouldShowDataSource:]): Call absoluteString.
10146         * WebView.subproj/WebMainResourceClient.m:
10147         (-[WebMainResourceClient WebResourceHandleDidCancelLoading:]): Call absoluteString.
10148
10149 2002-07-25  Chris Blumenberg  <cblu@apple.com>
10150
10151         Remove reloadImage until its implemented.
10152
10153         * WebView.subproj/WebDefaultContextMenuHandler.m:
10154         (-[WebDefaultContextMenuHandler contextMenuItemsForElement:defaultMenuItems:]):
10155
10156 2002-07-25  Chris Blumenberg  <cblu@apple.com>
10157
10158         Renamed elementInfoAtPoint to elementAtPoint
10159
10160         * WebKit.pbproj/project.pbxproj:
10161         * WebView.subproj/WebDefaultContextMenuHandler.h:
10162         * WebView.subproj/WebDefaultContextMenuHandler.m:
10163         (+[WebDefaultContextMenuHandler addMenuItemWithTitle:action:target:toArray:]): renamed
10164         (-[WebDefaultContextMenuHandler contextMenuItemsForElement:defaultMenuItems:]):
10165         * WebView.subproj/WebHTMLView.m:
10166         (-[WebHTMLView menuForEvent:]):
10167         * WebView.subproj/WebHTMLViewPrivate.h:
10168         * WebView.subproj/WebHTMLViewPrivate.m:
10169         (-[WebHTMLView _elementAtPoint:]):
10170
10171 2002-07-24  Chris Blumenberg  <cblu@apple.com>
10172
10173         tiny change
10174
10175         * WebView.subproj/WebDefaultContextMenuHandler.m:
10176
10177 2002-07-24  Chris Blumenberg  <cblu@apple.com>
10178
10179         Added implmentations for a few context menu items.
10180
10181         * WebView.subproj/WebController.h:
10182         * WebView.subproj/WebDefaultContextMenuHandler.h:
10183         * WebView.subproj/WebDefaultContextMenuHandler.m:
10184         (-[WebDefaultContextMenuHandler dealloc]):
10185         (-[WebDefaultContextMenuHandler contextMenuItemsForElement:defaultMenuItems:]):
10186         (-[WebDefaultContextMenuHandler validateUserInterfaceItem:]):
10187         (-[WebDefaultContextMenuHandler openNewWindowWithURL:]):
10188         (-[WebDefaultContextMenuHandler openLinkInNewWindow:]):
10189         (-[WebDefaultContextMenuHandler copyLinkToClipboard:]):
10190         (-[WebDefaultContextMenuHandler openImageInNewWindow:]):
10191         (-[WebDefaultContextMenuHandler copyImageToClipboard:]):
10192         (-[WebDefaultContextMenuHandler reloadImage:]):
10193         (-[WebDefaultContextMenuHandler openFrameInNewWindow:]):
10194         * WebView.subproj/WebHTMLView.m:
10195         (-[WebHTMLView menuForEvent:]):
10196
10197 2002-07-24  Richard Williamson  <rjw@apple.com>
10198
10199         Removed vestigal locationChangeHandler ivar.
10200         
10201         * WebView.subproj/WebDataSourcePrivate.h:
10202         * WebView.subproj/WebDataSourcePrivate.m:
10203         (-[WebDataSource _loadIcon]):
10204
10205 2002-07-24  Chris Blumenberg  <cblu@apple.com>
10206
10207         Call [self _locationChangeHandler] instead of _private-locationChangeHandler
10208
10209         * WebView.subproj/WebDataSourcePrivate.m:
10210         (-[WebDataSource receivedPageIcon:]):
10211
10212 2002-07-24  Richard Williamson  <rjw@apple.com>
10213
10214         Implemented find for text views.
10215         
10216         * WebView.subproj/WebTextView.m:
10217         (-[NSString findString:selectedRange:options:wrap:]):
10218         (-[WebTextView searchFor:direction:caseSensitive:]):
10219
10220 2002-07-24  Chris Blumenberg  <cblu@apple.com>
10221
10222         Implemented initial contextual menus. None activated yet.
10223
10224         * WebView.subproj/WebDefaultContextMenuHandler.h:
10225         * WebView.subproj/WebDefaultContextMenuHandler.m:
10226         (-[WebDefaultContextMenuHandler dealloc]): added
10227         (-[WebDefaultContextMenuHandler addMenuItemWithTitle:action:toArray:]): added
10228         (-[WebDefaultContextMenuHandler contextMenuItemsForElementInfo:defaultMenuItems:]): create menu items
10229         * WebView.subproj/WebHTMLView.m:
10230         (-[WebHTMLView menuForEvent:]): 
10231
10232 2002-07-24  Chris Blumenberg  <cblu@apple.com>
10233
10234         More renaming for WebDefaultPolicyHandler.
10235
10236         * WebView.subproj/WebController.m:
10237         (-[WebController policyHandler]):
10238         * WebView.subproj/WebDefaultPolicyHandler.h:
10239         * WebView.subproj/WebDefaultPolicyHandler.m:
10240
10241 2002-07-24  Chris Blumenberg  <cblu@apple.com>
10242
10243         Renamed WebDefaultControllerPolicyHandler to WebDefaultPolicyHandler.
10244
10245         * WebKit.pbproj/project.pbxproj:
10246         * WebView.subproj/WebDefaultControllerPolicyHandler.h: Removed.
10247         * WebView.subproj/WebDefaultControllerPolicyHandler.m: Removed.
10248         * WebView.subproj/WebDefaultPolicyHandler.h: Added.
10249         * WebView.subproj/WebDefaultPolicyHandler.m: Added.
10250         (-[WebDefaultControllerPolicyHandler initWithWebController:]):
10251         (-[WebDefaultControllerPolicyHandler URLPolicyForURL:]):
10252         (-[WebDefaultControllerPolicyHandler fileURLPolicyForMIMEType:dataSource:isDirectory:]):
10253         (-[WebDefaultControllerPolicyHandler unableToImplementFileURLPolicy:forDataSource:]):
10254         (-[WebDefaultControllerPolicyHandler requestContentPolicyForMIMEType:dataSource:]):
10255         (-[WebDefaultControllerPolicyHandler unableToImplementURLPolicyForURL:error:]):
10256         (-[WebDefaultControllerPolicyHandler unableToImplementContentPolicy:forDataSource:]):
10257         (-[WebDefaultControllerPolicyHandler pluginNotFoundForMIMEType:pluginPageURL:]):
10258
10259 2002-07-24  Chris Blumenberg  <cblu@apple.com>
10260
10261         More plumbing for contextual menu support.
10262
10263         * WebKit.pbproj/project.pbxproj:
10264         * WebView.subproj/WebController.h:
10265         * WebView.subproj/WebController.m:
10266         (-[WebController setContextMenuHandler:]): added
10267         (-[WebController contextMenuHandler]): added
10268         * WebView.subproj/WebControllerPrivate.h:
10269         * WebView.subproj/WebControllerPrivate.m:
10270         (-[WebControllerPrivate init]): alloc WebDefaultContextMenuHandler
10271         (-[WebControllerPrivate dealloc]): dealloc WebDefaultContextMenuHandler
10272         (-[WebController _defaultContextMenuHandler]):
10273         * WebView.subproj/WebDefaultContextMenuHandler.h: Added.
10274         * WebView.subproj/WebDefaultContextMenuHandler.m: Added.
10275         (-[WebDefaultContextMenuHandler contextMenuItemsForElementInfo:defaultMenuItems:]): new
10276         * WebView.subproj/WebHTMLView.m:
10277         (-[WebHTMLView menuForEvent:]): call contextMenuHandlers
10278         * WebView.subproj/WebHTMLViewPrivate.h:
10279         * WebView.subproj/WebHTMLViewPrivate.m:
10280         (-[WebHTMLView _setController:]): added comment
10281         (-[WebHTMLView _controller]): added
10282
10283 2002-07-24  Darin Adler  <darin@apple.com>
10284
10285         * WebCoreSupport.subproj/WebTextRenderer.m:
10286         (-[WebTextRenderer xHeight]): Added. Calls [NSFont xHeight].
10287
10288         * WebView.subproj/WebPreferences.h:
10289         * WebView.subproj/WebPreferences.m:
10290         (+[WebPreferences load]):
10291         (-[WebPreferences defaultFontSize]):
10292         (-[WebPreferences setDefaultFontSize:]):
10293         Renamed minimumFont to defaultFont, and changed it from 11 to 16.
10294         Also changed default monospaced font to Courier instead of Monaco.
10295
10296 2002-07-24  Richard Williamson  <rjw@apple.com>
10297
10298         Support for find in HTML, find in text view coming soon.
10299         
10300         * WebView.subproj/WebDocument.h:
10301         * WebView.subproj/WebHTMLView.h:
10302         * WebView.subproj/WebHTMLView.m:
10303         (-[WebHTMLView searchFor:direction:caseSensitive:]):
10304         * WebView.subproj/WebTextView.h:
10305         * WebView.subproj/WebTextView.m:
10306         (-[WebTextView searchFor:direction:caseSensitive:]):
10307
10308 2002-07-23  Chris Blumenberg  <cblu@apple.com>
10309
10310         More plumbing for contextual menu support.
10311
10312         * WebCoreSupport.subproj/WebBridge.h:
10313         * WebCoreSupport.subproj/WebBridge.m:
10314         * WebView.subproj/WebHTMLView.m:
10315         (-[WebHTMLView menuForEvent:]):
10316         * WebView.subproj/WebHTMLViewPrivate.h:
10317         * WebView.subproj/WebHTMLViewPrivate.m:
10318         (-[WebHTMLView _elementInfoAtPoint:]): added
10319
10320 2002-07-23  Darin Adler  <darin@apple.com>
10321
10322         * WebKit.pbproj/project.pbxproj: Fix file reference types to be more consistent.
10323
10324 2002-07-23  Chris Blumenberg  <cblu@apple.com>
10325
10326         Initial plumbing for contextual menu support.
10327
10328         * WebCoreSupport.subproj/WebBridge.h:
10329         * WebCoreSupport.subproj/WebBridge.m:
10330         (-[WebBridge elementInfoForMouseEvent:]): added
10331         * WebView.subproj/WebController.h:
10332         * WebView.subproj/WebHTMLView.m:
10333         (-[WebHTMLView menuForEvent:]): added
10334
10335 2002-07-23  Darin Adler  <darin@apple.com>
10336
10337         * WebKit.pbproj/project.pbxproj: Fix paths for newly added files.
10338
10339 2002-07-23  Richard Williamson  <rjw@apple.com>
10340
10341         Cleaned up LocationChangeHandler.  We now have one per controller.
10342         
10343         * WebKit.pbproj/project.pbxproj:
10344         * WebView.subproj/WebController.h:
10345         * WebView.subproj/WebController.m:
10346         (-[WebController policyHandler]):
10347         (-[WebController setLocationChangeHandler:]):
10348         (-[WebController locationChangeHandler]):
10349         * WebView.subproj/WebControllerPolicyHandler.h:
10350         * WebView.subproj/WebControllerPrivate.h:
10351         * WebView.subproj/WebDataSourcePrivate.h:
10352         * WebView.subproj/WebDataSourcePrivate.m:
10353         (-[WebDataSourcePrivate dealloc]):
10354         
10355         (-[WebDataSource _setIsDummy:)
10356         (-[WebDataSource _isDummy]):
10357         Hack on hack.  MJS will remove when the dummy data source hack is removed.
10358         
10359         (-[WebDataSource _locationChangeHandler]):
10360         (-[WebDataSource _removeFromFrame]):
10361         (-[WebFrame initWithName:webView:provisionalDataSource:controller:]):
10362         (-[WebFrame setProvisionalDataSource:]):
10363         * WebView.subproj/WebFramePrivate.m:
10364         (-[WebFramePrivate dealloc]):
10365         
10366         Added default policy handler.  This is used if no policy handler is
10367         set on the controller.
10368         
10369         * WebView.subproj/WebDefaultControllerPolicyHandler.h: Added.
10370         * WebView.subproj/WebDefaultControllerPolicyHandler.m: Added.
10371         (-[WebDefaultControllerPolicyHandler initWithWebController:]):
10372         (-[WebDefaultControllerPolicyHandler URLPolicyForURL:]):
10373         (-[WebDefaultControllerPolicyHandler fileURLPolicyForMIMEType:dataSource:isDirectory:]):
10374         (-[WebDefaultControllerPolicyHandler unableToImplementFileURLPolicy:forDataSource:]):
10375         (-[WebDefaultControllerPolicyHandler requestContentPolicyForMIMEType:dataSource:]):
10376         (-[WebDefaultControllerPolicyHandler unableToImplementURLPolicyForURL:error:]):
10377         (-[WebDefaultControllerPolicyHandler unableToImplementContentPolicy:forDataSource:]):
10378         (-[WebDefaultControllerPolicyHandler pluginNotFoundForMIMEType:pluginPageURL:]):
10379         * WebView.subproj/WebFrame.m:
10380
10381 2002-07-23  Darin Adler  <darin@apple.com>
10382
10383         * Makefile.am: Clean based on all, not all-am, so it happens before subdirs
10384         if any.
10385
10386 2002-07-23  Darin Adler  <darin@apple.com>
10387
10388         * WebCoreSupport.subproj/WebTextRenderer.m:
10389         (-[WebTextRenderer drawUnderlineForCharacters:stringLength:atPoint:withColor:]):
10390         Change API to take character array instead of a string.
10391
10392         * WebKit.pbproj/project.pbxproj: Took "subproj" off the names of some groups.
10393
10394 === Alexander-14 ===
10395
10396 2002-07-22  Richard Williamson  <rjw@apple.com>
10397
10398         Moved back/forward list from Alex's document to WebController.  First step
10399         to address a series of back/forward related issues.        
10400
10401         * WebView.subproj/WebController.h:
10402         * WebView.subproj/WebController.m:
10403         (-[WebController backForwardList]):
10404         * WebView.subproj/WebControllerPrivate.h:
10405         * WebView.subproj/WebControllerPrivate.m:
10406         (-[WebControllerPrivate init]):
10407         (-[WebControllerPrivate dealloc]):
10408
10409 2002-07-22  Chris Blumenberg  <cblu@apple.com>
10410
10411         Strip white space before and after URL string 2998696
10412
10413         * Misc.subproj/WebNSViewExtras.m:
10414         (-[NSView _web_bestURLForDraggingInfo:]):
10415
10416 2002-07-22  Ken Kocienda  <kocienda@apple.com>
10417
10418         * WebView.subproj/WebHTMLView.m: import of removed WebFrame bridge header was
10419         left in, causing a build break.
10420
10421 2002-07-22  Maciej Stachowiak  <mjs@apple.com>
10422
10423         Merged WebBridge and WebFrameBridge.
10424
10425         * WebCoreSupport.subproj/WebBridge.h:
10426         * WebCoreSupport.subproj/WebBridge.m:
10427         (-[WebBridge childFrames]): Return bridges, not frameBridges.
10428         (-[WebBridge descendantFrameNamed:]): Return bridge, not frameBridge.
10429         (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]): Return a bridge, not a frameBridge.
10430         (-[WebBridge mainFrame]): Return a bridge, not a frameBridge.
10431         (-[WebBridge frameNamed:]):Return a bridge, not a frameBridge.
10432         (-[WebBridge loadURL:attributes:flags:withParent:]): Moved from WebFrameBridge.
10433         (-[WebBridge loadURL:]): Moved from WebFrameBridge.
10434         (-[WebBridge postWithURL:data:]): Moved from WebFrameBridge.
10435         * WebCoreSupport.subproj/WebFrameBridge.h: Removed.
10436         * WebCoreSupport.subproj/WebFrameBridge.m: Removed.
10437         * WebView.subproj/WebFrame.m:
10438         (-[WebFrame initWithName:webView:provisionalDataSource:controller:]): Don't create
10439         a WebFrameBridge.
10440         * WebView.subproj/WebFramePrivate.h:
10441         * WebView.subproj/WebFramePrivate.m:
10442         (-[WebFramePrivate dealloc]): No longer dealloc frameBridge, since we don't have one.
10443         (-[WebFrame _transitionToCommitted]): Pass along the frame's render part, if any. 
10444         (-[WebFrame _frameBridge]): Removed.
10445         * WebKit.pbproj/project.pbxproj: Removed deleted files.
10446
10447 2002-07-22  Maciej Stachowiak  <mjs@apple.com>
10448
10449         Change WebBridge to hold on to a WebFrame instead of a
10450         WebDataSource. Since we will no longer ever have a bridge for a
10451         provisional data source, we'll just bind the bridge to a
10452         frame. Which means we can merge the bridge and the frame bridge
10453         next.
10454         
10455         * WebCoreSupport.subproj/WebBridge.h: 
10456         * WebCoreSupport.subproj/WebBridge.m: Changed below methods to work
10457         with direct knowledge of the frame but not the bridge (mostly a
10458         simplification).
10459         (-[WebBridge frame]): 
10460         (-[WebBridge parent]):
10461         (-[WebBridge childFrames]):
10462         (-[WebBridge descendantFrameNamed:]):
10463         (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]):
10464         (-[WebBridge openNewWindowWithURL:]):
10465         (-[WebBridge areToolbarsVisible]):
10466         (-[WebBridge setToolbarsVisible:]):
10467         (-[WebBridge areScrollbarsVisible]):
10468         (-[WebBridge setScrollbarsVisible:]):
10469         (-[WebBridge isStatusBarVisible]):
10470         (-[WebBridge setStatusBarVisible:]):
10471         (-[WebBridge setWindowFrame:]):
10472         (-[WebBridge window]):
10473         (-[WebBridge setStatusText:]):
10474         (-[WebBridge mainFrame]):
10475         (-[WebBridge frameNamed:]):
10476         (-[WebBridge receivedData:withDataSource:]):
10477         (-[WebBridge objectLoadedFromCache:size:]):
10478         (-[WebBridge setFrame:]):
10479         (-[WebBridge dataSourceChanged]):
10480         (-[WebBridge dataSource]):
10481         (-[WebBridge openedByScript]):
10482         (-[WebBridge setOpenedByScript:]):
10483
10484         * WebView.subproj/WebDataSourcePrivate.m:
10485         (-[WebDataSource _commitIfReady]): Set bridge's frame and notify
10486         that the data source changed.
10487         * WebView.subproj/WebFrame.m:
10488         (-[WebFrame initWithName:webView:provisionalDataSource:controller:]): Set
10489         bridge's frame.
10490         * WebView.subproj/WebFramePrivate.h, WebView.subproj/WebFramePrivate.m:
10491         (-[WebFrame _bridge]): Method to get the bridge.
10492
10493 2002-07-21  Maciej Stachowiak  <mjs@apple.com>
10494
10495         Removed provisional/committed distinction from WebCore and the
10496         WebCore SPI. WebCore will never see a provisional data source or
10497         provisional anything, any more. 
10498
10499         * WebCoreSupport.subproj/WebBridge.m:
10500         (-[WebBridge descendantFrameNamed:]): Don't bother with the provisional
10501         bridge - no such thing.
10502         (-[WebBridge setDataSource:]): Assert the data source is committed.
10503         * WebCoreSupport.subproj/WebFrameBridge.m:
10504         (-[WebFrameBridge bridge]): Return committed bridge always, and remove
10505         committed bridge method.
10506
10507 2002-07-21  Maciej Stachowiak  <mjs@apple.com>
10508
10509         Fix a regression in my recent refactoring that broke JavaScript
10510         window opening, by doing some trickery to make a frame's initial
10511         dummy data source committed.
10512
10513         * WebView.subproj/WebFrame.m:
10514         (-[WebFrame initWithName:webView:provisionalDataSource:controller:]):
10515         Create dummy data source as committed, not provisional.
10516         * WebView.subproj/WebFramePrivate.m:
10517         (-[WebFrame _transitionToCommitted]): Allow the documentView to be nil
10518         if there is no webView either; this is temporarily needed to handle
10519         the special initial dummy data source, which will be going away soon.
10520         * WebView.subproj/WebDataSourcePrivate.m:
10521         (-[WebDataSource _receivedData:]): Add temporary special case to
10522         avoid sending empty NSData to the representation, to avoid
10523         triggering WebCore assertions.
10524         * WebCoreSupport.subproj/WebBridge.m:
10525         (-[WebBridge openNewWindowWithURL:]): Get the committed data
10526         source, not the provisional one.
10527
10528 2002-07-21  Chris Blumenberg  <cblu@apple.com>
10529         Used darin-inspired code factoring to fix 3000801 (alex doesn't accept drag of webloc file) in 3 places where we accept drags.
10530      
10531         * Misc.subproj/WebNSViewExtras.h:
10532         * Misc.subproj/WebNSViewExtras.m:
10533         (-[NSView _web_parentWebView]): no changes
10534         (-[NSView _web_acceptableDragTypes]): added
10535         (-[NSView _web_bestURLForDraggingInfo:]): added
10536         (-[NSView _web_dragOperationForDraggingInfo:]): added
10537         * WebKit.pbproj/project.pbxproj: made WebNSViewExtras.h public
10538         * WebView.subproj/WebView.m:
10539         (-[WebView initWithFrame:]): calls _web_acceptableDragTypes
10540         (-[WebView draggingEntered:]): calls _web_dragOperationForDraggingInfo
10541         (-[WebView concludeDragOperation:]): calls _web_bestURLForDraggingInfo
10542
10543 2002-07-21  Chris Blumenberg  <cblu@apple.com>
10544
10545         - We were loading icons when page loads ended in error. Fixed.
10546         - Special-case file URLs once instead of twice by moving NSWorkspace
10547           call out of WebIconLoader
10548
10549         * Misc.subproj/WebIconLoader.m:
10550         (-[WebIconLoader startLoading]): removed file URL special-case
10551         * WebView.subproj/WebDataSourcePrivate.m:
10552         (-[WebDataSource _loadIcon]): check for document error, send file 
10553 icon to client if none has been set with the LINK tag
10554
10555 2002-07-21  Maciej Stachowiak  <mjs@apple.com>
10556
10557         * Makefile.am: Remove products from symroots on `make clean'.
10558
10559 2002-07-21  Maciej Stachowiak  <mjs@apple.com>
10560
10561         * WebKit.pbproj/project.pbxproj: Set directories for the group
10562         folders, so that creating new files in them will put them in the
10563         right directory by default.
10564
10565 2002-07-21  Maciej Stachowiak  <mjs@apple.com>
10566
10567         More refactoring. Change bridge to get the data source via a
10568         method instead of straight from the ivar, and in the method,
10569         assert that the data source is not nil and is not
10570         provisional. Turns out no one was using it while provisional,
10571         which is great. This means we can eliminate the provisional
10572         concept from the bridge interface as the next step.
10573
10574         * WebCoreSupport.subproj/WebBridge.h:
10575         * WebCoreSupport.subproj/WebBridge.m:
10576         (-[WebBridge dataSource]): New method to get data source - assert
10577         it is not nil, and committed.
10578         (-[WebBridge frame]): Get data source from method.
10579         (-[WebBridge childFrames]): Likewise.
10580         (-[WebBridge descendantFrameNamed:]): Likewise. 
10581         (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]): Likewise.
10582         (-[WebBridge openNewWindowWithURL:]): Likewise.
10583         (-[WebBridge areToolbarsVisible]): Likewise.
10584         (-[WebBridge setToolbarsVisible:]): Likewise.
10585         (-[WebBridge areScrollbarsVisible]): Likewise.
10586         (-[WebBridge setScrollbarsVisible:]): Likewise.
10587         (-[WebBridge isStatusBarVisible]): Likewise.
10588         (-[WebBridge setStatusBarVisible:]): Likewise.
10589         (-[WebBridge setWindowFrame:]): Likewise.
10590         (-[WebBridge window]): Likewise.
10591         (-[WebBridge setTitle:]): Likewise.
10592         (-[WebBridge setStatusText:]): Likewise.
10593         (-[WebBridge mainFrame]): Likewise.
10594         (-[WebBridge frameNamed:]): Likewise.
10595         (-[WebBridge receivedData:withDataSource:]): Likewise.
10596         (-[WebBridge startLoadingResource:withURL:]): Likewise.
10597         (-[WebBridge objectLoadedFromCache:size:]): Likewise.
10598         (-[WebBridge setDataSource:]): Likewise.
10599         (-[WebBridge openedByScript]): Likewise.
10600         (-[WebBridge setOpenedByScript:]): Likewise.
10601         (-[WebBridge setIconURL:]): Likewise.
10602         (-[WebBridge setIconURL:withType:]): Likewise.
10603         * WebView.subproj/WebDataSourcePrivate.h,
10604         WebView.subproj/WebDataSourcePrivate.m:
10605         (-[WebDataSource _isCommitted]): New private method to check if a
10606         data source is committed, for the benefit of WebBridge assertions.
10607
10608 2002-07-20  Darin Adler  <darin@apple.com>
10609
10610         * WebKit.pbproj/project.pbxproj: Turn stricter warnings back on now that we
10611         don't use C++ any more.
10612
10613         * Plugins.subproj/WebPluginView.m:
10614         (-[WebPluginView sendActivateEvent:]): Fix cast that stricter warning didn't like.
10615         (-[WebPluginView sendUpdateEvent]): Fix cast that stricter warning didn't like.
10616         (-[WebPluginView frameStateChanged:]): Remove unneeded cast that stricter warning didn't like.
10617
10618 2002-07-20  Darin Adler  <darin@apple.com>
10619
10620         - fixed 2999643 -- Leak of NSSet in -[IFStandardPanels _didStartLoadingURL:inController:]
10621
10622         This is another case of the leak I fixed a month ago. I don't know how I managed to
10623         overlook this other code path with the identical bug.
10624
10625         * Panels.subproj/WebStandardPanels.m:
10626         (-[WebStandardPanels _didStopLoadingURL:inController:]): Fix a leak caused
10627         by calling the wrong method. This was calling objectForKey: instead of
10628         removeObjectForKey:.
10629
10630 2002-07-20  Darin Adler  <darin@apple.com>
10631
10632         * WebCoreSupport.subproj/WebBridge.m:
10633         (-[WebBridge areToolbarsVisible]):
10634         (-[WebBridge isStatusBarVisible]):
10635         Fix misspelling of visible.
10636
10637 2002-07-20  Maciej Stachowiak  <mjs@apple.com>
10638
10639         Changed the code to handle "icon" and "SHORTCUT ICON" links
10640         separately, and give higher priority to the former. 
10641
10642         Also, we don't start loading the icon the moment khtml finds one
10643         in the document any more, instead we wait until the document is
10644         done loading, in case there are both "icon" and "SHORTCUT ICON"
10645         link tags.
10646
10647         - fixed 3003672 - Assertion failure related to iconloader on metafilter
10648
10649         * WebCoreSupport.subproj/WebBridge.m:
10650         (-[WebBridge setIconURL:]): Forward to the data source.
10651         (-[WebBridge setIconURL:withType:]): Likewise.
10652         * WebView.subproj/WebDataSourcePrivate.h:
10653         * WebView.subproj/WebDataSourcePrivate.m:
10654         (-[WebDataSourcePrivate dealloc]): Release iconURL.
10655         (-[WebDataSource _setDefaultIconURLIfUnset]): Renamed from
10656         _loadPageIconIfNecessary, and changed to only set iconURL rather
10657         than actually loading.
10658         (-[WebDataSource _setPrimaryLoadComplete:]): Call _loadIcon
10659         instead of _loadPageIconIfNecessary, since we defer all loads to
10660         this point.
10661         (-[WebDataSource _loadIcon]): Load current iconURL if set.
10662         (-[WebDataSource _setIconURL:]): Set iconURL if not set already
10663         (since typed icons are higher priority).
10664         (-[WebDataSource _setIconURL:withType:]): Set the iconURL.
10665
10666 2002-07-20  Darin Adler  <darin@apple.com>
10667
10668         - fixed 2999616 -- Possible leak in +[IFPluginDatabase installedPlugins]
10669
10670         * Plugins.subproj/WebPluginDatabase.m:
10671         (+[WebPluginDatabase installedPlugins]): Move the code into an init function.
10672         (pluginLocations): Simplified.
10673         (-[WebPluginDatabase init]): Added. Cleaned up a bit, and made it release the
10674         WebPlugin objects -- this was the leak.
10675         (-[WebPluginDatabase dealloc]): Added.
10676
10677         * Plugins.subproj/WebPluginDatabase.h: Tweaked formatting.
10678
10679         * Plugins.subproj/WebPluginStream.h:
10680         * Plugins.subproj/WebPluginStream.m:
10681         (-[WebPluginStream startLoad]):
10682         (-[WebPluginStream stop]):
10683         * WebCoreSupport.subproj/WebSubresourceClient.m:
10684         (+[WebSubresourceClient startLoadingResource:withURL:dataSource:]):
10685         (-[WebSubresourceClient WebResourceHandleDidCancelLoading:]):
10686         (-[WebSubresourceClient WebResourceHandleDidFinishLoading:data:]):
10687         (-[WebSubresourceClient WebResourceHandle:didFailLoadingWithResult:]):
10688         * WebView.subproj/WebDataSource.m:
10689         (-[WebDataSource stopLoading]):
10690         * WebView.subproj/WebDataSourcePrivate.h:
10691         * WebView.subproj/WebDataSourcePrivate.m:
10692         (-[WebDataSourcePrivate dealloc]):
10693         (-[WebDataSource _setPrimaryLoadComplete:]):
10694         (-[WebDataSource _startLoading:]):
10695         (-[WebDataSource _addResourceHandle:]):
10696         (-[WebDataSource _removeResourceHandle:]):
10697         Changed code that called it a URLHandle to say resourceHandle.
10698
10699         * WebView.subproj/WebFrame.m: (-[WebFrame dealloc]): Add an autorelease pool here since
10700         this is called from a timer and AppKit does not use an explicit autorelease pool
10701         in that case. This makes the "world leak check" work better, and is mildly helpful
10702         in other cases too. Radar 3003650 is a request for the AppKit team to fix this, but
10703         this workaround will do for now.
10704
10705 2002-07-19  Darin Adler  <darin@apple.com>
10706
10707         - fixed 3001951 -- Massive memory leak after running base or static PLT
10708
10709         * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _makeRepresentation]):
10710         Add a missing release.
10711
10712         Reduced our use of autorelease. This allows the page load test to detect leaks of the
10713         world much more easily. We may later find we need to use the "retain autorelease" idiom
10714         in a few more places, but I did a lot of testing and that did not show up.
10715
10716         * Bookmarks.subproj/WebBookmarkGroup.m:
10717         (-[WebBookmarkGroup _setTopBookmark:]): Use a plain release.
10718         (-[WebBookmarkGroup _loadBookmarkGroupGuts]): Use a plain release.
10719         * Bookmarks.subproj/WebBookmarkList.m:
10720         (-[WebBookmarkList copyWithZone:]): Use a plain release.
10721         * Misc.subproj/WebIconLoader.m:
10722         (-[WebIconLoader WebResourceHandleDidFinishLoading:data:]): Use a plain release.
10723         * Plugins.subproj/WebPluginView.m:
10724         (-[WebPluginView loadURL:inTarget:withNotifyData:andHandleAttributes:]): Use a plain release.
10725         * WebView.subproj/WebController.m:
10726         (-[WebController createFrameNamed:for:inParent:allowsScrolling:]): Use a plain release.
10727         (-[WebController setWindowContext:]): Use a plain release.
10728         (-[WebController setResourceProgressHandler:]): Use a plain release.
10729         (-[WebController setDownloadProgressHandler:]): Use a plain release.
10730         (-[WebController setPolicyHandler:]): Use a plain release.
10731         * WebView.subproj/WebControllerPrivate.m:
10732         (-[WebControllerPrivate dealloc]): Use plain release.
10733         * WebView.subproj/WebDataSourcePrivate.m:
10734         (-[WebDataSourcePrivate dealloc]): Use plain release.
10735         (-[WebDataSource _setPrimaryLoadComplete:]): Use plain release.
10736         (-[WebDataSource _setTitle:]): Use plain release.
10737         * WebView.subproj/WebFrame.m:
10738         (-[WebFrame initWithName:webView:provisionalDataSource:controller:]): Use plain release.
10739         (-[WebFrame reset]): Invalidate and release the timer.
10740         * WebView.subproj/WebFramePrivate.h: Keep a reference to the timer.
10741         * WebView.subproj/WebFramePrivate.m:
10742         (-[WebFramePrivate dealloc]): Invalidate and release the timer. Use plain release.
10743         (-[WebFramePrivate setName:]): Use plain release.
10744         (-[WebFramePrivate setWebView:]): Use plain release.
10745         (-[WebFramePrivate setDataSource:]): Use plain release.
10746         (-[WebFramePrivate setProvisionalDataSource:]): Use plain release.
10747         (-[WebFrame _scheduleLayout:]): Keep a reference to the timer.
10748         (-[WebFrame _timedLayout:]): Release and nil the timer.
10749         * WebView.subproj/WebRenderNode.m:
10750         (-[WebRenderNode initWithName:rect:view:children:]): Use plain release.
10751         * WebView.subproj/WebView.m:
10752         (-[WebView concludeDragOperation:]): Use plain release.
10753         * WebView.subproj/WebViewPrivate.m:
10754         (-[WebView _makeDocumentViewForDataSource:]): Use plain release.
10755
10756         Other changes to make the new page load test feature work.
10757
10758         * Misc.subproj/WebKitStatistics.h:
10759         * Misc.subproj/WebKitStatistics.m:
10760         (+[WebKitStatistics HTMLRepresentationCount]):
10761         Added a stat for WebHTMLRepresentation objects.
10762         * WebView.subproj/WebHTMLRepresentation.m:
10763         (-[WebHTMLRepresentation init]): Bump the count.
10764         (-[WebHTMLRepresentation dealloc]): Decrement the count.
10765
10766         Renaming.
10767
10768         * Misc.subproj/WebCoreStatistics.h:
10769         * Misc.subproj/WebKitStatisticsPrivate.h:
10770         * Misc.subproj/WebCoreStatistics.m:
10771         (+[WebCoreStatistics emptyCache]):
10772         (+[WebCoreStatistics setCacheDisabled:]):
10773         Renamed to include the word cache now that the class does not.
10774
10775         * Plugins.subproj/WebPluginStream.m:
10776         * WebCoreSupport.subproj/WebSubresourceClient.m:
10777         * WebView.subproj/WebMainResourceClient.m:
10778         Updated for the WebFoundation renaming.
10779
10780 2002-07-19  Chris Blumenberg  <cblu@apple.com>
10781
10782         * WebView.subproj/WebDataSourcePrivate.m:
10783         (-[WebDataSource _loadPageIconIfNecessary]): use the correct relative string to request favicon.ico
10784
10785 2002-07-19  Chris Blumenberg  <cblu@apple.com>
10786
10787         * History.subproj/WebHistoryItem.m:
10788         (-[WebHistoryItem image]): call [WebIconLoader defaultIcon]
10789         * Misc.subproj/WebIconLoader.m:
10790         (+[WebIconLoader defaultIcon]): move bundle image loading code from [WebHistoryItem image] to here.
10791
10792 2002-07-19  Chris Blumenberg  <cblu@apple.com>
10793
10794         Added support favicons.
10795
10796         * Misc.subproj/WebIconLoader.h: Added.
10797         * Misc.subproj/WebIconLoader.m: Added.
10798         (-[WebIconLoaderPrivate dealloc]):
10799         (+[WebIconLoader defaultIcon]):
10800         (-[WebIconLoader initWithURL:]):
10801         (-[WebIconLoader dealloc]):
10802         (-[WebIconLoader setDelegate:]):
10803         (-[WebIconLoader startLoading]):
10804         (-[WebIconLoader startLoadingOnlyFromCache]):
10805         (-[WebIconLoader stopLoading]):
10806         (-[WebIconLoader WebResourceHandleDidBeginLoading:]):
10807         (-[WebIconLoader WebResourceHandleDidCancelLoading:]):
10808         (-[WebIconLoader WebResourceHandleDidFinishLoading:data:]):
10809         (-[WebIconLoader WebResourceHandle:resourceDataDidBecomeAvailable:]):
10810         (-[WebIconLoader WebResourceHandle:resourceDidFailLoadingWithResult:]):
10811         (-[WebIconLoader WebResourceHandle:didRedirectToURL:]):
10812         * WebCoreSupport.subproj/WebBridge.m:
10813         (-[WebBridge loadIcon:]): added
10814         * WebKit.pbproj/project.pbxproj:
10815         * WebView.subproj/WebControllerPrivate.m:
10816         (-[WebController _mainReceivedError:forResourceHandle:partialProgress:fromDataSource:]):
10817         * WebView.subproj/WebDataSourcePrivate.h:
10818         * WebView.subproj/WebDataSourcePrivate.m:
10819         (-[WebDataSourcePrivate dealloc]):
10820         (-[WebDataSource _loadPageIconIfNecessary]): added
10821         (-[WebDataSource _setPrimaryLoadComplete:]): start loading icon
10822         (-[WebDataSource _stopLoading]): stop icon loader
10823         (-[WebDataSource receivedPageIcon:]): added
10824         (-[WebDataSource _loadIcon:]): added
10825         * WebView.subproj/WebLocationChangeHandler.h:
10826
10827 2002-07-19  Darin Adler  <darin@apple.com>
10828
10829         * WebKit.pbproj/project.pbxproj: Forgot to export WebKitStatistics.h so it can
10830         be used by WebBrowser.
10831
10832 2002-07-19  Darin Adler  <darin@apple.com>
10833
10834         Added some stats that we can use to sniff out "leak the world" problems.
10835
10836         * Misc.subproj/WebKitStatistics.h: Added.
10837         * Misc.subproj/WebKitStatistics.m: Added.
10838         * Misc.subproj/WebKitStatisticsPrivate.h: Added.
10839
10840         * WebKit.pbproj/project.pbxproj: Added new files.
10841
10842         * WebCoreSupport.subproj/WebBridge.m:
10843         (-[WebBridge init]): Bump count.
10844         (-[WebBridge dealloc]): Decrement count.
10845         * WebView.subproj/WebController.m:
10846         (-[WebController initWithView:provisionalDataSource:]): Bump count.
10847         (-[WebController dealloc]): Decrement count.
10848         * WebView.subproj/WebDataSource.m:
10849         (-[WebDataSource initWithURL:attributes:flags:): Bump count.
10850         (-[WebDataSource dealloc]): Decrement count.
10851         * WebView.subproj/WebFrame.m:
10852         (-[WebFrame initWithName:webView:provisionalDataSource:controller:]): Bump count.
10853         (-[WebFrame dealloc]): Decrement count.
10854         * WebView.subproj/WebView.m:
10855         (-[WebView initWithFrame:]): Bump count.
10856         (-[WebView dealloc]): Decrement count.
10857
10858 2002-07-19  Maciej Stachowiak  <mjs@apple.com>
10859
10860         More refactoring: Use assertions to make sure a provisional data
10861         source's bridge is never used - and then fix the places where it
10862         would have been used. :-)
10863
10864         * WebView.subproj/WebDataSource.m:
10865         (-[WebDataSource documentTextFromDOM]): Return nil if the document
10866         is not committed.
10867         * WebView.subproj/WebDataSourcePrivate.m:
10868         (-[WebDataSource _stopLoading]): Don't tell the bridge to stop
10869         if we're provisional, because we won't have one.
10870         (-[WebDataSource _setFinalURL:]): Don't try to set the bridge URL
10871         if we are not committed - it will get set at commit time.
10872         (-[WebDataSource _removeFromFrame]): Assert that the data soource is
10873         committed - a provisional data source should never be removed from a frame
10874         because it should never be in a frame in the first place.
10875         (-[WebDataSource _bridge]): Assert that the view is committed.
10876         (-[WebDataSource _commitIfReady]): Do nothing if already committed.
10877         (-[WebDataSource _receivedData:]): Notice that first byte was read,
10878         if appropriate, and commit when ready.
10879         * WebView.subproj/WebMainResourceClient.m:
10880         (-[WebMainResourceClient WebResourceHandle:didRedirectToURL:]):
10881         Simplify code by using [WebDataSource _receivedData:]
10882
10883 2002-07-19  Maciej Stachowiak  <mjs@apple.com>
10884
10885         Fix a regression caused by a previous commit that broke frames.
10886
10887         * WebCoreSupport.subproj/WebBridge.m:
10888         (-[WebBridge receivedData:withDataSource:]): Instead setting the data source
10889         implicitly here, and doing other special first-time init, simply assert that
10890         we have a data source.
10891         (-[WebBridge setDataSource:]): Do the extra work when setting the data
10892         source here instead.
10893         * WebView.subproj/WebDataSourcePrivate.m:
10894         (-[WebDataSource _commitIfReady]): After making the
10895         representation, set the data source, because we no longer pass the
10896         first data chunk _before_ transitioning to committed, instead we
10897         do it right after, so the logic in WebBridge to do it implicitly
10898         was not going to cut it.
10899
10900 2002-07-18  Maciej Stachowiak  <mjs@apple.com>
10901
10902         More refactoring: Simplify a bit more by moving more logic into
10903         the data source.
10904         
10905         * WebView.subproj/WebDataSourcePrivate.h, WebView.subproj/WebDataSourcePrivate.m:
10906         (-[WebDataSource _gotFirstByte]): Removed.
10907         (-[WebDataSource _setGotFirstByte]): Removed.
10908         (-[WebDataSource _isReadyForData]): Removed.
10909         (-[WebDataSource _receivedData:]): Commit if appropriate, and pass data to
10910         representation and documentView.
10911         * WebView.subproj/WebMainResourceClient.m:
10912         (-[WebMainResourceClient
10913         WebResourceHandle:resourceDataDidBecomeAvailable:]): Change the
10914         check back to policy != None, because the first chunk will trigger
10915         a commit in the policy == Show case, so there is no need to worry
10916         about it.
10917
10918 2002-07-18  Maciej Stachowiak  <mjs@apple.com>
10919
10920         Rename some methods for clarity. These two methods are defined by
10921         the end state, not the start state (in fact,
10922         transitionToLayoutAcceptable does most of it's work when it starts
10923         in the cimmitted state, not provisional).
10924
10925         * WebView.subproj/WebFramePrivate.h, WebView.subproj/WebFramePrivate.m:
10926         (-[WebFrame _transitionToLayoutAcceptable]): Renamed from
10927         _transitionProvisionalToLayoutAcceptable.
10928         (-[WebFrame _transitionToCommitted]): Renamed from
10929         _transitionProvisionalToLayoutAcceptable.
10930
10931         And adjust all the calls to them:
10932         
10933         * WebView.subproj/WebControllerPrivate.m:
10934         (-[WebController _receivedProgress:forResourceHandle:fromDataSource:complete:]):
10935         (-[WebController _mainReceivedProgress:forResourceHandle:fromDataSource:complete:]):
10936         * WebView.subproj/WebDataSourcePrivate.m:
10937         (-[WebDataSource _commitIfReady]):
10938
10939 2002-07-18  Maciej Stachowiak  <mjs@apple.com>
10940
10941         Even more exciting refactoring. Change the rules for committing
10942         the data source and creating the representation so that both
10943         happen when the first byte has been received _and_ the content
10944         policy has been set to show. Previously these actions happened at
10945         different times. Now we maintain the invariant that the data
10946         source has a representation if and only if it is committed.
10947         
10948         * WebView.subproj/WebController.m:
10949         (-[WebController haveContentPolicy:andPath:forDataSource:]): Simplify
10950         further by putting more of the work in WebDataSource.
10951         * WebView.subproj/WebControllerPrivate.m:
10952         (-[WebController _mainReceivedProgress:forResourceHandle:fromDataSource:complete:]):
10953         
10954         * WebView.subproj/WebDataSource.h, WebView.subproj/WebDataSource.m: Move
10955         makeRepresentation method to private file.
10956         * WebView.subproj/WebDataSourcePrivate.h:
10957         * WebView.subproj/WebDataSourcePrivate.m:
10958         (-[WebDataSource _setContentPolicy:]): If the policy is set to show,
10959         commit if we have already gotten the first byte.
10960         (-[WebDataSource _commitIfReady]): Create representation and
10961         commit if we have the first byte and have a policy of show.
10962         (-[WebDataSource _gotFirstByte]): Method to check if this data source
10963         has gotten the first byte yet. Commit here if ready. 
10964         (-[WebDataSource _setGotFirstByte]): Method to report that some
10965         data has been received.
10966         (-[WebDataSource _makeRepresentation]): Make and set up teh document view too.
10967         (-[WebDataSource _isReadyForData]): Return TRUE if policy is set (and if the policy
10968         is Show, if we have also received the first byte.
10969         * WebView.subproj/WebFramePrivate.m:
10970         (-[WebFrame _transitionProvisionalToCommitted]): Don't call the datasource (it now
10971         calls us)
10972         * WebView.subproj/WebMainResourceClient.m:
10973         (-[WebMainResourceClient WebResourceHandle:resourceDataDidBecomeAvailable:]):
10974
10975         * WebView.subproj/WebView.h, WebView.subproj/WebView.m: move
10976         makeDocumentViewForDataSource...  
10977         * WebView.subproj/WebViewPrivate.h, WebView.subproj/WebViewPrivate.m:
10978         (-[WebView _makeDocumentViewForDataSource:]): To here.
10979
10980 2002-07-18  Maciej Stachowiak  <mjs@apple.com>
10981
10982         Avoid throwing an exception while stopping animations. Image
10983         renders were getting into the array multiple times, which means
10984         the code that iterated over the array backwards could throw an
10985         exception, because callling removeObject: on the array would remove
10986         all instances of the object.
10987
10988         This probably fixes the following crashers, and a bunch of huge leaks:
10989
10990         Radar 2999853 - Uninitialized memory access in plugins on theonion.com
10991         Radar 2999892 - Crash disconnecting view from next view chain on theonion.com
10992         Radar 2999911 - Infinite loop in [WebHTMLView dealloc], resulting in crash
10993         
10994         * WebCoreSupport.subproj/WebImageRenderer.m:
10995         (-[WebImageRenderer scheduleFrame]): Move adding to array of image
10996         renderers from here...
10997         (-[WebImageRenderer beginAnimationInRect:fromRect:]): To here.
10998
10999 === Alexander-13 ===
11000
11001 2002-07-18  Maciej Stachowiak  <mjs@apple.com>
11002
11003         Yet still more refactoring in preparation for the KHTMLPart
11004         change. This is preparing things to change the commit rule to
11005         require receiving at least one byte of data, and having the
11006         content policy set to Show.
11007
11008         * WebView.subproj/WebController.m:
11009         (-[WebController haveContentPolicy:andPath:forDataSource:]): Remove
11010         more code since makeRepresentation now does most of the work.
11011         * WebView.subproj/WebDataSource.m:
11012         (-[WebDataSource makeRepresentation]): Tell the WebView (if any) to create
11013         the documentView now too.
11014         * WebView.subproj/WebView.h:
11015         * WebView.subproj/WebView.m:
11016         (-[WebView makeDocumentViewForDataSource:]): Hook document view up to data
11017         source.
11018
11019 2002-07-18  Maciej Stachowiak  <mjs@apple.com>
11020
11021         Some refactoring in preparation for the KHTMLPart change.
11022         
11023         * WebView.subproj/WebDataSourcePrivate.h,
11024         WebView.subproj/WebDataSourcePrivate.m:
11025         (-[WebDataSource _stopLoading]): Bail early if not loading.
11026         (-[WebDataSource _commit]): Method to mark when the data source is
11027         committed (it now knows whether it's committed or
11028         provisional). This will be useful for adding assertions later on
11029         about what operations may happen only when committed, and which
11030         can only happen when provisional.
11031
11032         * WebView.subproj/WebFramePrivate.m:
11033         (-[WebFrame _transitionProvisionalToCommitted]): Call data
11034         source's _commit method.
11035
11036 2002-07-17  Richard Williamson  <rjw@apple.com>
11037
11038         * WebView.subproj/WebHTMLView.m:
11039         Removed unnecessary (and incorrect) lockFocus.
11040         
11041 2002-07-17  Maciej Stachowiak  <mjs@apple.com>
11042
11043         Some refactoring in preparation for the KHTMLPart change.
11044         
11045         * WebView.subproj/WebController.m:
11046         (-[WebController haveContentPolicy:andPath:forDataSource:]): Move
11047         more of the work of creating and setting the representation and
11048         document view into WebDataSource and WebView.
11049         
11050         * WebView.subproj/WebDataSource.h,
11051         WebView.subproj/WebDataSource.m:
11052         (+[(id <WebDocumentRepresentation>) createRepresentationForMIMEType:]): Removed.
11053         (-[WebDataSource makeRepresentation]): A method to build the right
11054         kind of representation for the content type.
11055
11056         * WebView.subproj/WebDataSourcePrivate.h:
11057         * WebView.subproj/WebDataSourcePrivate.m:
11058         (-[WebDataSource _representationClass]): Method to get the right
11059         representation class for the current content type.
11060         (-[WebDataSource _bridge]): Move here from WebBridge.[mh], so we
11061         can later add an assertion that the data source is not provisional.
11062         
11063         * WebView.subproj/WebHTMLViewPrivate.m: #import WebDataSourcePrivate.h
11064         * WebView.subproj/WebView.h, WebView.subproj/WebView.m:
11065         (+[(id <WebDocumentRepresentation>) createDocumentViewForMIMEType:]): Removed.
11066         (-[WebView makeDocumentViewForMIMEType:]): Method to build the
11067         right kind of document view for the specified MIME type.
11068
11069 2002-07-16  Darin Adler  <darin@apple.com>
11070
11071         * History.subproj/WebBackForwardList.m: Replace MyCompanyName with Apple Computer.
11072         (-[WebBackForwardList init]): Fix strange [super init] logic to be standard.
11073         * History.subproj/WebHistoryItem.h: Replace MyCompanyName with Apple Computer.
11074         * Misc.subproj/WebDownloadHandler.h: Replace MyCompanyName with Apple Computer.
11075
11076 2002-07-16  Darin Adler  <darin@apple.com>
11077
11078         - fixed 2997891 -- Alexander confused about base page URL for relative links
11079
11080         * WebCoreSupport.subproj/WebSubresourceClient.m:
11081         (-[WebSubresourceClient WebResourceHandle:didRedirectToURL:]):
11082         Don't tell the bridge the URL changed. The bridge doesn't care about redirects
11083         for subresources (and if it did, we'd need some way to tell it that this was
11084         a subresource redirect).
11085
11086         * WebCoreSupport.subproj/WebBridge.m: Formatting tweaks.
11087         * WebCoreSupport.subproj/WebImageRenderer.m: Formatting tweaks.
11088         * WebView.subproj/WebView.m: Formatting tweaks.
11089
11090 2002-07-16  Richard Williamson  <rjw@apple.com>
11091
11092         Really, stop animation if last frame has zero duration, like IE.
11093         Was checking adjustedFrameDuration, which is never zero.
11094
11095         * WebCoreSupport.subproj/WebImageRenderer.m:
11096         (-[WebImageRenderer unadjustedFrameDuration]):
11097         (-[WebImageRenderer frameDuration]):
11098         (-[WebImageRenderer nextFrame:]):
11099
11100 2002-07-16  Maciej Stachowiak  <mjs@apple.com>
11101
11102         WebKit part of fix for:
11103
11104         Radar 2982043 - Link mouse-over status should change in response to modifier keys
11105         
11106         * WebCoreSupport.subproj/WebBridge.m:
11107         (-[WebBridge modifierTrackingEnabled]): Implemented by checking
11108         bit on WebHTMLView class.
11109         * WebKit.pbproj/project.pbxproj: Install WebHTMLViewPrivate as a
11110         Private header.
11111         * WebView.subproj/WebHTMLViewPrivate.h: Prototype new modifier tracking SPI.
11112         * WebView.subproj/WebHTMLViewPrivate.m:
11113         (+[WebHTMLView _setModifierTrackingEnabled:]): Method to inform
11114         WebHTMLView that modifier tracking is working.
11115         (+[WebHTMLView _modifierTrackingEnabled]): Obligatory getter.
11116         (+[WebHTMLView _postFlagsChangedEvent:]): Method to report
11117         flagsChanged events. Creates corresponding fake mouseMoved event
11118         and sends it as a notification.
11119
11120 2002-07-16  Darin Adler  <darin@apple.com>
11121
11122         * WebCoreSupport.subproj/WebBridge.m:
11123         Remove childFrameNamed since it's not needed, and every one of these bridge
11124         methods adds potential confusion.
11125         (-[WebBridge descendantFrameNamed:]): Make this look for descendants in the
11126         provisional data sources first. This is the same change Richard made to
11127         childFrameNamed, but it turns out that this is the method that's really used.
11128
11129 2002-07-16  Darin Adler  <darin@apple.com>
11130
11131         * almost every file: Renamed IF* -> Web*.
11132
11133 2002-07-15  Richard Williamson  <rjw@apple.com>
11134
11135         Removed dependence on window resize notification.  We now
11136         use the IFWebView setFrame: method to trigger layouts.  Much
11137         cleaner.
11138         
11139         Cleaned up image animation timer scheduler.
11140         
11141         Stop animation if last frame has zero duration, like IE.
11142         
11143         Change minimum duration to 1/30th (used if zero frame duration is
11144         specified).  This is closer to what I see in IE empirically.
11145         
11146         * WebCoreSupport.subproj/IFImageRenderer.h:
11147         * WebCoreSupport.subproj/IFImageRenderer.m:
11148         (-[IFImageRenderer frameDuration]):
11149         (-[IFImageRenderer _scheduleFrame]):
11150         (-[IFImageRenderer nextFrame:]):
11151         (-[IFImageRenderer beginAnimationInRect:fromRect:]):
11152         * WebView.subproj/IFHTMLView.mm:
11153         (-[IFHTMLView initWithFrame:]):
11154         (-[IFHTMLView removeNotifications]):
11155         * WebView.subproj/IFWebView.mm:
11156         (-[IFWebView setFrame:]):
11157         (-[IFWebView viewWillStartLiveResize]):
11158         (-[IFWebView viewDidEndLiveResize]):
11159
11160 2002-07-15  Maciej Stachowiak  <mjs@apple.com>
11161
11162         Fixed Radar 2957209 - Change "JavaScript can open new windows
11163         automatically" preference to off by default
11164
11165         * WebView.subproj/IFPreferences.mm:
11166         (+[IFPreferences load]): Switch default for "Allow JavaScript to
11167         open new windows automatically" to FALSE.
11168
11169 2002-07-15  Darin Adler  <darin@apple.com>
11170
11171         More weaning from C++.
11172
11173         * Plugins.subproj/IFPluginView.mm:
11174         (-[IFPluginView initWithFrame:plugin:url:baseURL:mime:arguments:]): Use malloc instead of new.
11175         (-[IFPluginView dealloc]): Use free instead of delete.
11176
11177 2002-07-15  Darin Adler  <darin@apple.com>
11178
11179         Fixes so we are ready to compile as Objective C, not C++.
11180         The C++ front end misses a lot of things the C front end catches.
11181
11182         * Plugins.subproj/IFNullPluginView.mm:
11183         (-[IFNullPluginView drawRect:]): Add missing cast.
11184         * Plugins.subproj/IFPluginStream.mm:
11185         (-[IFPluginStream IFURLHandle:resourceDidFailLoadingWithResult:]): Use
11186         [IFLoadProgress initWithURLHandle:] instead of getting at private fields.
11187         * Plugins.subproj/IFPluginView.mm:
11188         (-[IFPluginView setUpWindowAndPort]): Remove unused windowFrame.
11189         (-[IFPluginView start]): Don't use a variable within a for statement.
11190         Add missing cast.
11191         * WebView.subproj/IFMainURLHandleClient.mm:
11192         (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]):
11193         Use [IFWebFrame _setProvisionalDataSource:] so we don't have to get at the
11194         protected field _private.
11195         * WebView.subproj/IFWebControllerPrivate.mm:
11196         (-[IFWebController _mainReceivedProgress:forResourceHandle:fromDataSource:complete:]):
11197         Use [IFProgress bytesSoFar] so we don't have to get at the protected field bytesSoFar.
11198         * WebView.subproj/IFWebFramePrivate.mm:
11199         (-[IFWebFrame _isLoadComplete]): Add missing cast.
11200         (-[IFWebFrame _setProvisionalDataSource:]): Added.
11201
11202         * WebView.subproj/IFHTMLRepresentation.mm:
11203         * WebView.subproj/IFHTMLViewPrivate.h:
11204         * WebView.subproj/IFWebControllerPrivate.h:
11205         * WebView.subproj/IFWebDataSourcePrivate.h:
11206         * WebView.subproj/IFWebFramePrivate.h:
11207         * WebView.subproj/IFWebViewPrivate.h:
11208         Make data in private class @public, since the main class needs to get at it
11209         directly.
11210         
11211 2002-07-15  Richard Williamson  <rjw@apple.com>
11212
11213         Only adjustFrames in parent if parent is a frame set.
11214         (Anywhere from 2% to 6% gain, depending on what you believe.)
11215         * WebView.subproj/IFWebFramePrivate.mm:
11216         (-[IFWebFrame _isLoadComplete]):
11217         
11218         * WebView.subproj/IFPreferences.mm:
11219         (+[IFPreferences load]):
11220         Increment initial layout from 1.5 seconds to 1.85 seconds.
11221
11222 2002-07-15  Darin Adler  <darin@apple.com>
11223
11224         * WebView.subproj/IFMainURLHandleClient.mm:
11225         (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]):
11226         Tweak a comment that included the word WebController, to smooth things over a
11227         tiny bit for the coming renaming.
11228
11229 2002-07-15  Darin Adler  <darin@apple.com>
11230
11231         * WebCoreSupport.subproj/IFTextRenderer.m:
11232         (-[IFTextRenderer widthForCharacters:length:]): Remove implementation of some unused
11233         methods, including at least one that was never used.
11234
11235 2002-07-15  Maciej Stachowiak  <mjs@apple.com>
11236
11237         WebKit part of fix for Radar 2896356 - cookie "ask for each site" not implemented yet
11238
11239         * Panels.subproj/IFPanelCookieAcceptHandler.h: Added.
11240         * Panels.subproj/IFPanelCookieAcceptHandler.m: Added.
11241         (-[IFPanelCookieAcceptHandler init]):
11242         (-[IFPanelCookieAcceptHandler dealloc]):
11243         (-[IFPanelCookieAcceptHandler readyToStartCookieAcceptCheck:]):
11244         (-[IFPanelCookieAcceptHandler startCookieAcceptCheck:]):
11245         (-[IFPanelCookieAcceptHandler cancelCookieAcceptCheck:]):
11246         (-[IFPanelCookieAcceptHandler doneWithCheck:returnCode:contextInfo:]):
11247         * Panels.subproj/IFStandardPanels.m:
11248         (-[IFStandardPanels setUseStandardCookieAcceptPanel:]):
11249         (-[IFStandardPanels useStandardCookieAcceptPanel]):
11250         * WebKit.pbproj/project.pbxproj:
11251
11252 2002-07-14  Maciej Stachowiak  <mjs@apple.com>
11253
11254         More workarounds for the Objective C++ typecasting bug.
11255
11256         * WebView.subproj/IFDOMNode.mm:
11257         (-[IFDOMNode initWithWebView:]):
11258         * WebView.subproj/IFHTMLViewPrivate.mm:
11259         (-[NSView _IF_stopIfPluginView]):
11260         * WebView.subproj/IFRenderNode.mm:
11261         (-[IFRenderNode initWithWebView:]):
11262         * WebView.subproj/IFWebFrame.mm:
11263         (-[IFWebFrame reset]):
11264
11265 2002-07-14  Darin Adler  <darin@apple.com>
11266
11267         Wean WebKit completely from getting at the C++ parts of WebCore.
11268         We probably don't need to use C++ at all for WebKit any more.
11269
11270         * WebKit.pbproj/project.pbxproj: Remove all the header search paths; we don't need any
11271         special ones now.
11272
11273         * WebKitPrefix.h: Remove <config.h>; we don't need it any more.
11274
11275         * Misc.subproj/IFCache.h: Rename getStatistics to statistics.
11276         * Misc.subproj/IFCache.mm:
11277         (+[IFCache statistics]):
11278         (+[IFCache empty]):
11279         (+[IFCache setDisabled:]):
11280         Call through WebCoreCache instead of going directly to khtml::Cache.
11281         (+[IFCache javaScriptObjectsCount]):
11282         (+[IFCache javaScriptInterpretersCount]):
11283         (+[IFCache javaScriptNoGCAllowedObjectsCount]):
11284         (+[IFCache javaScriptReferencedObjectsCount]):
11285         (+[IFCache garbageCollectJavaScriptObjects]):
11286         Call through WebCoreJavaScript instead of going directly to kjs::Collector.
11287
11288         * WebCoreSupport.subproj/IFWebCoreFrame.m:
11289         (-[IFWebCoreFrame bridge]): Change to return bridge from the provisional data
11290         source if it exists.
11291         (-[IFWebCoreFrame committedBridge]): Do what [bridge] used to do, always returning
11292         the bridge from the committed data source and never the provisional one.
11293
11294         * WebView.subproj/IFHTMLView.mm:
11295         (-[IFHTMLView provisionalDataSourceChanged:]): Don't store the provisional widget.
11296         It's stored in the bridge for the provisional data source.
11297         (-[IFHTMLView provisionalDataSourceCommitted:]): Use the bridge method installInFrame:
11298         to do most of the work that used to be here. The rest is don in removeFromFrame which
11299         is called elsewhere.
11300         (-[IFHTMLView mouseUp:]): Use the bridge's mouseUp method.
11301         (-[IFHTMLView mouseDown:]): Use the bridge's mouseDown method.
11302         (-[IFHTMLView mouseMovedNotification:]): Use the bridge's mouseMoved method.
11303         (-[IFHTMLView mouseDragged:]): Use the bridge's mouseDragged method.
11304
11305         * WebView.subproj/IFHTMLViewPrivate.h: Remove the widget, widgetOwned, and
11306         provisionalWidget instance variables, and the _widget and _provisionalWidget methods.
11307         * WebView.subproj/IFHTMLViewPrivate.mm:
11308         (-[IFHTMLView _reset]): Remove the code that deleted the widget and the provisional widget.
11309         This is now handled elsewhere.
11310
11311         * WebView.subproj/IFDOMNode.mm: Redo to use the copyDOMTree feature of the bridge.
11312         * WebView.subproj/IFRenderNode.mm: Redo to use the copyRenderTree feature of the bridge.
11313
11314         * WebView.subproj/IFRenderNode.h: Use an NSRect instead of four integers
11315         (the switch to floating point is OK).
11316
11317         * WebView.subproj/IFWebDataSourcePrivate.h: Add private _removeFromFrame method.
11318         * WebView.subproj/IFWebDataSourcePrivate.mm:
11319         (-[IFWebDataSource _removeFromFrame]): Set the controller and location change handler
11320         references to nil, and also call [WebCoreBridge removeFromFrame].
11321         * WebView.subproj/IFWebFramePrivate.mm:
11322         (-[IFWebFramePrivate setDataSource:]): Use _removeFromFrame where we formerly would
11323         set the controller and location change handler references to nil.
11324
11325         * WebCoreSupport.subproj/IFWebCoreBridge.h: Tweak.
11326
11327 2002-07-13  Darin Adler  <darin@apple.com>
11328
11329         * Plugins.subproj/IFNullPluginView.mm: (-[IFNullPluginView dealloc]):
11330         * WebView.subproj/IFImageRepresentation.m: (-[IFImageRepresentation dealloc]):
11331         Fix leaks by adding calls to [super dealloc].
11332
11333 2002-07-13  Darin Adler  <darin@apple.com>
11334
11335         * Misc.subproj/IFNSEventExtras.h: Removed.
11336         * Misc.subproj/IFNSEventExtras.m: Removed.
11337         * WebKit.pbproj/project.pbxproj: Removed IFNSEventExtras.*.
11338
11339         * WebCoreSupport.subproj/IFWebCoreBridge.mm:
11340         * WebView.subproj/IFWebFrame.mm:
11341         * WebView.subproj/IFWebFramePrivate.h:
11342         * WebView.subproj/IFWebFramePrivate.mm:
11343         Renamed all bridgeFrame to frameBridge for greater clarity.
11344
11345         * WebView.subproj/IFHTMLView.mm: Updated comments and commented-out code.
11346
11347         * WebView.subproj/IFWebDataSource.h: Fix comment that mentioned IFDefaultWebController.
11348
11349         * WebView.subproj/IFWebFramePrivate.mm:
11350         (-[IFWebFrame _transitionProvisionalToCommitted]): Fix exception string that cited
11351         the wrong state name.
11352
11353 2002-07-13  Darin Adler  <darin@apple.com>
11354
11355         * History.subproj/IFURIEntry.m: (-[IFURIEntry image]):
11356         Use [IFURIEntry class] instead of [self class] so we get the
11357         icon from the WebKit bundle even if someone subclasses IFURIEntry.
11358         * Plugins.subproj/IFNullPluginView.mm:
11359         (-[IFNullPluginView initWithFrame:mimeType:arguments:]): Use
11360         bundleForClass instead of bundleWithIdentifier so things work even
11361         if we have two copies of WebKit installed on the same machine.
11362
11363         * Makefile.am: Remove include of embed.am.
11364
11365         * WebKit.pbproj/project.pbxproj: Use embed-into-alex instead of make embed.
11366         Also change bundle identifier to com.apple.WebKit instead of com.apple.webkit
11367         to match standard used by our other frameworks. (Checked that we no longer have
11368         any hard-coding of the bundle identifier anywhere in our code.)
11369
11370 2002-07-13  Richard Williamson  <rjw@apple.com>
11371
11372         Fixed 2981849 - frames don't always draw correctly.
11373         
11374         * WebCoreSupport.subproj/IFWebCoreBridge.mm:
11375         (-[IFWebCoreBridge childFrameNamed:]):
11376         Check provisional data source first.
11377         
11378         * WebView.subproj/IFHTMLViewPrivate.h:
11379         * WebView.subproj/IFHTMLViewPrivate.mm:
11380         (-[IFHTMLView _adjustFrames]):
11381         Added method to adjust frame geometry.
11382         
11383         * WebView.subproj/IFWebDataSourcePrivate.h:
11384         * WebView.subproj/IFWebDataSourcePrivate.mm:
11385         (-[IFWebDataSource _layoutChildren]):
11386         Added method to adjust child frame geometries.
11387         
11388         * WebView.subproj/IFWebFramePrivate.mm:
11389         (-[IFWebFrame _isLoadComplete]):
11390         Removed unnecessary drawing now that frame geometry is
11391         calculated directly.
11392         
11393 2002-07-12  Darin Adler  <darin@apple.com>
11394
11395         About 1/3 of the remaining work to wean WebKit from its special relationship with WebCore
11396         onto explicit interfaces.
11397
11398         * Misc.subproj/IFCache.mm:
11399         * WebView.subproj/IFDOMNode.mm:
11400         * WebView.subproj/IFRenderNode.mm:
11401         Mark imports from inside WebCore with #ifndef WEBKIT_INDEPENDENT_OF_WEBCORE.
11402         Once these are all gone, the task is done.
11403
11404         * Plugins.subproj/IFPlugin.h:
11405         * WebCoreSupport.subproj/IFCookieAdapter.h:
11406         * WebCoreSupport.subproj/IFImageRenderer.h:
11407         * WebCoreSupport.subproj/IFImageRendererFactory.h:
11408         * WebCoreSupport.subproj/IFResourceURLHandleClient.m:
11409         * WebCoreSupport.subproj/IFTextRenderer.h:
11410         * WebCoreSupport.subproj/IFTextRendererFactory.h:
11411         * WebCoreSupport.subproj/IFWebCoreBridge.h:
11412         * WebCoreSupport.subproj/IFWebCoreViewFactory.h:
11413         Use #import <WebCore/> for getting at WebCore headers so we don't need to use -I.
11414
11415         * WebCoreSupport.subproj/IFWebCoreBridge.mm:
11416         (-[IFWebCoreBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]):
11417         Call setRenderPart on the WebCoreFrame rather than on the IFWebFrame.
11418
11419         * WebCoreSupport.subproj/IFWebCoreFrame.h: Subclass from the WebCoreFrame class.
11420         * WebCoreSupport.subproj/IFWebCoreFrame.m:
11421         (-[IFWebCoreFrame HTMLView]): Add a cast.
11422         (-[IFWebCoreFrame widget]): Remove overzealous assert.
11423
11424         * WebKit.pbproj/project.pbxproj: Rearranged things a bit. Removed unneeded build phase.
11425
11426         * WebView.subproj/IFDocument.h:
11427         * WebView.subproj/IFDynamicScrollBarsView.h:
11428         * WebView.subproj/IFWebController.h:
11429         * WebView.subproj/IFWebControllerPolicyHandler.h:
11430         Changed a few stray #include statements to #import statements.
11431
11432         * WebView.subproj/IFHTMLView.mm:
11433         (-[IFHTMLView provisionalDataSourceCommitted:]): Move the logic for setting up the
11434         renderPart in here from IFWebView.
11435         (-[IFHTMLView reapplyStyles]): Use the bridge.
11436         (-[IFHTMLView layout]): Use the bridge.
11437         (-[IFHTMLView drawRect:]): Use the bridge.
11438
11439         * WebView.subproj/IFHTMLViewPrivate.h: Remove _takeOwnershipOfWidget which is no longer needed.
11440         * WebView.subproj/IFHTMLViewPrivate.mm:
11441         (-[NSView _IF_stopIfPluginView]): Added. Use to clean up _reset a bit.
11442         (-[IFHTMLView _reset]): Use makeObjectsPerformSelector: for simplicity.
11443
11444         * WebView.subproj/IFImageView.h: Remove unneeded IFWebDataSource declaration.
11445         * WebView.subproj/IFImageView.m: Just formatting tweaks.
11446
11447         * WebView.subproj/IFWebControllerPrivate.mm: Removed unneeded import.
11448         * WebView.subproj/IFWebDataSource.mm: Removed unneeded import.
11449         * WebView.subproj/IFWebDataSourcePrivate.mm: Removed unneeded import.
11450         * WebView.subproj/IFWebFrame.mm: Removed unneeded import.
11451
11452         * WebView.subproj/IFWebFramePrivate.h: Remove renderPart field and related declarations.
11453         * WebView.subproj/IFWebFramePrivate.mm:
11454         (-[IFWebFramePrivate dealloc]): No need to let go of renderPart any more.
11455         (-[IFWebFrame _transitionProvisionalToCommitted]): Move logic into IFHTMLView.
11456
11457         * WebView.subproj/IFWebView.h: Be a bit more specific about the type of documentView.
11458
11459 2002-07-12  Chris Blumenberg  <cblu@apple.com>
11460
11461         Only accept drags of 1 file.
11462
11463         * WebView.subproj/IFWebView.mm:
11464         (-[IFWebView draggingEntered:]):
11465
11466 2002-07-12  Darin Adler  <darin@apple.com>
11467
11468         Fix cancelling. My recent check-in broke it for downloads.
11469
11470         * WebCoreSupport.subproj/IFResourceURLHandleClient.m:
11471         (-[IFResourceURLHandleClient receivedError:forHandle:]): Helper function to save code.
11472         (-[IFResourceURLHandleClient IFURLHandleResourceDidCancelLoading:]): Use an error for
11473         cancel rather than -1,-1 progress.
11474
11475         * WebView.subproj/IFMainURLHandleClient.mm:
11476         (-[IFMainURLHandleClient receivedProgressWithHandle:complete:]): Remove -1,-1 handling
11477         here; instead we treat it as an error.
11478         (-[IFMainURLHandleClient receivedError:forHandle:]): Remove most of the parameters
11479         since they are things we can compute ourselves.
11480         (-[IFMainURLHandleClient IFURLHandleResourceDidCancelLoading:]): Use an error for
11481         cancel rather than -1,-1 progress.
11482
11483         * WebView.subproj/IFWebControllerPrivate.mm:
11484         (-[IFWebController _receivedProgress:forResourceHandle:fromDataSource:complete:]):
11485         Remove the -1,-1 cancel handling; we use an error instead.
11486         (-[IFWebController _mainReceivedProgress:forResourceHandle:fromDataSource:complete:]):
11487         Remove the -1,-1 cancel handling; we use an error instead.
11488         (-[IFWebController _receivedError:forResourceHandle:partialProgress:fromDataSource:]):
11489         Remove the _isStopping check. We want to do the additional work even if already stopping.
11490         (-[IFWebController _mainReceivedError:forResourceHandle:partialProgress:fromDataSource:]):
11491         Remove the _isStopping check. We want to do the additional work even if already stopping.
11492
11493         * WebView.subproj/IFWebView.mm: (-[IFWebView keyDown:]): Use NSDeleteCharacter.
11494
11495 2002-07-12  Darin Adler  <darin@apple.com>
11496
11497         * WebView.subproj/IFWebDataSource.mm:
11498         (+[IFWebDataSource registerRepresentationClass:forMIMEType:]):
11499         Use self instead of [self class].
11500         (+[IFWebDataSource createRepresentationForMIMEType:]):
11501         Use the new _IF_objectForMIMEType to simplify and use hash table
11502         instead of linear search.
11503         * WebView.subproj/IFWebDataSourcePrivate.mm:
11504         (+[IFWebDataSource _repTypes]): Use initWithObjectsAndKeys for
11505         brevity and a tiny tiny bit of efficiency.
11506         (+[IFWebDataSource _canShowMIMEType:]):
11507         Use the new _IF_objectForMIMEType to simplify and use hash table
11508         instead of linear search.
11509         * WebView.subproj/IFWebView.mm:
11510         (+[IFWebView registerViewClass:forMIMEType:]):
11511         Use self instead of [self class].
11512         (+[IFWebView createViewForMIMEType:]):
11513         Use the new _IF_objectForMIMEType to simplify and use hash table
11514         instead of linear search.
11515         * WebView.subproj/IFWebViewPrivate.mm:
11516         (+[IFWebView _canShowMIMEType:]):
11517         Use the new _IF_objectForMIMEType to simplify and use hash table
11518         instead of linear search.
11519
11520 2002-07-12  Darin Adler  <darin@apple.com>
11521
11522         * WebKit.pbproj/project.pbxproj: Re-added JavaScriptCore, which
11523         I removed by accident.
11524
11525 2002-07-12  Darin Adler  <darin@apple.com>
11526
11527         * WebKit.pbproj/project.pbxproj: Don't include the html4.css file
11528         from WebCore any more. WebCore handles this on its own now. Also,
11529         don't include the document templates; we don't use them any more.
11530
11531         * Resources/image_document_template.html: Removed.
11532         * Resources/plugin_document_template.html: Removed.
11533         * Resources/text_document_template.html: Removed.
11534
11535         * Makefile.am: Small tweak to the force-clean-timestamp logic.
11536
11537 2002-07-11  Chris Blumenberg  <cblu@apple.com>
11538
11539 Fix for:
11540         2986548 - Crash if you drop URL of frameset page onto frame
11541         2953421 - document dragged into frame should replace frameset
11542         
11543         * WebView.subproj/IFWebView.mm: 
11544         (-[IFWebView draggingEntered:]): removed obsolute comment
11545         (-[IFWebView performDragOperation:]): moved implementation from here
11546         (-[IFWebView concludeDragOperation:]): to here, added support for NSURL drags 
11547
11548 2002-07-11  Darin Adler  <darin@apple.com>
11549
11550         * WebView.subproj/IFWebViewPrivate.mm:
11551         (+[IFWebView _viewTypes]): Changed back to a mutable dictionary. Oops.
11552
11553 2002-07-11  John Sullivan   <sullivan@apple.com>
11554
11555         - fixed 2980779 -- no scroll bar in history window
11556
11557         * WebKit.pbproj/project.pbxproj: Removed nonexistent .h file from project list (IFGrabBag.h)
11558
11559         * WebView.subproj/IFDynamicScrollBarsView.h: Renamed field allowsScrolling to disallowsScrolling
11560         * WebView.subproj/IFDynamicScrollBarsView.m:
11561         (-[IFDynamicScrollBarsView updateScrollers]):
11562         (-[IFDynamicScrollBarsView setAllowsScrolling:]):
11563         (-[IFDynamicScrollBarsView allowsScrolling]):
11564         Removed initWithFrame override, whose only purpose was to set allowsScrolling to the "default"  
11565         value (but not good enough for load-from-nib case). Changed all users of allowsScrolling to
11566         !disallowsScrolling instead.
11567
11568 2002-07-11  Chris Blumenberg  <cblu@apple.com>
11569
11570         * Plugins.subproj/IFPluginNullEventSender.h:
11571         * Plugins.subproj/IFPluginNullEventSender.m:
11572         (-[IFPluginNullEventSender initWithPluginView:]): renamed, simplified
11573         (-[IFPluginNullEventSender stop]): call plugin debug function
11574         * Plugins.subproj/IFPluginView.h:
11575         * Plugins.subproj/IFPluginView.mm:
11576         (-[IFPluginView start]): call new initWithPluginView
11577         (-[IFPluginView windowWillClose:]): added back to fix plugin view leak
11578         (-[IFPluginView NPP_HandleEvent]): added
11579
11580 2002-07-11  Darin Adler  <darin@apple.com>
11581
11582         - fixed 2930872 -- option-arrow keys should page up and down
11583         - fixed 2924727 -- Delete does not go to previous page
11584
11585         * WebView.subproj/IFHTMLView.mm: Disable the keyDown and keyUp
11586         methods here. We don't really need to pass these events to KHTMLView
11587         at the moment. See the comment in this file for further explanation.
11588         This paves the way to handle keys other than arrow keys in IFWebView.
11589
11590         * WebView.subproj/IFWebController.h: Add temporary goBack method to
11591         IFWindowContext. See comment for more.
11592
11593         * WebView.subproj/IFWebView.mm: (-[IFWebView keyDown:]): Add handling
11594         for option arrow keys, space (page down), shift-space (page up), and
11595         delete (go back). Also make this call super if the key is not handled
11596         so keys make their way back to the superview in the application.
11597
11598         * WebView.subproj/IFWebViewPrivate.h: Add _pageLeft, _pageRight, _goBack.
11599         * WebView.subproj/IFWebViewPrivate.mm:
11600         (-[IFWebView _pageHorizontally:]): Added.
11601         (-[IFWebView _pageLeft]): Added.
11602         (-[IFWebView _pageRight]): Added.
11603         (+[IFWebView _viewTypes]): Simplify.
11604         (-[IFWebView _goBack]): Added. Calls [IFWindowContext goBack].
11605
11606 2002-07-10  Darin Adler  <darin@apple.com>
11607
11608         - fixed 2973738 -- box characters
11609
11610         To be consistent with other browsers, we need to draw nothing for 0000-001F.
11611         We were drawing boxes.
11612
11613         * WebCoreSupport.subproj/IFTextRenderer.m:
11614         (-[IFTextRenderer convertCharacters:length:toGlyphs:skipControlCharacters:]):
11615         Add the skipControlCharacters parameter. If YES, don't include glyphs for characters
11616         in the 0000-001F range.
11617         (-[IFTextRenderer slowPackGlyphsForCharacters:numCharacters:glyphBuffer:numGlyphs:]):
11618         Pass skipControlCharacters:YES.
11619         (-[IFTextRenderer _drawCharacters:length:fromCharacterPosition:toCharacterPosition:atPoint:withTextColor:backgroundColor:]):
11620         Skip control characters when creating the glyph array.
11621         (-[IFTextRenderer slowFloatWidthForCharacters:stringLength:fromCharacterPostion:numberOfCharacters:applyRounding:]):
11622         Pass skipControlCharacters:YES.
11623         (-[IFTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:applyRounding:attemptFontSubstitution:]):
11624         Skip control characters when computing the width.
11625         (-[IFTextRenderer extendCharacterToGlyphMapToInclude:]): Pass skipControlCharacters:NO.
11626
11627 2002-07-10  Darin Adler  <darin@apple.com>
11628
11629         - fixed 2986273 -- assert currentURL isEqual:[handle redirectedURL] ? [handle redirectedURL] : [handle url]
11630
11631         Since cancel prevents further notification from getting through, currentURL can get
11632         out of sync before cancelling, so we can't assert in the cancel function.
11633
11634         * WebCoreSupport.subproj/IFResourceURLHandleClient.m:
11635         (-[IFResourceURLHandleClient IFURLHandleResourceDidCancelLoading:]): Remove assert.
11636
11637         * WebView.subproj/IFMainURLHandleClient.h: Remove unnecessary includes. Change type
11638         of dataSource to IFWebDataSource from id. Change url to currentURL to match
11639         IFResourceURLHandleClient.
11640
11641         * WebView.subproj/IFMainURLHandleClient.mm:
11642         (-[IFMainURLHandleClient initWithDataSource:]): Simplify.
11643         (-[IFMainURLHandleClient didStartLoadingWithURL:]): Copied here from IFResourceURLHandleClient
11644         as a first step toward using a common superclass some day.
11645         (-[IFMainURLHandleClient didStopLoading]): Copied here from IFResourceURLHandleClient
11646         as a first step toward using a common superclass some day.
11647         (-[IFMainURLHandleClient dealloc]): Add an assert.
11648         (-[IFMainURLHandleClient receivedProgressWithHandle:complete:]): Removed most of the parameters
11649         to make this match the one in IFResourceURLHandleClient.
11650         (-[IFMainURLHandleClient IFURLHandleResourceDidBeginLoading:]): Use didStartLoadingWithURL.
11651         (-[IFMainURLHandleClient IFURLHandleResourceDidCancelLoading:]): Use receivedProgressWithHandle and
11652         didStopLoading.
11653         (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]): Use receivedProgressWithHandle and
11654         didStopLoading.
11655         (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]): Use receivedProgressWithHandle.
11656         (-[IFMainURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]): Use receivedProgressWithHandle and
11657         didStopLoading.
11658         (-[IFMainURLHandleClient IFURLHandle:didRedirectToURL:]): Use didStopLoading and didStartLoadingWithURL.
11659
11660 2002-07-10  Maciej Stachowiak  <mjs@apple.com>
11661
11662         WebKit part of fix for:
11663
11664         Radar 2953250 - JavaScript window.focus() and window.blur()
11665         methods don't work
11666         
11667         * WebCoreSupport.subproj/IFWebCoreBridge.mm:
11668         (-[IFWebCoreBridge unfocusWindow]): Use private AppKit interface
11669         to cycle windows if the window is the key window.
11670
11671 2002-07-10  Darin Adler  <darin@apple.com>
11672
11673         - fixed 2983025 -- crash in sendEvent on pages with flash playing
11674
11675         * Plugins.subproj/IFPluginView.mm:
11676         (-[IFPluginView removeTrackingRect]): New, removes tracking rect and releases window.
11677         (-[IFPluginView resetTrackingRect]): New, adds tracking rect and retains window.
11678         (-[IFPluginView start]): Use resetTrackingRect.
11679         (-[IFPluginView stop]): Use removeTrackingRect.
11680         (-[IFPluginView viewWillMoveToWindow:]): Call removeTrackingRect because the window
11681         will change by the time we get to viewDidMoveToWindow.
11682         (-[IFPluginView viewDidMoveToWindow]): Call resetTrackingRect.
11683         (-[IFPluginView viewHasMoved:]): Call resetTrackingRect.
11684
11685 2002-07-10  Darin Adler  <darin@apple.com>
11686
11687         * WebView.subproj/IFWebViewPrivate.mm:
11688         (-[IFWebView _scrollToBottomLeft]): Fix this to use the document view to define what
11689         the bottom left is, not the content view (which is often much smaller than the document).
11690
11691 2002-07-10  Chris Blumenberg  <cblu@apple.com>
11692
11693         Fixes for:
11694         2981866 - Download doesn't appear in Downloads window if link was command-clicked
11695         2965312 - Download progress not shown when clicking on download link with Alex not running
11696
11697         * WebView.subproj/IFMainURLHandleClient.mm:
11698         (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]): retain
11699         the downloadProgressHandler before calling requestContentPolicy as the web controller may be released
11700         in requestContentPolicy
11701
11702 2002-07-10  Chris Blumenberg  <cblu@apple.com>
11703
11704         Fix for:
11705         2976311 - Download fails if you close the window that started the download
11706         2976308 - Can't navigate in window while download started in that window is in progress
11707
11708         * WebView.subproj/IFMainURLHandleClient.h:
11709         * WebView.subproj/IFMainURLHandleClient.mm:
11710         (-[IFMainURLHandleClient dealloc]):
11711         (-[IFMainURLHandleClient _receivedProgress:forResourceHandle:fromDataSource:complete:]): added, sends progress to correct handler
11712         (-[IFMainURLHandleClient _receivedError:forResourceHandle:partialProgress:fromDataSource:]): added, sends progress to correct handler
11713         (-[IFMainURLHandleClient IFURLHandleResourceDidCancelLoading:]): calls _receivedProgress
11714         (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]): calls _receivedProgress
11715         (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]): calls _receivedProgress
11716         (-[IFMainURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]): calls _receivedError
11717         * WebView.subproj/IFWebController.h:
11718         * WebView.subproj/IFWebController.mm:
11719         (-[IFWebController setDownloadProgressHandler:]): added
11720         (-[IFWebController downloadProgressHandler]): added
11721         * WebView.subproj/IFWebControllerPrivate.h:
11722         * WebView.subproj/IFWebControllerPrivate.mm:
11723         (-[IFWebController _mainReceivedProgress:forResourceHandle:fromDataSource:complete:]): removed download special-casing
11724
11725 2002-07-10  Maciej Stachowiak  <mjs@apple.com>
11726
11727         * WebView.subproj/IFGrabBag.h: Removed.
11728         * WebView.subproj/IFWebController.h: Move IFContextMenuHandler
11729         here.
11730
11731 2002-07-10  Darin Adler  <darin@apple.com>
11732
11733         Did some tweaks that weren't really necessary. But at least one is a significant
11734         improvement so I decided to commit rather then just discarding the changes.
11735
11736         * Bookmarks.subproj/IFBookmark.m:
11737         (-[IFBookmark title]): Take out special case for separator.
11738         (-[IFBookmark setTitle:]): Take out special case for separator.
11739         (-[IFBookmark image]): Take out special case for separator.
11740         (-[IFBookmark setImage:]): Take out special case for separator.
11741         (-[IFBookmark setURLString:]): Take out special case for non-leaf.
11742         (-[IFBookmark children]): Take out request for concrete implementation;
11743         this is not useful since it's specific to one subclass.
11744         (-[IFBookmark numberOfChildren]): Take out request for concrete implementation;
11745         this is not useful since it's specific to one subclass.
11746         (-[IFBookmark _numberOfDescendants]): Take out request for concrete implementation;
11747         this is not useful since it's specific to one subclass.
11748         (-[IFBookmark insertChild:atIndex:]): Take out special case for non-list.
11749         (-[IFBookmark removeChild:]): Take out special case for non-list.
11750         (+[IFBookmark bookmarkFromDictionaryRepresentation:withGroup:]): Refactored to
11751         eliminate repeated code.
11752
11753         * Bookmarks.subproj/IFBookmarkLeaf.m:
11754         (-[IFBookmarkLeaf copyWithZone:]): Use allocWithZone to be more pedantically correct.
11755
11756         * Bookmarks.subproj/IFBookmarkSeparator.m:
11757         (-[IFBookmarkSeparator title]): Override to return nil.
11758         (-[IFBookmarkSeparator image]): Override to return nil.
11759
11760 2002-07-10  Darin Adler  <darin@apple.com>
11761
11762         * Misc.subproj/WebKitDebug.m: Remove workaround for long-ago fixed
11763         C compiler bug.
11764
11765         * Plugins.subproj/IFPluginView.mm:
11766         (-[IFPluginView keyUp:]), (-[IFPluginView keyDown:]): Simplify keyboard
11767         scrolling code by passing along all events that the plug-in doesn't handle
11768         rather than special-casing certain events. Also use super rather than
11769         nextResponder to pass along the scroll events (super will do nextResponder).
11770
11771         * WebView.subproj/IFHTMLView.mm:
11772         (-[IFHTMLView keyDown:]), (-[IFHTMLView keyUp:]): Use super rather than
11773         nextResponder to pass along scroll events (super will do nextResponder).
11774
11775 2002-07-08  Chris Blumenberg  <cblu@apple.com>
11776
11777         Fixes for:
11778         2955757 - Keyboard scrolling code needs to move to WebKit
11779         2937231 - Left and right arrows should scroll the content area
11780
11781         * Misc.subproj/IFNSEventExtras.h: Added.
11782         * Misc.subproj/IFNSEventExtras.m: Added.
11783         (-[NSEvent _IF_isScrollEvent]): new
11784         * Plugins.subproj/IFPluginView.mm:
11785         (-[IFPluginView keyUp:]): if plug-in doesn't accept it, send to nextResponder
11786         (-[IFPluginView keyDown:]): if plug-in doesn't accept it, send to nextResponder
11787         * WebKit.pbproj/project.pbxproj:
11788         * WebView.subproj/IFHTMLView.mm:
11789         (-[IFHTMLView keyDown:]): calls _IF_isScrollEvent, if so send to nextResponder
11790         (-[IFHTMLView keyUp:]): calls _IF_isScrollEvent, if so send to nextResponder
11791         * WebView.subproj/IFWebView.mm:
11792         (-[IFWebView acceptsFirstResponder]): added
11793         (-[IFWebView window]): no changes
11794         (-[IFWebView keyDown:]): added, does the scroll
11795         * WebView.subproj/IFWebViewPrivate.h:
11796         * WebView.subproj/IFWebViewPrivate.mm:
11797         (-[IFWebView _contentView]): added
11798         (-[IFWebView _scrollVerticallyBy:]): added, moved from BrowserWindow.m
11799         (-[IFWebView _scrollHorizontallyBy:]): added, moved from BrowserWindow.m
11800         (-[IFWebView _pageVertically:]): added, moved from BrowserWindow.m
11801         (-[IFWebView _scrollLineVertically:]): added, moved from BrowserWindow.m
11802         (-[IFWebView _scrollLineHorizontally:]): added, moved from BrowserWindow.m
11803         (-[IFWebView _pageDown]): added, moved from BrowserWindow.m
11804         (-[IFWebView _pageUp]): added, moved from BrowserWindow.m
11805         (-[IFWebView _scrollToTopLeft]): added, moved from BrowserWindow.m
11806         (-[IFWebView _scrollToBottomLeft]): added, moved from BrowserWindow.m
11807         (-[IFWebView _lineDown]): added, moved from BrowserWindow.m
11808         (-[IFWebView _lineUp]): added, moved from BrowserWindow.m
11809         (-[IFWebView _lineLeft]): added, moved from BrowserWindow.m
11810         (-[IFWebView _lineRight]): added, moved from BrowserWindow.m
11811
11812 2002-07-08  Darin Adler  <darin@apple.com>
11813
11814         * WebCoreSupport.subproj/IFWebCoreBridge.mm: Fix compiles under newer compiler
11815         (Jaguar 6C89 and newer) by adding missing include.
11816
11817 2002-07-07  Maciej Stachowiak  <mjs@apple.com>
11818
11819         WebCore part of fix for Radar 2953431 - JavaScript window.close()
11820         method is not working
11821
11822         * WebCoreSupport.subproj/IFWebCoreBridge.mm:
11823         (-[IFWebCoreBridge openedByScript]): Implement by calling controller.
11824         (-[IFWebCoreBridge setOpenedByScript:]): Likewise.
11825         * WebView.subproj/IFWebControllerPrivate.h:
11826         * WebView.subproj/IFWebControllerPrivate.mm:
11827         (-[IFWebController _openedByScript]): Implement.
11828         (-[IFWebController _setOpenedByScript:]): Implement.
11829
11830 2002-07-05  Darin Adler  <darin@apple.com>
11831
11832         Fix crashes I saw with zombies enabled caused by messing with windows that are
11833         in the process of being destroyed.
11834
11835         * Plugins.subproj/IFPluginView.mm:
11836         (-[IFPluginView start]): Remove windowWillClose notification because
11837         we use viewDidMoveToWindow instead.
11838         (-[IFPluginView viewDidMoveToWindow]): Use this instead of viewWillMoveToWindow.
11839         * WebView.subproj/IFHTMLView.mm:
11840         (-[IFHTMLView viewDidMoveToWindow]): Use this instead of viewWillMoveToWindow.
11841         * WebView.subproj/IFHTMLViewPrivate.h: Need a boolean flag to tell window changes
11842         before the first time we are installed from window changes afterward.
11843         * WebView.subproj/IFImageView.m:
11844         (-[IFImageView viewDidMoveToWindow]): Use this instead of viewWillMoveToWindow.
11845
11846 2002-07-04  Maciej Stachowiak  <mjs@apple.com>
11847
11848         * WebView.subproj/IFHTMLView.mm:
11849         (-[IFHTMLView mouseMovedNotification:]): Pass the modifier flags
11850         along for mouse move events.
11851
11852 2002-07-04  John Sullivan  <sullivan@apple.com>
11853
11854         * WebView.subproj/IFDynamicScrollBarsView.h:
11855         Updated FIXME to mention bug number.
11856
11857 2002-07-03  Chris Blumenberg  <cblu@apple.com>
11858
11859         - Fix for 2975750
11860         - Removed Java workaround since that will be fixed soon.
11861
11862         * Plugins.subproj/IFPlugin.h:
11863         * Plugins.subproj/IFPlugin.m:
11864         (-[IFPlugin _openResourceFile]): added
11865         (-[IFPlugin _closeResourceFile:]): added
11866         (-[IFPlugin _getPluginInfo]): rename
11867         (-[IFPlugin initWithPath:]): simplified
11868         (-[IFPlugin load]): calls _openResourceFile
11869         (-[IFPlugin unload]): calls _closeResourceFile
11870         * Plugins.subproj/IFPluginView.mm:
11871         (-[IFPluginView setUpWindowAndPort]): removed Java workaround
11872
11873 2002-07-03  Darin Adler  <darin@apple.com>
11874
11875         * Misc.subproj/IFException.h: Use Objective C header style rather than plain C.
11876
11877 === Alexander-11 ===
11878
11879 2002-07-03  Darin Adler  <darin@apple.com>
11880
11881         * Misc.subproj/IFDownloadHandler.mm:
11882         (-[IFDownloadHandler finishedLoading]):
11883         * WebView.subproj/IFWebController.h:
11884         A couple places where it still said IFContentPolicyOpenExternally.
11885
11886 2002-07-03  Maciej Stachowiak  <mjs@apple.com>
11887
11888         WebKit part of fixes for:
11889
11890         Radar 2950616 - JavaScript window.screenX and window.screenY always return -1
11891         Radar 2950614 - JavaScript window.screenLeft and window.screenTop
11892         properties are unimplemented
11893         Radar 2950609 - JavaScript window.outerHeight and
11894         window.outerWidth properties always return 0
11895         
11896         * WebView.subproj/IFHTMLView.mm:
11897         (-[IFHTMLView provisionalDataSourceChanged:]): Pass the real
11898         document view to the newly created bridge, since it will be ready
11899         by now and is needed by JavaScript.
11900
11901 2002-07-03  Maciej Stachowiak  <mjs@apple.com>
11902
11903         * Plugins.subproj/IFPluginView.mm:
11904         (-[IFPluginView status:]): Fix build problem. Why doesn't
11905         compiling catch these more reliably?
11906
11907 2002-07-03  Richard Williamson  <rjw@apple.com>
11908
11909         * Misc.subproj/IFNSViewExtras.m:
11910         (-[NSView _IF_printViewHierarchy:]):
11911         Debugging help.
11912         
11913         * WebView.subproj/IFHTMLView.mm:
11914         (-[IFHTMLView layout]):
11915         Added setLayouted(false).
11916         
11917         * WebView.subproj/IFWebFramePrivate.mm:
11918         (-[IFWebFrame _isLoadComplete]):
11919         Tweaks attempting to fix frame drawing problems.
11920
11921 2002-07-03  Maciej Stachowiak  <mjs@apple.com>
11922
11923         WebCore part of fix for:
11924
11925         Radar 2943465 - JavaScript window.defaultStatus property not implemented
11926         Radar 2943464 - JavaScript window.status property is not implemented
11927         Radar 2926213 - show url of moused-over link in status bar
11928
11929         * WebCoreSupport.subproj/IFWebCoreBridge.mm:
11930         (-[IFWebCoreBridge setStatusText:]): Connect bridge status text
11931         setting to window context.
11932         * WebView.subproj/IFWebController.h:
11933
11934 2002-07-02  Chris Blumenberg  <cblu@apple.com>
11935
11936         Added IFFileURLPolicyReveal. This makes things a little clearer for the client.
11937
11938         * WebView.subproj/IFWebControllerPolicyHandler.h:
11939         * WebView.subproj/IFWebFramePrivate.mm:
11940         (-[IFWebFrame _shouldShowDataSource:]): support for IFFileURLPolicyReveal.
11941
11942 2002-07-02  Darin Adler  <darin@apple.com>
11943
11944         * WebCoreSupport.subproj/IFImageRenderer.m:
11945         (-[IFImageRenderer incrementalLoadWithBytes:length:complete:]):
11946         Fixed a syntax error caused by a "just before committing" edit.
11947
11948 2002-07-02  Darin Adler  <darin@apple.com>
11949
11950         - fixed 2952837 -- image not rendered if height or width attributes specified incorrectly
11951
11952         * WebCoreSupport.subproj/IFImageRenderer.m:
11953         (-[IFImageRenderer incrementalLoadWithBytes:length:complete:]):
11954         Set the size of both the image and the image representation.
11955
11956 2002-07-02  Chris Blumenberg  <cblu@apple.com>
11957
11958         Can't call startLoading on a frame if setProvisionalDataSource returned NO.
11959
11960         * Plugins.subproj/IFPluginView.mm:
11961         (-[IFPluginView loadURL:inTarget:withNotifyData:andHandleAttributes:]):
11962         * WebCoreSupport.subproj/IFWebCoreFrame.m:
11963         (-[IFWebCoreFrame loadURL:attributes:flags:withParent:]):
11964         * WebView.subproj/IFWebView.mm:
11965         (-[IFWebView performDragOperation:]):
11966
11967 2002-07-02  Chris Blumenberg  <cblu@apple.com>
11968
11969         Fixed asseration failure caused by an iframe not having a correct mime type.
11970         We now assume that local files without extensions are html files. 
11971
11972         * WebView.subproj/IFWebControllerPrivate.mm:
11973         (+[IFWebController _MIMETypeForFile:]):
11974
11975 2002-07-02  Chris Blumenberg  <cblu@apple.com>
11976
11977         - Moved all policy methods to IFWebControllerPolicyHandler.h
11978         - Moved all file URL error checking to WebKit
11979         - Implemented file URL policy methods
11980         - Renamed IFContentPolicyOpenExternally to IFContentPolicySaveAndOpenExternally
11981
11982         * Misc.subproj/IFWebKitErrors.h: Added.
11983         * WebKit.pbproj/project.pbxproj:
11984         * WebView.subproj/IFLocationChangeHandler.h: removed content policy stuff
11985         * WebView.subproj/IFMainURLHandleClient.mm:
11986         (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]): IFContentPolicySaveAndOpenExternally rename
11987         (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]): call the policy handler for content policy stuff
11988         * WebView.subproj/IFWebController.h:
11989         * WebView.subproj/IFWebController.mm:
11990         (-[IFWebController haveContentPolicy:andPath:forDataSource:]): sends a unableToImplementContentPolicy:
11991         (+[IFWebController canShowFile:]): now calls _MIMETypeForFile
11992         * WebView.subproj/IFWebControllerPolicyHandler.h: Added.
11993         * WebView.subproj/IFWebControllerPrivate.h:
11994         * WebView.subproj/IFWebControllerPrivate.mm:
11995         (-[IFWebController _mainReceivedProgress:forResourceHandle:fromDataSource:complete:]): IFContentPolicySaveAndOpenExternally 
11996 rename
11997         (-[IFWebController _didStopLoading:]): no changes
11998         (+[IFWebController _MIMETypeForFile:]): added
11999         * WebView.subproj/IFWebDataSource.h:
12000         * WebView.subproj/IFWebFrame.mm:
12001         (-[IFWebFrame setProvisionalDataSource:]): calls _shouldShowDataSource
12002         * WebView.subproj/IFWebFramePrivate.h:
12003         * WebView.subproj/IFWebFramePrivate.mm:
12004         (-[IFWebFrame _bridgeFrame]): no changes
12005         (-[IFWebFrame _shouldShowDataSource:]): does the error handling
12006         * WebView.subproj/IFWebView.mm:
12007         (+[IFWebView initialize]): registers WebKit errors
12008
12009 2002-07-02  Richard Williamson  <rjw@apple.com>
12010
12011         * WebView.subproj/IFRenderNode.mm:
12012         (-[IFRenderNode initWithRenderObject:khtml::]):
12013         Fixed regression that prevented showing of nodes in subframes.
12014
12015 2002-07-02  Darin Adler  <darin@apple.com>
12016
12017         * Plugins.subproj/IFPluginView.mm:
12018         (-[IFPluginView setWindow]), (-[IFPluginView start]), (-[IFPluginView stop]):
12019         Fix unused variable issue that affects deployment builds.
12020
12021 2002-07-02  John Sullivan  <sullivan@apple.com>
12022
12023         Remove unnecessary code to fill with white from here; this code
12024         path has changed. Now it just bails out early in the case where
12025         there's no widget.
12026
12027         * WebView.subproj/IFHTMLView.mm:
12028         (-[IFHTMLView drawRect:]):
12029
12030 2002-07-02  John Sullivan  <sullivan@apple.com>
12031
12032         Made IFWebView fill with white when there's no document view. This fixes:
12033         
12034         - 2978210 -- problems with "hide status bar"
12035         - 2978742 -- Resizing initially-empty Alexander window results in garbage in window
12036
12037         * WebView.subproj/IFWebView.mm:
12038         (-[IFWebView drawRect:]):
12039
12040 2002-07-02  Darin Adler  <darin@apple.com>
12041
12042         * WebView.subproj/IFMainURLHandleClient.mm: Fix comment.
12043
12044 2002-07-02  Darin Adler  <darin@apple.com>
12045
12046         - fixed 2975790 - Ads on salon.com scribble all over page
12047
12048         * Plugins.subproj/IFPluginView.mm:
12049         (-[IFPluginView setUpWindowAndPort]): New, sets up the window, but does not
12050         call NPP_SetWindow again.
12051         (-[IFPluginView setWindow]): Call [setUpWindowAndPort] then call NPP_SetWindow.
12052         (-[IFPluginView start]): Register for changes to the bounds or frame of any of
12053         our superviews, not just one particular one. Also, don't bother to register for
12054         notification when the window resizes. Finally, use the constants for the names
12055         of the notifications, not literal strings.
12056         (-[IFPluginView layout]): Just use [setUpWindowAndPort]; no need for a new call
12057         to NPP_SetWindow.
12058         (-[IFPluginView viewHasMoved:]): Just use [setUpWindowAndPort]; no need for a new
12059         call to NPP_SetWindow.
12060
12061 2002-07-01  Maciej Stachowiak  <mjs@apple.com>
12062
12063         * WebView.subproj/IFWebView.mm:
12064         (-[IFWebView window]): If the view hasn't been added to a window
12065         yet, get the window from the WindowContext.
12066
12067 2002-07-01  Richard Williamson  <rjw@apple.com>
12068
12069         * WebView.subproj/IFMainURLHandleClient.mm:
12070         (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]):
12071         Ensure that _didStopLoading is called for both error case and
12072         non-error case.
12073
12074 2002-07-01  Richard Williamson  <rjw@apple.com>
12075
12076         * WebView.subproj/IFMainURLHandleClient.mm:
12077         (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]):
12078         A completion message was being sent, as well as an error message.
12079         This, no doubt confused Alexander.  No only send either the final
12080         error message or the completion message.
12081
12082 2002-07-01  Darin Adler  <darin@apple.com>
12083
12084         Ken fixed the load message sequencing problem in WebFoundation, so now we can
12085         go back to the original versions of the asserts.
12086
12087         * WebCoreSupport.subproj/IFResourceURLHandleClient.m:
12088         (-[IFResourceURLHandleClient dealloc]):
12089         (-[IFResourceURLHandleClient IFURLHandleResourceDidCancelLoading:]):
12090         (-[IFResourceURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]):
12091         * WebView.subproj/IFMainURLHandleClient.mm:
12092         (-[IFMainURLHandleClient dealloc]):
12093         (-[IFMainURLHandleClient IFURLHandleResourceDidCancelLoading:]):
12094         Roll out the stuff that's ifdef'd and marked with bug 2954901.
12095
12096 2002-07-01  Darin Adler  <darin@apple.com>
12097
12098         * WebView.subproj/IFDynamicScrollBarsView.m:
12099         (-[IFDynamicScrollBarsView updateScrollers]): After a closer reading of
12100         the NSScrollView source code, I see that we don't need to explicitly do
12101         tile or setNeedsDisplay: because the setters take care of that, so I made
12102         this simpler.
12103         (-[IFDynamicScrollBarsView reflectScrolledClipView:]): Replace the anti-
12104         recursion hack that I erroneously removed earlier.
12105
12106         * WebView.subproj/IFTextView.h: Removed the isRTF flag.
12107         * WebView.subproj/IFTextView.m:
12108         (-[IFTextView provisionalDataSourceChanged:]): Do nothing here.
12109         (-[IFTextView dataSourceUpdated:]): Check the MIME type here.
12110
12111 2002-07-01  Richard Williamson  <rjw@apple.com>
12112
12113         Fixed 2976913.
12114          
12115         * WebView.subproj/IFHTMLView.mm:
12116         (-[IFHTMLView layout]):
12117         Augmented debugging info.
12118         (-[IFHTMLView setNeedsDisplay:]):
12119         Augmented debugging info.
12120         (-[IFHTMLView setNeedsLayout:]):
12121         Removed overload of this method to also set display flag.
12122         Why was this added?
12123         (-[IFHTMLView setNeedsToApplyStyles:]):
12124         Augmented debugging info.
12125         (-[IFHTMLView drawRect:]):
12126         Augmented debugging info.
12127         * WebView.subproj/IFWebFramePrivate.mm:
12128         (-[IFWebFrame _timedLayout:]):
12129         If the view size is zero (width or height) force
12130         a layout now, rather than depending on the lazy
12131         layout that will happen in display.  If the view
12132         size is 0,0 the AppKit will optimize out the display.
12133
12134 2002-07-01  Chris Blumenberg  <cblu@apple.com>
12135
12136         Minor cleanup
12137         
12138         * Plugins.subproj/IFNullPluginView.mm:
12139         (-[IFNullPluginView initWithFrame:mimeType:arguments:]):
12140         (-[IFNullPluginView dealloc]):
12141
12142 2002-07-01  Darin Adler  <darin@apple.com>
12143
12144         * Plugins.subproj/IFPlugin.m:
12145         (-[IFPlugin _getPluginInfoForResourceFile:]): Fix off-by one error
12146         that would cause a memory trasher if we had a 255-character string.
12147
12148         * WebView.subproj/IFHTMLView.mm:
12149         * WebView.subproj/IFRenderNode.mm:
12150         Touch these files so we don't have to do a full build of WebKit
12151         for my WebCore changes.
12152
12153 2002-07-01  Maciej Stachowiak  <mjs@apple.com>
12154
12155         Build fixes (don't know why a plain build didn't catch these):
12156
12157         * Plugins.subproj/IFPluginView.mm: openNewWindowWithURL: is not a
12158         method of the controller any more, nor are the status-related calls.
12159         * WebView.subproj/IFWebController.h: Un-ifdef the status calls.
12160
12161 2002-07-01  Maciej Stachowiak  <mjs@apple.com>
12162
12163         Part of fix for Radar 2976618 - links targeting _blank hit
12164         assertion trying to set provisional data source
12165
12166         * WebView.subproj/IFWebFrame.mm:
12167         (-[IFWebFrame frameNamed:]): Show the window.
12168
12169 2002-07-01  Maciej Stachowiak  <mjs@apple.com>
12170
12171         Fix Radar 2953256 - Auth sheet appears detached when clicking
12172         directly on auth link with Alex not running
12173         
12174         * Panels.subproj/IFStandardPanels.m:
12175         (-[IFStandardPanels frontmostWindowLoadingURL:]): Don't consider
12176         windows that are not visible.
12177
12178 2002-06-29  Darin Adler  <darin@apple.com>
12179
12180         * WebCoreSupport.subproj/IFImageRenderer.m:
12181         (-[IFImageRenderer tileInRect:fromPoint:]): Fix calculation of oneTileRect.
12182         I think this is finally correct now.
12183
12184 2002-06-29  Maciej Stachowiak  <mjs@apple.com>
12185
12186         WebKit part of fix for:
12187
12188         Radar 2942074 - JavaScript size, positioning and feature
12189         parameters to window.open are ignored
12190
12191         Also, renamed IFScriptContextHandler protocol to IFWindowContext,
12192         and made it a settable handler like the others rather than
12193         something implemented by the controller, so it can be used w/o
12194         subclassing.
12195         
12196         * WebCoreSupport.subproj/IFWebCoreBridge.mm:
12197         (-[IFWebCoreBridge openNewWindowWithURL:]): Forward to the WindowContext.
12198         (-[IFWebCoreBridge areToolbarsVisisble]): Likewise.
12199         (-[IFWebCoreBridge setToolbarsVisible:]): Likewise.
12200         (-[IFWebCoreBridge areScrollbarsVisible]): Likewise.
12201         (-[IFWebCoreBridge setScrollbarsVisible:]): Likewise.
12202         (-[IFWebCoreBridge isStatusBarVisisble]): Likewise.
12203         (-[IFWebCoreBridge setStatusBarVisible:]): Likewise.
12204         (-[IFWebCoreBridge setWindowFrame:]): Likewise.
12205         (-[IFWebCoreBridge window]): Likewise.
12206         * WebView.subproj/IFWebController.h:
12207         * WebView.subproj/IFWebController.mm:
12208         (-[IFWebController setWindowContext:]): Setter for new WindowContext handler
12209         (-[IFWebController windowContext]): Likewise.
12210         * WebView.subproj/IFWebControllerPrivate.h:
12211         * WebView.subproj/IFWebControllerPrivate.mm:
12212         (-[IFWebControllerPrivate dealloc]): Release window context.
12213         * WebView.subproj/IFWebFrame.mm:
12214         (-[IFWebFrame frameNamed:]): Open new windows via WindowContext.
12215
12216 2002-06-28  Darin Adler  <darin@apple.com>
12217
12218         * WebCoreSupport.subproj/IFImageRenderer.h: Renamed statusOfCache to
12219         patternColorLoadStatus for clarity.
12220         * WebCoreSupport.subproj/IFImageRenderer.m:
12221         (-[IFImageRenderer copyWithZone:]): Add FIXME.
12222         (-[IFImageRenderer tileInRect:fromPoint:]): Add optimization for the
12223         case where a single draw of the image will cover the entire area to be
12224         tiled. Also add comments and make other small improvements.
12225
12226 2002-06-28  Richard Williamson  <rjw@apple.com>
12227
12228         Use float character measurement to determine selection
12229         region.  Necessary to ensure accuracy of selection
12230         region.  First step towards weaning khtml off int
12231         measurements.
12232
12233         * WebCoreSupport.subproj/IFImageRenderer.m:
12234         (-[IFImageRenderer tileInRect:fromPoint:]):
12235         Cleaned up use of loadStatus.
12236         * WebCoreSupport.subproj/IFTextRenderer.m:
12237         (-[IFTextRenderer slowFloatWidthForCharacters:stringLength:fromCharacterPostion:numberOfCharacters:applyRounding:]):
12238         (-[IFTextRenderer floatWidthForCharacters:stringLength:characterPosition:]):
12239         (-[IFTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:applyRounding:attemptFontSubstitution:]):
12240
12241 2002-06-28  Chris Blumenberg  <cblu@apple.com>
12242
12243         * WebView.subproj/IFMainURLHandleClient.h:
12244         * WebView.subproj/IFMainURLHandleClient.mm:
12245         (-[IFMainURLHandleClient downloadHandler]): added
12246         (-[IFMainURLHandleClient IFURLHandleResourceDidCancelLoading:]): removed [downloadHandler cancel]
12247         * WebView.subproj/IFWebDataSource.mm:
12248         (-[IFWebDataSource stopLoading]): call [downloadHandler cancel] here so clean up is done immediately.
12249
12250 2002-06-27  Richard Williamson  <rjw@apple.com>
12251
12252         Fixed tiling of progressively loaded images.
12253         
12254         * WebCoreSupport.subproj/IFImageRenderer.h:
12255         * WebCoreSupport.subproj/IFImageRenderer.m:
12256         (-[IFImageRenderer initWithSize:]):
12257         (-[IFImageRenderer incrementalLoadWithBytes:length:complete:]):
12258         (-[IFImageRenderer loadStatus]):
12259         (-[IFImageRenderer tileInRect:fromPoint:]):
12260
12261 2002-06-27  Richard Williamson  <rjw@apple.com>
12262
12263         * WebCoreSupport.subproj/IFImageRenderer.h:
12264         * WebCoreSupport.subproj/IFImageRenderer.m:
12265         (-[IFImageRenderer incrementalLoadWithBytes:length:complete:]):
12266         (-[IFImageRenderer loadStatus]):
12267         (-[IFImageRenderer tileInRect:fromPoint:]):
12268
12269 2002-06-27  Richard Williamson  <rjw@apple.com>
12270
12271         * WebCoreSupport.subproj/IFTextRenderer.m:
12272         (-[IFTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:applyRounding:attemptFontSubstitution:]):
12273         Fixed uninitialized variable warning.  Compile being too aggressive,
12274         broke deployment build.
12275
12276 2002-06-27  Chris Blumenberg  <cblu@apple.com>
12277
12278         Fixed plug-in positioning.
12279
12280         * Plugins.subproj/IFPluginView.mm:
12281         (-[IFPluginView 
12282 initWithFrame:plugin:url:baseURL:mime:arguments:]): added some logging.
12283         (-[IFPluginView setWindow]): Use the window's content view as the 
12284 guide for the port's coordinates. Also added a workaround for Java.
12285
12286 2002-06-27  Darin Adler  <darin@apple.com>
12287
12288         Fixed DOM tree viewer.
12289
12290         * WebView.subproj/IFDOMNode.mm: (-[IFDOMNode initWithDOMNode:DOM::]):
12291         A typo got in here somehow, leading to an infinite loop.
12292
12293 2002-06-27  Darin Adler  <darin@apple.com>
12294
12295         - fixed 2973212 -- bad arg string != nil in _IF_URLWithString
12296
12297         * WebView.subproj/IFWebDataSourcePrivate.mm:
12298         (-[IFWebDataSource _startLoading:]): Get rid of essentially-dead code that
12299         computed but did not use a URL. Also order operations so that we first
12300         set the flag to say that we're loading, then tell the location change
12301         handler, and only then ask for the actual I/O to being.
12302
12303         * WebView.subproj/IFBaseLocationChangeHandler.h: Removed.
12304         * WebView.subproj/IFBaseLocationChangeHandler.m: Removed.
12305
12306 === Alexander-10 ===
12307
12308 2002-06-27  Richard Williamson  <rjw@apple.com>
12309
12310         Method name changes in preparation for fixing
12311         TextSlave::checkSelectionPoint().  Stubbed
12312         only, no support for new parameters yet.
12313         
12314         * Misc.subproj/IFStringTruncator.m:
12315         (+[IFStringTruncator centerTruncateString:toWidth:withFont:]):
12316         * WebCoreSupport.subproj/IFTextRenderer.h:
12317         * WebCoreSupport.subproj/IFTextRenderer.m:
12318         (-[IFTextRenderer slowFloatWidthForCharacters:stringLength:fromCharacterPostion:numberOfCharacters:applyRounding:]):
12319         (-[IFTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:]):
12320         (-[IFTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:applyRounding:attemptFontSubstitution:]):
12321         (-[IFTextRenderer widthForCharacters:length:]):
12322         (-[IFTextRenderer widthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:]):
12323
12324 2002-06-27  Richard Williamson  <rjw@apple.com>
12325
12326         Removed old methods and references.
12327         
12328         * WebCoreSupport.subproj/IFTextRenderer.m:
12329         (-[IFTextRenderer drawString:atPoint:withColor:]):
12330         (-[IFTextRenderer slowDrawCharacters:length:fromCharacterPosition:toCharacterPosition:atPoint:withTextColor:backgroundColor:attemptFontSubstitution:]):
12331         (-[IFTextRenderer _drawCharacters:length:fromCharacterPosition:toCharacterPosition:atPoint:withTextColor:backgroundColor:]):
12332         Fixed final fragment rendering glitch.
12333
12334 2002-06-27  Darin Adler  <darin@apple.com>
12335
12336         * WebCoreSupport.subproj/IFWebCoreViewFactory.m:
12337         (-[IFWebCoreViewFactory viewForJavaAppletWithFrame:baseURL:parameters:]):
12338         Pass baseURL as a separate parameter.
12339
12340         * WebView.subproj/IFBaseLocationChangeHandler.m: Fix a typo. I think this
12341         file might be unneeded, but I won't delete it until I hear from Chris.
12342
12343 2002-06-27  Richard Williamson  <rjw@apple.com>
12344         
12345         Fix selection in 'slow' code path (non-base characters and font substitution).
12346         
12347         * WebCoreSupport.subproj/IFTextRenderer.m:
12348         (-[IFTextRenderer drawGlyphs:numGlyphs:fromGlyphPosition:toGlyphPosition:atPoint:withTextColor:backgroundColor:]):
12349         (-[IFTextRenderer slowDrawCharacters:length:fromCharacterPosition:toCharacterPosition:atPoint:withTextColor:backgroundColor:attemptFontSubstitution:]):
12350
12351 2002-06-27  Richard Williamson  <rjw@apple.com>
12352
12353         Implemented auto scrolling.
12354         
12355         * WebView.subproj/IFHTMLView.mm:
12356         (-[IFHTMLView mouseDragged:]):
12357
12358 2002-06-27  Richard Williamson  <rjw@apple.com>
12359
12360         Implement selectAll.
12361         
12362         * WebView.subproj/IFHTMLView.mm:
12363         (-[IFHTMLView selectAll:]):
12364
12365 2002-06-27  Maciej Stachowiak  <mjs@apple.com>
12366
12367         WebKit part of fixes for JavaScript cookie bugs:
12368         
12369         2943749 - JavaScript navigator.cookieEnabled property is always "true"
12370         2856039 - JavaScript document.cookies property is not implemented
12371         
12372         Thereby also fixing:
12373         
12374         2944378 - Trying to log into my Yahoo web mail account sent
12375         Alexander into a loop
12376         
12377         * WebCoreSupport.subproj/IFCookieAdapter.h: Added.
12378         * WebCoreSupport.subproj/IFCookieAdapter.m: Added.
12379         (+[IFCookieAdapter createSharedAdapter]): Set up an instance of
12380         IFCookieAdapter as the WebCoreCookieAdapter shared instance.
12381         (-[IFCookieAdapter cookiesEnabled]): Implement in terms of
12382         WebFoundation stuff.
12383         (-[IFCookieAdapter cookiesForURL:]): Likewise.
12384         (-[IFCookieAdapter setCookies:forURL:]): Likewise.
12385         * WebKit.pbproj/project.pbxproj: Add new files to build.
12386         * WebView.subproj/IFWebView.mm:        
12387         (-[IFWebView initWithFrame:]): Hook up the cookie adapter just
12388         like the various factory classes.
12389         
12390 2002-06-27  Chris Blumenberg  <cblu@apple.com>
12391
12392         Support for Java.
12393
12394         * Plugins.subproj/IFPluginView.mm:
12395         (-[IFPluginView initWithFrame:plugin:url:baseURL:mime:arguments:]): set DOCBASE argument
12396         * WebCoreSupport.subproj/IFWebCoreViewFactory.m:
12397         (-[IFWebCoreViewFactory viewForJavaAppletWithFrame:andArguments:]): renamed
12398
12399 2002-06-26  Richard Williamson  <rjw@apple.com>
12400
12401         Many improvements to selection.  More Cocoa like,
12402         normalized all text drawing code paths for selected 
12403         and unselected cases.  
12404         
12405         Still need to work on:
12406         1.  'slow' drawing cases, i.e. runs with non-base characters
12407             or runs requiring font substitution.
12408         2.  Select All menu item.
12409         3.  Auto scrolling.
12410         
12411         * WebCoreSupport.subproj/IFTextRenderer.m:
12412         (-[IFTextRenderer drawString:atPoint:withColor:]):
12413         (-[IFTextRenderer drawGlyphs:numGlyphs:fromGlyphPosition:toGlyphPosition:atPoint:withTextColor:backgroundColor:]):
12414         (-[IFTextRenderer slowDrawCharacters:length:fromCharacterPosition:toCharacterPosition:atPoint:withTextColor:backgroundColor:attemptFontSubstitution:]):
12415         (-[IFTextRenderer _drawCharacters:length:fromCharacterPosition:toCharacterPosition:atPoint:withTextColor:backgroundColor:]):
12416         (-[IFTextRenderer drawCharacters:length:atPoint:withTextColor:backgroundColor:]):
12417         (-[IFTextRenderer drawCharacters:length:atPoint:withTextColor:]):
12418         (-[IFTextRenderer drawCharacters:stringLength:fromCharacterPosition:toCharacterPosition:atPoint:withTextColor:backgroundColor:]):
12419
12420 2002-06-26  Darin Adler  <darin@apple.com>
12421
12422         - fixed 2969280 -- if trailing / not specified for site, relative URLs are
12423         incorrectly expanded
12424
12425         * WebCoreSupport.subproj/IFWebCoreBridge.mm:
12426         (-[IFWebCoreBridge receivedData:withDataSource:]): Update the URL for the
12427         case where we've already been redirected before we receive any data.
12428
12429 2002-06-26  Darin Adler  <darin@apple.com>
12430
12431         - fixed 2971532 -- crash with null KHTMLView at gramicci.com
12432
12433         * WebView.subproj/IFHTMLView.mm:
12434         (-[IFHTMLView reapplyStyles]): Handle widget == 0 case.
12435         (-[IFHTMLView layout]): Handle widget == 0 case.
12436
12437         Fixed a crash I have seen many times where a data source tries
12438         to use its parent to locate the controller after its parent is
12439         deallocated.
12440
12441         * WebView.subproj/IFWebDataSourcePrivate.mm:
12442         (-[IFWebDataSourcePrivate dealloc]): Use _parentDataSourceWillBeDeallocated
12443         instead of _setController:nil.
12444
12445         * WebView.subproj/IFWebFramePrivate.h: Add _parentDataSourceWillBeDeallocated.
12446         * WebView.subproj/IFWebFramePrivate.mm:
12447         (-[IFWebFrame _parentDataSourceWillBeDeallocated]): Does both
12448         a _setController:nil, and a _setParent:nil on both data sources.
12449
12450 2002-06-26  John Sullivan  <sullivan@apple.com>
12451
12452         - fixed 2971024 -- wrong item is bookmarked
12453
12454         -[IFWebDataSource redirectedURL] was returning the URL of a
12455         sub-page resource.
12456
12457         * WebCoreSupport.subproj/IFResourceURLHandleClient.m:
12458         (-[IFResourceURLHandleClient IFURLHandle:didRedirectToURL:]):
12459         Removed evil call to _setFinalURL here. It had no right to live.
12460
12461 2002-06-26  Darin Adler  <darin@apple.com>
12462
12463         * WebCoreSupport.subproj/IFImageRendererFactory.m:
12464         (-[IFImageRendererFactory imageRenderer]): Fix NSBitmapImageRep leak.
12465
12466 2002-06-26  Chris Blumenberg  <cblu@apple.com>
12467
12468         - added "complete" to to progress methods to indicate last progress message
12469
12470         * Plugins.subproj/IFPluginView.mm:
12471         (-[IFPluginView setWindow]): added a draw test
12472         * WebView.subproj/IFWebController.h:
12473         * WebView.subproj/IFWebControllerPrivate.mm:
12474         (-[IFWebController _receivedProgress:forResourceHandle:fromDataSource:complete:]):
12475         (-[IFWebController _mainReceivedProgress:forResourceHandle:fromDataSource:complete:]):
12476
12477 2002-06-26  Richard Williamson  <rjw@apple.com>
12478
12479         Fixed recursion problems.  +[NSFont findFontLike:forString:withRange:inLanguage:]
12480         will alternate between suggested fonts with bogus answers.  The work
12481         around involves adding an explicit flag indicating whether or not
12482         font substitution should be attempted.
12483         
12484         * Misc.subproj/IFStringTruncator.m:
12485         (+[IFStringTruncator centerTruncateString:toWidth:withFont:]):
12486         * WebCoreSupport.subproj/IFTextRenderer.h:
12487         * WebCoreSupport.subproj/IFTextRenderer.m:
12488         (-[IFTextRenderer slowDrawCharacters:length:atPoint:withColor:attemptFontSubstitution:]):
12489         (-[IFTextRenderer drawCharacters:length:atPoint:withColor:]):
12490         (-[IFTextRenderer floatWidthForCharacters:length:applyRounding:attemptFontSubstitution:]):
12491         (-[IFTextRenderer widthForCharacters:length:]):
12492
12493 2002-06-26  Darin Adler  <darin@apple.com>
12494
12495         * WebView.subproj/IFHTMLView.mm:
12496         (-[IFHTMLView validateUserInterfaceItem:]): Switch to this instead
12497         of validateMenuItem: so that a Copy toolbar button would work.
12498
12499 2002-06-25  Richard Williamson  <rjw@apple.com>
12500
12501         Disable the copy menu item when IFHTMLView has is key
12502         and has no selection.
12503         
12504         * WebView.subproj/IFHTMLView.mm:
12505         (-[IFHTMLView validateMenuItem:]):
12506         Disable menu if selection is empty.
12507         (-[IFHTMLView copy:]):
12508         Factored code that gets the bridge.
12509         * WebView.subproj/IFHTMLViewPrivate.h:
12510         Added _bridge.
12511         * WebView.subproj/IFHTMLViewPrivate.mm:
12512         (-[IFHTMLView _bridge]):
12513         We need to access the bridge from the view
12514         to get the part's selection.
12515
12516 2002-06-25  Chris Blumenberg  <cblu@apple.com>
12517
12518         Remove downloaded file if cancelled.
12519
12520         * Misc.subproj/IFDownloadHandler.mm:
12521         (-[IFDownloadHandler cancel]):
12522
12523 2002-06-25  Richard Williamson  <rjw@apple.com>
12524
12525         Support for rudimentary plain text 'copy'.
12526
12527         * WebCoreSupport.subproj/IFImageRenderer.m:
12528         (-[IFImageRenderer incrementalLoadWithBytes:length:complete:]):
12529         * WebView.subproj/IFHTMLView.mm:
12530         (-[IFHTMLView copy:]):
12531         * WebView.subproj/IFWebViewPrivate.h:
12532         * WebView.subproj/IFWebViewPrivate.mm:
12533         (-[IFWebView _controller]):
12534
12535 2002-06-25  Richard Williamson  <rjw@apple.com>
12536
12537         Enabled progressive image loading code.
12538         
12539         * WebCoreSupport.subproj/IFImageRenderer.h:
12540         * WebCoreSupport.subproj/IFImageRenderer.m:
12541         (-[IFImageRenderer initWithSize:]):
12542         (-[IFImageRenderer incrementalLoadWithBytes:length:complete:]):
12543         * WebCoreSupport.subproj/IFImageRendererFactory.m:
12544         (-[IFImageRendererFactory imageRenderer]):
12545
12546 2002-06-25  Richard Williamson  <rjw@apple.com>
12547
12548        Extended our text measurement rounding work-around for integer-float 
12549        mismatch to round on word boundaries as well as spaces.
12550
12551         * WebCoreSupport.subproj/IFTextRenderer.m:
12552         (-[IFTextRenderer drawGlyphs:numGlyphs:atPoint:withColor:]):
12553         (-[IFTextRenderer slowFloatWidthForCharacters:length:applyRounding:]):
12554         (-[IFTextRenderer floatWidthForCharacters:length:applyRounding:]):
12555
12556 2002-06-25  Darin Adler  <darin@apple.com>
12557
12558         * WebCoreSupport.subproj/IFResourceURLHandleClient.m:
12559         (-[IFResourceURLHandleClient IFURLHandleResourceDidCancelLoading:]):
12560         (-[IFResourceURLHandleClient IFURLHandleResourceDidFinishLoading:data:]):
12561         (-[IFResourceURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]):
12562         Don't remove the URL handle from the data source until we've finished the
12563         loading process in KDE code. This may fix 2968527.
12564
12565         * WebCoreSupport.subproj/IFTextRenderer.m: Keep around commented printfs so
12566         I can do the "dump all strings as they are rendered" again.
12567
12568         * WebKit.pbproj/project.pbxproj: Re-add -Wmissing-format-attribute.
12569
12570 2002-06-25  Darin Adler  <darin@apple.com>
12571
12572         * WebCoreSupport.subproj/IFImageRenderer.m:
12573         (-[IFImageRenderer tileInRect:fromPoint:]): Remove stray NSLog.
12574
12575 2002-06-25  Darin Adler  <darin@apple.com>
12576
12577         - fixed 2968298 -- IFImageRenderer crash at download.com
12578
12579         * WebCoreSupport.subproj/IFImageRenderer.m:
12580         (-[IFImageRenderer initWithSize:]): Override this instead of [init].
12581         This is the designated initializer and all the others call this.
12582         (-[IFImageRenderer copyWithZone:]): Override to nil out fields that
12583         can't be shared by the copy.
12584
12585         Fix leaks.
12586
12587         * History.subproj/IFURIEntry.m:
12588         (-[IFURIEntry initWithURL:title:image:]): Use copy instead of retain
12589         in case we are passed a mutable string.
12590         (-[IFURIEntry dealloc]): Release _displayTitle. Fixes a leak.
12591         (-[IFURIEntry setTitle:]): Use copy instead of retain in case we are
12592         passed a mutable string.
12593         (-[IFURIEntry setDisplayTitle:]): Use copy instead of retain in case
12594         we are passed a mutable string.
12595         (-[IFURIEntry initFromDictionaryRepresentation:]): Lose the extra
12596         retain for _lastVisitedDate. Fixes a leak.
12597
12598 2002-06-24  Darin Adler  <darin@apple.com>
12599
12600         * Panels.subproj/IFStandardPanels.m:
12601         (-[IFStandardPanels didStopLoadingURL:inWindow:]): Fix a leak caused
12602         by calling the wrong method. This was calling objectForKey: instead of
12603         removeObjectForKey:.
12604
12605 2002-06-24  Richard Williamson  <rjw@apple.com>
12606
12607         Changed our usage of +[NSFont findFontLike:forString:withRange:inLanguage:]
12608         after talking with Aki.  We were erroneously passing a complete
12609         string rather than a character cluster.  Fixed 2964793.
12610         
12611         * WebCoreSupport.subproj/IFTextRenderer.m:
12612         (findLengthOfCharacterCluster):
12613         (-[IFTextRenderer slowPackGlyphsForCharacters:numCharacters:glyphBuffer:numGlyphs:]):
12614         (-[IFTextRenderer drawGlyphs:numGlyphs:atPoint:withColor:]):
12615         (-[IFTextRenderer slowDrawCharacters:length:atPoint:withColor:]):
12616         (-[IFTextRenderer _drawCharacters:length:atPoint:withColor:]):
12617         (-[IFTextRenderer drawCharacters:length:atPoint:withColor:]):
12618         (-[IFTextRenderer floatWidthForCharacters:length:applyRounding:]):
12619
12620 2002-06-24  Darin Adler  <darin@apple.com>
12621
12622         * WebView.subproj/IFWebFramePrivate.mm:
12623         (-[IFWebFrame _transitionProvisionalToCommitted]): Take ownership before
12624         doing the setWidget. The other way the widget was getting deleted.
12625
12626 2002-06-24  Chris Blumenberg  <cblu@apple.com>
12627
12628         * Plugins.subproj/IFPlugin.h:
12629         * Plugins.subproj/IFPlugin.m:
12630         (-[IFPlugin initWithPath:]): Close resource files when done.
12631         (-[IFPlugin load]): Remove Java plug-in workaround, load as mach-o
12632         * Plugins.subproj/IFPluginView.h:
12633         * Plugins.subproj/IFPluginView.mm:
12634         (-[IFPluginView initWithFrame:plugin:url:baseURL:mime:arguments:]): take NSURLs
12635         (-[IFPluginView dealloc]): release baseURL
12636         * WebCoreSupport.subproj/IFWebCoreViewFactory.m:
12637         (-[IFWebCoreViewFactory viewForPluginWithURL:serviceType:arguments:baseURL:]): take NSURLs
12638         (-[IFWebCoreViewFactory viewForJavaAppletWithArguments:]):
12639
12640 2002-06-24  Darin Adler  <darin@apple.com>
12641
12642         Remove some unused stuff. Other minor cleanup.
12643
12644         * WebView.subproj/IFDynamicScrollBarsView.h: Remove breakRecursionCycle,
12645         don't declare updateScrollers or resetCursorRects.
12646
12647         * WebView.subproj/IFDynamicScrollBarsView.m:
12648         (-[IFDynamicScrollBarsView updateScrollers]): Make this work even for a view
12649         that doesn't allow scrolling, turning off both scrollers in that case.
12650         (-[IFDynamicScrollBarsView reflectScrolledClipView:]): Call updateScrollers
12651         unconditionally, letting it decide what to do, rather than looking at
12652         allowsScrolling. Also, no need to use a boolean to break the recursion cycle,
12653         now that updateScrollers does no work if none is needed.
12654         (-[IFDynamicScrollBarsView setCursor:]): Do nothing if the cursor is not
12655         changing. Also handle arrowCursor case here.
12656         (-[IFDynamicScrollBarsView resetCursorRects]): Call discardCursorRects so
12657         the old rects won't keep accumulating.
12658         (-[IFDynamicScrollBarsView setAllowsScrolling:]): Always call updateScrollers,
12659         not just when turning scrolling off.
12660
12661         * WebView.subproj/IFHTMLView.mm:
12662         (-[IFHTMLView initWithFrame:]): Remove unneeded NSWindowWillCloseNotification
12663         and isFlipped field.
12664         (-[IFHTMLView removeNotifications]): Moved here from NSWindowWillCloseNotification.
12665         (-[IFHTMLView viewWillMoveToWindow:]): Remove all the notifications when the
12666         view is removed from the window.
12667         (-[IFHTMLView setNeedsLayout:]): Call setNeedsDisplay in the YES case, so the
12668         callers don't all have to.
12669         (-[IFHTMLView isFlipped]): Just return YES. No need to store it.
12670         (-[IFHTMLView windowResized:]): Add a FIXME, since this is not the way we want
12671         to handle view resizing for the long run.
12672         * WebView.subproj/IFHTMLViewPrivate.h: Remove isFlipped.
12673
12674 2002-06-24  Darin Adler  <darin@apple.com>
12675
12676         Fix the last of the "leak the world" problems. The KHTMLView was leaking
12677         in IFHTMLView.
12678
12679         * WebView.subproj/IFHTMLView.mm:
12680         (-[IFHTMLView dealloc]): Call _reset instead of _stopPlugins, so we get rid
12681         of the widget too.
12682         (-[IFHTMLView viewWillMoveToWindow:]): Use _reset now instead of the old
12683         _stopPlugins; also check that the window isn't already nil so we don't do a
12684         reset as part of our first install.
12685         (-[IFHTMLView provisionalDataSourceCommitted:]): Use the new widgetOwned
12686         flag to tell if the widget should be deleted instead of deciding based on
12687         whether the dataSource is the main document.
12688
12689         * WebView.subproj/IFHTMLViewPrivate.h: Add a widgetOwned boolean and a
12690         private _takeOwnershipOfWidget method. Combine _resetWidget and _stopPlugins
12691         into a single _reset call. Remove _removeSubviews.
12692
12693         * WebView.subproj/IFHTMLViewPrivate.mm:
12694         (-[IFHTMLView _reset]): New name for the combination of _resetWidget and
12695         _stopPlugins. Now it decides whether to delete the widget based on the
12696         widget owned flag, so it is safe to call even for non-main-document views.
12697         (-[IFHTMLView _takeOwnershipOfWidget]): Sets widgetOwned to NO.
12698
12699         * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame reset]): Use _resetWidget
12700         under its new name _reset.
12701
12702         * WebView.subproj/IFWebFramePrivate.mm:
12703         (-[IFWebFrame _transitionProvisionalToCommitted]): Don't bother doing
12704         explicit _stopPlugins and _removeSubviews. It's now the view's own responsibility
12705         to do this in viewWillMoveToWindow:. Call _takeOwnershipOfWidget after attaching
12706         the widget to the RenderPart.
12707
12708         * WebView.subproj/IFImageView.m: (-[IFImageView viewWillMoveToWindow:]): Added.
12709         Break the reference cycle by stopping animated IFImageRenderer here instead of
12710         waiting for dealloc.
12711
12712         * Plugins.subproj/IFPluginView.mm: (-[IFPluginView setWindow]): Fix a warning
12713         by changing the printf format string to match the parameter type.
12714
12715         * Misc.subproj/WebKitDebug.h: Re-add the __format__ attribute, now that Radar
12716         2920557 is fixed.
12717
12718 2002-06-23  Darin Adler  <darin@apple.com>
12719
12720         * WebCoreSupport.subproj/IFImageRenderer.m: (-[IFImageRenderer nextFrame:]):
12721         Use hasAlpha instead of isOpaque because the latter does not work (Radar 2966937).
12722
12723 2002-06-21  Darin Adler  <darin@apple.com>
12724
12725         * WebCoreSupport.subproj/IFImageRenderer.m:
12726         (-[IFImageRenderer nextFrame:]): Add back the higher-speed case where
12727         we draw directly for opaque animated images.
12728
12729 2002-06-21  Darin Adler  <darin@apple.com>
12730
12731         Cache the patterns we make for tiled images for added speed.
12732
12733         * WebCoreSupport.subproj/IFImageRenderer.h: Removed declarations of
12734         methods inherited from WebCoreImageRenderer. Added patternColor field.
12735
12736         * WebCoreSupport.subproj/IFImageRenderer.m:
12737         (-[IFImageRenderer dealloc]): Release patternColor.
12738         (-[IFImageRenderer beginAnimationInRect:fromRect:]): Get the view with
12739         [NSView focusView] rather than taking a parameter that's used only for
12740         the animating case.
12741         (-[IFImageRenderer tileInRect:fromPoint:]): New. Caches the pattern in
12742         the patternColor field.
12743
12744         * WebView.subproj/IFImageView.m: (-[IFImageView drawRect:]): No need to
12745         pass view to image renderer any more.
12746
12747 2002-06-21  Darin Adler  <darin@apple.com>
12748
12749         Fix rendering of non-opaque animated images.
12750
12751         * WebCoreSupport.subproj/IFImageRenderer.m:
12752         (-[IFImageRenderer nextFrame:]): Use [NSView displayRect:] instead of
12753         drawing explicitly so that views behind us get a chance to draw too.
12754         This is less efficient than just drawing for opaque images, but NSImage
12755         doesn't offer a way to find out if the image is opaque. Also, this changes
12756         things a bit because beginAnimationInView gets called again, so we don't
12757         have to reschedule the timer.
12758
12759 2002-06-20  Richard Williamson  <rjw@apple.com>
12760
12761         * WebCoreSupport.subproj/IFImageRenderer.m:
12762         (-[IFImageRenderer frameDuration]):
12763             Added minimum 1/60th second duration per frame.
12764         * WebView.subproj/IFDynamicScrollBarsView.m:
12765         (-[IFDynamicScrollBarsView updateScrollers]):
12766             Only display scrollview if scrollers changed.
12767         * WebView.subproj/IFWebFramePrivate.mm:
12768         (-[IFWebFrame _setState:]):
12769             Explicity turn on copiesOnScroll.  This may cause problems w/
12770             plugins.  Need to verify once plugins are no longer crashing.
12771
12772 2002-06-20  Darin Adler  <darin@apple.com>
12773
12774         Fix for leak where sub-frame IFHTMLViews would not call _stopPlugins.
12775
12776         * Plugins.subproj/IFPluginView.mm:
12777         (-[IFPluginView viewWillMoveToWindow:]):
12778         * WebView.subproj/IFHTMLView.mm:
12779         (-[IFHTMLView viewWillMoveToWindow:]):
12780         Use this viewWillMoveToWindow instead of removeFromSuperview; it's a more
12781         reliable way to handle cases where the view is removed from the view hierarchy.
12782
12783         Fix for IFWebFrame -> IFWebDataSource -> LoadProgressMonitor -> IFWebFrame
12784         reference cycle.
12785
12786         * WebView.subproj/IFLocationChangeHandler.h: Add dataSource parameters for the
12787         methods that don't have them so this can be "delegate" style.
12788         * WebView.subproj/IFWebController.h: Pass a dataSource instead of a frame
12789         when asking for a location change handler.
12790
12791         * WebView.subproj/IFMainURLHandleClient.mm:
12792         (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]):
12793         Pass dataSource for locationChangeDone.
12794
12795         * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _startLoading:]):
12796         Pass dataSource for locationChangeStarted.
12797
12798         * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame setProvisionalDataSource:]):
12799         Pass a dataSource instead of a frame when asking for a location change handler.
12800
12801         * WebView.subproj/IFWebFramePrivate.mm:
12802         (-[IFWebFrame _transitionProvisionalToCommitted]): Pass dataSource for
12803         locationChangeCommitted.
12804         (-[IFWebFrame _isLoadComplete]): Pass dataSource for locationChangeDone.
12805
12806         * force-clean-timestamp: Give this mechanism a try. I'm not sure
12807         we really need a clean build right now.
12808
12809         * WebView.subproj/IFWebDataSource.mm: Simplify.
12810
12811 2002-06-20  Kenneth Kocienda  <kocienda@apple.com>
12812
12813         A more complete fix for this bug:
12814
12815         Radar 2942728 (Link to Yahoo! Finance stocks page fails, says URL is "not a valid location")
12816
12817         I added a new +(NSURL)_IF_URLWithString: method to IFNSURLExtensions.
12818         This is now the suggested way to create a URL from a string.
12819
12820         * History.subproj/IFURIEntry.m:
12821         (-[IFURIEntry initFromDictionaryRepresentation:])
12822         * History.subproj/IFURLsWithTitles.m:
12823         (+[IFURLsWithTitles URLsFromPasteboard:])
12824         * History.subproj/IFWebHistoryPrivate.m:
12825         (-[IFWebHistoryPrivate updateURL:title:displayTitle:forURL:])
12826         * Plugins.subproj/IFNullPluginView.mm:
12827         (-[IFNullPluginView initWithFrame:mimeType:arguments:])
12828         * Plugins.subproj/IFPluginView.mm:
12829         (-[IFPluginView initWithFrame:plugin:url:mime:arguments:])
12830         (-[IFPluginView loadURL:inTarget:withNotifyData:andHandleAttributes:])
12831         * WebCoreSupport.subproj/IFWebCoreViewFactory.m:
12832         (-[IFWebCoreViewFactory viewForPluginWithURL:serviceType:arguments:baseURL:])
12833         * WebKit.pbproj/project.pbxproj:
12834         * WebView.subproj/IFWebDataSource.h:
12835         * WebView.subproj/IFWebDataSourcePrivate.mm:
12836         (-[IFWebDataSource _startLoading:])
12837         * WebView.subproj/IFWebView.mm:
12838         (-[IFWebView performDragOperation:])
12839
12840 === Alexander-9 ===
12841
12842 2002-06-19  Richard Williamson  <rjw@apple.com>
12843
12844     Break image renderer reference cycle.  When a view is removed from the view
12845     hierarchy active image renderers are told to stop animating,
12846     which will, in turn, cause them to release their view.  We leverage
12847     the existing _stopPlugins mechanism.
12848     
12849         * WebCoreSupport.subproj/IFImageRenderer.h:
12850         * WebCoreSupport.subproj/IFImageRenderer.m:
12851         (+[IFImageRenderer stopAnimationsInView:]):
12852         (-[IFImageRenderer beginAnimationInView:inRect:fromRect:]):
12853         (-[IFImageRenderer frameView]):
12854         (-[IFImageRenderer stopAnimation]):
12855         * WebView.subproj/IFHTMLViewPrivate.mm:
12856         (-[IFHTMLView _stopPlugins]):
12857
12858 2002-06-19  John Sullivan  <sullivan@apple.com>
12859
12860         - fixed 2960677 -- attempt to insert nil key; content policy set twice on particular page.
12861
12862         The problem here was a bad URL not being propogated through the error-handling machinery
12863         correctly because the url handle was nil, but used to get its string.
12864
12865         * WebCoreSupport.subproj/IFResourceURLHandleClient.m:
12866         (+[IFResourceURLHandleClient startLoadingResource:withURL:dataSource:]):
12867         * WebView.subproj/IFWebControllerPrivate.mm: Use IFError init method that takes
12868         failingURL.
12869
12870         (-[IFWebController _receivedProgress:forResourceHandle:fromDataSource:complete:]):
12871         (-[IFWebController _receivedError:forResourceHandle:partialProgress:fromDataSource:]):
12872         Check [error failingURL] when resource handle is nil.
12873
12874 2002-06-19  Darin Adler  <darin@apple.com>
12875
12876         Fixed a storage leak and made some other changes to go along with
12877         corresponding WebCore changes.
12878
12879         * WebCoreSupport.subproj/IFResourceURLHandleClient.m:
12880         (-[IFResourceURLHandleClient didStartLoadingWithURL:]): Added.
12881         (-[IFResourceURLHandleClient didStopLoading]): Added.
12882         (-[IFResourceURLHandleClient dealloc]):
12883         (-[IFResourceURLHandleClient IFURLHandleResourceDidBeginLoading:]):
12884         (-[IFResourceURLHandleClient IFURLHandleResourceDidCancelLoading:]):
12885         (-[IFResourceURLHandleClient IFURLHandleResourceDidFinishLoading:data:]):
12886         (-[IFResourceURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]):
12887         (-[IFResourceURLHandleClient IFURLHandle:didRedirectToURL:]):
12888         Use didStartLoadingWithURL and didStopLoading to cure problems where the
12889         handle would be left in the data sources list of loading handles.
12890
12891         * WebView.subproj/IFDynamicScrollBarsView.h: Changed to conform to the
12892         WebCoreFrameView protocol.
12893
12894         * Misc.subproj/WebKitDebug.h: Cloned improved assert code from WebFoundation.
12895
12896         * WebView.subproj/IFDynamicScrollBarsView.m: Fixed comment.
12897
12898 2002-06-19  Chris Blumenberg  <cblu@apple.com>
12899
12900         Call setWindow in layout so that plug-in content is drawn without 
12901         needing to resize.
12902
12903         * Plugins.subproj/IFPluginView.mm:
12904         (-[IFPluginView layout]):
12905         (-[IFPluginView viewHasMoved:]):
12906
12907 2002-06-19  Kenneth Kocienda  <kocienda@apple.com>
12908
12909         I just played alchemical voodoo games with the linker to
12910         make all our frameworks and Alexander prebound.
12911
12912         * WebKit.pbproj/project.pbxproj
12913
12914 2002-06-18  Chris Blumenberg  <cblu@apple.com>
12915
12916         Fix for 2961733 - Progress of plug-in files not shown in activity window
12917         Plugin classed must call _IF_superviewWithName: not _IF_parentWebView
12918
12919         * Plugins.subproj/IFNullPluginView.mm:
12920         (-[IFNullPluginView drawRect:]):
12921         * Plugins.subproj/IFPluginStream.mm: minor cleanup
12922         (-[IFPluginStream IFURLHandle:resourceDataDidBecomeAvailable:]):
12923         (-[IFPluginStream IFURLHandleResourceDidFinishLoading:data:]):
12924         (-[IFPluginStream IFURLHandleResourceDidCancelLoading:]):
12925         (-[IFPluginStream IFURLHandle:resourceDidFailLoadingWithResult:]):
12926         (-[IFPluginStream IFURLHandle:didRedirectToURL:]):
12927         * Plugins.subproj/IFPluginView.mm:
12928         (-[IFPluginView start]):
12929         (-[IFPluginView layout]):
12930
12931 2002-06-18  Chris Blumenberg  <cblu@apple.com>
12932
12933         Enabled the viewing of plug-in content inline
12934         (aka direct links to plugin media). Made IFPluginView a
12935         IFDocumentView and IFPluginStream a IFDocumentRespresentation.
12936
12937         Renamed content policy API's to include the data source.
12938
12939         * Plugins.subproj/IFPluginDatabase.h:
12940         * Plugins.subproj/IFPluginDatabase.m:
12941         (+[IFPluginDatabase installedPlugins]): registers plugins as IFDocument*
12942         * Plugins.subproj/IFPluginStream.h:
12943         * Plugins.subproj/IFPluginStream.mm:
12944         (-[IFPluginStream init]): added for IFDocumentRepresentation
12945         (-[IFPluginStream initWithURL:pluginPointer:notifyData:attributes:]): removed load initiliazatoin
12946         (-[IFPluginStream dealloc]):
12947         (-[IFPluginStream startLoad]): added
12948         (-[IFPluginStream stop]):
12949         (-[IFPluginStream receivedData:]): added as the base implementation
12950         (-[IFPluginStream receivedError]): added as the base implementation
12951         (-[IFPluginStream finishedLoadingWithData:]): added as the base implementation
12952         (-[IFPluginStream receivedData:withDataSource:]): added for IFDocumentRepresentation
12953         (-[IFPluginStream receivedError:withDataSource:]): added for IFDocumentRepresentation
12954         (-[IFPluginStream finishedLoadingWithDataSource:]): added for IFDocumentRepresentation
12955         (-[IFPluginStream IFURLHandleResourceDidBeginLoading:]): 
12956         (-[IFPluginStream IFURLHandle:resourceDataDidBecomeAvailable:]): call receivedData
12957         (-[IFPluginStream IFURLHandleResourceDidFinishLoading:data:]): call finishedLoadingWithData
12958         (-[IFPluginStream IFURLHandleResourceDidCancelLoading:]): call receivedError
12959         (-[IFPluginStream IFURLHandle:resourceDidFailLoadingWithResult:]): call receivedError
12960         (-[IFPluginStream IFURLHandle:didRedirectToURL:]):
12961         * Plugins.subproj/IFPluginView.h:
12962         * Plugins.subproj/IFPluginView.mm:
12963         (-[IFPluginView initWithFrame:plugin:url:mime:arguments:]): removed special-case code for NP_FULL mose
12964         (-[IFPluginView start]):
12965         (-[IFPluginView initWithFrame:]): added for IFDocumentView 
12966         (-[IFPluginView provisionalDataSourceChanged:]): added for IFDocumentView
12967         (-[IFPluginView provisionalDataSourceCommitted:]): added for IFDocumentView
12968         (-[IFPluginView dataSourceUpdated:]): added for IFDocumentView
12969         (-[IFPluginView layout]): added for IFDocumentView
12970         (-[IFPluginView removeFromSuperview]): call stop
12971         (-[IFPluginView loadURL:inTarget:withNotifyData:andHandleAttributes:]):
12972         (-[IFPluginView pluginInstance]): added 
12973         * WebCoreSupport.subproj/IFWebCoreViewFactory.m:
12974         (-[IFWebCoreViewFactory viewForPluginWithURL:serviceType:arguments:baseURL:]): call new init method
12975         (-[IFWebCoreViewFactory viewForJavaAppletWithArguments:]): call new init method
12976         * WebKit.pbproj/project.pbxproj:
12977         * WebView.subproj/IFLocationChangeHandler.h: content policy method name changes
12978         * WebView.subproj/IFMainURLHandleClient.mm:
12979         (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]): content policy method name changes
12980         * WebView.subproj/IFWebController.h:
12981         * WebView.subproj/IFWebController.mm:
12982         (-[IFWebController haveContentPolicy:andPath:forDataSource:]): content policy method name changes
12983         * WebView.subproj/IFWebDataSourcePrivate.h:
12984
12985 2002-06-18  Kenneth Kocienda  <kocienda@apple.com>
12986
12987         Fix for this bug:
12988
12989         Radar 2928483 (activity viewer does not show all the pieces of a web page when the page is cached)
12990
12991         * WebCoreSupport.subproj/IFWebCoreBridge.mm:
12992         (-[IFWebCoreBridge objectLoadedFromCache:size:]): New method that sends the appropriate progress indication.
12993
12994 2002-06-17  Richard Williamson  <rjw@apple.com>
12995
12996     Fixed window.open regression.
12997     Partial fix to targeting frame of new name.
12998     
12999         * WebCoreSupport.subproj/IFWebCoreBridge.h:
13000         * WebCoreSupport.subproj/IFWebCoreBridge.mm:
13001         (-[IFWebCoreBridge openNewWindowWithURL:]):
13002             Return the newly created bridge.
13003         (-[IFWebCoreBridge receivedData:withDataSource:]):
13004             Use setDataSource: method
13005         (-[IFWebCoreBridge startLoadingResource:withURL:]):
13006             No change.
13007         (-[IFWebCoreBridge setDataSource:]):
13008             New method.
13009         * WebView.subproj/IFHTMLView.mm:
13010         (-[IFHTMLView mouseMovedNotification:]):
13011             Selection support.
13012         (-[IFHTMLView mouseDragged:]):
13013             Selection support.
13014
13015         * WebView.subproj/IFWebController.mm:
13016         (-[IFWebController haveContentPolicy:andPath:forLocationChangeHandler:]):
13017         Only change representation if it hasn't been pre-bound, or if it's
13018         class changed.
13019         
13020         * WebView.subproj/IFWebFrame.mm:
13021         (-[IFWebFrame initWithName:webView:provisionalDataSource:controller:]):
13022             More hackery to support window.open.
13023
13024 2002-06-17  Darin Adler  <darin@apple.com>
13025
13026         Fixed many of the reasons that we were leaking the world. But we still leak
13027         KHTMLPart objects, so there must be more problems.
13028
13029         * WebCoreSupport.subproj/IFResourceURLHandleClient.m:
13030         (+[IFResourceURLHandleClient startLoadingResource:withURL:dataSource:]):
13031         Add missing autorelease. Without this, we leak the world.
13032         (-[IFResourceURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]):
13033         Weaken assert. It was firing before.
13034
13035         * WebCoreSupport.subproj/IFWebCoreBridge.mm:
13036         (-[IFWebCoreBridge receivedData:withDataSource:]): Don't retain the
13037         dataSource any more. Without this, we leak the world.
13038
13039         * WebView.subproj/IFWebControllerPrivate.mm:
13040         (-[IFWebControllerPrivate dealloc]): Release the policy handler too.
13041         Without this, we leak the world.
13042
13043         * WebView.subproj/IFWebDataSourcePrivate.mm:
13044         (-[IFWebDataSourcePrivate dealloc]): Release resourceData, representation,
13045         downloadPath, encoding, and contentType. Without this, we leak the world.
13046
13047         * WebView.subproj/IFWebFrame.mm:
13048         (-[IFWebFrame initWithName:webView:provisionalDataSource:controller:]):
13049         Release the dummy data source after setting it up so it doesn't leak.
13050
13051         * WebView.subproj/IFHTMLViewPrivate.mm:
13052         (-[IFHTMLViewPrivate dealloc]): Don't release the controller, we didn't retain it.
13053         (-[IFHTMLView _resetWidget]): Delete the provisional widget too.
13054
13055         * WebView.subproj/IFWebDataSourcePrivate.h: Remove unused "children" array.
13056
13057         * WebCoreSupport.subproj/IFImageRenderer.m: Fix comment.
13058         * WebView.subproj/IFHTMLView.mm: Fix comments.
13059
13060 2002-06-17  Richard Williamson  <rjw@apple.com>
13061
13062     Fixed call to renamed progress method.
13063     
13064         * Plugins.subproj/IFPluginStream.mm:
13065     
13066 2002-06-17  Chris Blumenberg  <cblu@apple.com>
13067
13068         * WebView.subproj/IFWebDataSource.h:
13069         * WebView.subproj/IFWebDataSource.mm:
13070         (-[IFWebDataSource contentType]): no changes
13071         (-[IFWebDataSource fileType]): added. Returns extension based on MIME.
13072
13073 2002-06-17  Richard Williamson  <rjw@apple.com>
13074
13075     Added explicit complete check for resources, rather
13076     than depend on bytesSoFar == totalToLoad.
13077     
13078         * WebCoreSupport.subproj/IFResourceURLHandleClient.m:
13079         (-[IFResourceURLHandleClient receivedProgressWithHandle:complete:]):
13080         (-[IFResourceURLHandleClient IFURLHandleResourceDidBeginLoading:]):
13081         (-[IFResourceURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]):
13082         (-[IFResourceURLHandleClient IFURLHandleResourceDidCancelLoading:]):
13083         (-[IFResourceURLHandleClient IFURLHandleResourceDidFinishLoading:data:]):
13084         * WebView.subproj/IFWebControllerPrivate.h:
13085         * WebView.subproj/IFWebControllerPrivate.mm:
13086         (-[IFWebController _receivedProgress:forResourceHandle:fromDataSource:complete:]):
13087
13088 2002-06-17  Chris Blumenberg  <cblu@apple.com>
13089
13090         Fix for 2939881. No more overwritting of one's files.
13091
13092         * Misc.subproj/IFDownloadHandler.mm:
13093         (-[IFDownloadHandler receivedData:]):
13094         (-[IFDownloadHandler finishedLoading]):
13095
13096 2002-06-17  Richard Williamson  <rjw@apple.com>
13097
13098     Fixed IFImageViews not drawing correctly.
13099     
13100     Changed compeletion to explicity use IFURLHandleResourceDidFinishLoading, rather
13101     than depend on bytesSoFar == totalToLoad.
13102     
13103         * WebView.subproj/IFMainURLHandleClient.mm:
13104         (-[IFMainURLHandleClient IFURLHandleResourceDidCancelLoading:]):
13105         (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]):
13106         (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]):
13107         * WebView.subproj/IFWebControllerPrivate.h:
13108         * WebView.subproj/IFWebControllerPrivate.mm:
13109         (-[IFWebController _mainReceivedProgress:forResourceHandle:fromDataSource:complete:]):
13110
13111 2002-06-16  Darin Adler  <darin@apple.com>
13112
13113         * WebCoreSupport.subproj/IFWebCoreFrame.m: (-[IFWebCoreFrame bridge]): Added.
13114
13115 2002-06-16  Darin Adler  <darin@apple.com>
13116
13117         Add a separate WebCoreFrame alongside WebCoreBridge to facilitate
13118         handling of frames with no HTML content in them. This probably fixes
13119         frames named "_blank".
13120
13121         * WebCoreSupport.subproj/IFResourceURLHandleClient.m:
13122         * WebCoreSupport.subproj/IFWebCoreBridge.mm:
13123         (-[IFWebCoreBridge frame]): Added.
13124         (-[IFWebCoreBridge parent]): Changed name from parentFrame, to emphasize that this gives a WebCoreBridge.
13125         (-[IFWebCoreBridge childFrames]): Return IFWebCoreFrame objects.
13126         (-[IFWebCoreBridge childFrameNamed:]): Return IFWebCoreFrame object.
13127         (-[IFWebCoreBridge descendantFrameNamed:]): Return IFWebCoreFrame object.
13128         (-[IFWebCoreBridge createChildFrameNamed:withURL:renderPart:khtml::allowsScrolling:marginWidth:marginHeight:]):
13129         Use the loadURL operation in IFWebCoreFrame.
13130         (-[IFWebCoreBridge mainFrame]): Return IFWebCoreFrame object.
13131         (-[IFWebCoreBridge frameNamed:]): Return IFWebCoreFrame object.
13132
13133         * WebCoreSupport.subproj/IFWebCoreFrame.h: Added.
13134         * WebCoreSupport.subproj/IFWebCoreFrame.m: Added.
13135         * WebKit.pbproj/project.pbxproj: Update for added files.
13136
13137         * WebView.subproj/IFHTMLViewPrivate.h: Made this includable from plain Objective C.
13138
13139         * WebView.subproj/IFWebFrame.mm:
13140         (-[IFWebFrame initWithName:webView:provisionalDataSource:controller:]): Create the IFWebCoreFrame.
13141
13142         * WebView.subproj/IFWebFramePrivate.h: Add _bridgeFrame method for getting IFWebCoreFrame.
13143         * WebView.subproj/IFWebFramePrivate.mm:
13144         (-[IFWebFramePrivate dealloc]): Release the IFWebCoreFrame.
13145         (-[IFWebFrame _bridgeFrame]): Added.
13146
13147 2002-06-16  Darin Adler  <darin@apple.com>
13148
13149         Moved the IFURLHandleClient subclass here from WebCore, so it can some day be merged
13150         with the one for the frames themselves; this one is for resources.
13151
13152         * WebCoreSupport.subproj/IFResourceURLHandleClient.h: Added.
13153         * WebCoreSupport.subproj/IFResourceURLHandleClient.m: Added.
13154         * WebKit.pbproj/project.pbxproj: Added IFResourceURLHandleClient.h and .m.
13155
13156         * WebCoreSupport.subproj/IFWebCoreBridge.mm:
13157         (-[IFWebCoreBridge startLoadingResource:withURL:]): Added.
13158         Removed all the old methods, with their guts moved into IFResourceURLHandleClient.
13159
13160 2002-06-15  Darin Adler  <darin@apple.com>
13161
13162         Update for frame-related changes in WebCore.
13163
13164         * WebCoreSupport.subproj/IFWebCoreBridge.mm:
13165         (-[IFWebFrame _bridge]): Look at provisional data source first.
13166         (-[IFWebCoreBridge dealloc]): Release the data source.
13167         (-[IFWebCoreBridge parentFrame]): Renamed.
13168         (-[IFWebCoreBridge childFrames]): Renamed.
13169         (-[IFWebCoreBridge childFrameNamed:]): Added.
13170         (-[IFWebCoreBridge descendantFrameNamed:]): Added.
13171         (-[IFWebCoreBridge didFinishLoadingWithHandle:]): Don't call _didStopLoading twice
13172         when we finish loading.
13173         
13174         Also changed controller getters to call [dataSource controller] and got rid of the
13175         [IFWebCoreBridge controller] method.
13176
13177 2002-06-15  Richard Williamson  <rjw@apple.com>
13178
13179         * Misc.subproj/IFNSViewExtras.h:
13180         * Misc.subproj/IFNSViewExtras.m:
13181         (-[NSView _IF_superviewWithName:]):
13182         (-[NSView _IF_parentWebView]):
13183             Replaced use of _IF_superviewWithName w/ safer _IF_parentWebView.
13184         * Plugins.subproj/IFNullPluginView.mm:
13185         (-[IFNullPluginView drawRect:]):
13186             Replaced use of _IF_superviewWithName w/ safer _IF_parentWebView.
13187         * Plugins.subproj/IFPluginStream.mm:
13188         (-[IFPluginStream IFURLHandle:resourceDataDidBecomeAvailable:]):
13189         (-[IFPluginStream IFURLHandleResourceDidFinishLoading:data:]):
13190         (-[IFPluginStream IFURLHandleResourceDidCancelLoading:]):
13191         (-[IFPluginStream IFURLHandle:resourceDidFailLoadingWithResult:]):
13192         Call _receiveProgress instead of directly calling handler.          
13193         * Plugins.subproj/IFPluginView.mm:
13194         (-[IFPluginView start]):
13195             Replaced use of _IF_superviewWithName w/ safer _IF_parentWebView.
13196         * WebCoreSupport.subproj/IFWebCoreBridge.mm:
13197         (-[IFWebCoreBridge loadURL:attributes:flags:inFrame:withParent:]):
13198             Handle changing top frame correctly.  Parent may be nil.
13199         (-[IFWebCoreBridge didFinishLoadingWithHandle:]):
13200             Added non-terminal error case.
13201         * WebView.subproj/IFHTMLView.mm:
13202         (-[IFHTMLView provisionalDataSourceCommitted:]):
13203             Replaced use of _IF_superviewWithName w/ safer _IF_parentWebView.
13204         * WebView.subproj/IFMainURLHandleClient.mm:
13205         * WebView.subproj/IFWebControllerPrivate.mm:
13206         Comment changes.
13207         
13208 2002-06-15  Darin Adler  <darin@apple.com>
13209
13210         * WebCoreSupport.subproj/IFWebCoreBridge.mm:
13211         Added a lot of assertions that I had used while debugging.
13212         (-[IFWebCoreBridge didRedirectWithHandle:fromURL:]):
13213         Commented out the line of code that calls [serverRedirectTo:forDataSource:].
13214         Our old code was sending this to the web controller (that was a bug).
13215         But if we send it to the location change handler, then we confuse Alexander.
13216         We may return to this later, uncomment it, and change the interface so the
13217         client can tell what is being redirected. We'll need to do that if we want
13218         the activity window to show redirected URLs at the time of the redirect.
13219
13220 2002-06-15  Richard Williamson  <rjw@apple.com>
13221
13222     Fixed _bridge not accounting for provisional data source,
13223     broke access to window.frames during load.
13224     
13225         * WebCoreSupport.subproj/IFWebCoreBridge.mm:
13226         (-[IFWebFrame _bridge]):
13227         (-[IFWebCoreBridge children]):
13228         * WebView.subproj/IFWebFramePrivate.mm:
13229         (-[IFWebFrame _isLoadComplete]):
13230
13231 2002-06-15  Darin Adler  <darin@apple.com>
13232
13233         * WebView.subproj/IFHTMLView.mm:
13234         (-[IFHTMLView provisionalDataSourceChanged:]): Don't turn negative numbers into
13235         0 for margins. This was a mistake.
13236
13237 2002-06-15  Darin Adler  <darin@apple.com>
13238
13239         - fixed 2942808 -- remove all calls to WebKit from WebCore
13240
13241         Update to use the WebCore bridge for more things, reducing
13242         dependencies in both directions. Besides using the bridge for all the
13243         remaining WebCore to WebKit calls, almost no WebKit code deals with
13244         KHTMLPart directly any more, instead the other side of the bridge handles it.
13245
13246         * Plugins.subproj/IFPluginStream.mm:
13247         (-[IFPluginStream IFURLHandleResourceDidBeginLoading:]): Remove unneeded casts.
13248         (-[IFPluginStream IFURLHandle:resourceDataDidBecomeAvailable:]):
13249         (-[IFPluginStream IFURLHandleResourceDidFinishLoading:data:]):
13250         (-[IFPluginStream IFURLHandleResourceDidCancelLoading:]):
13251         (-[IFPluginStream IFURLHandle:resourceDidFailLoadingWithResult:]):
13252         (-[IFPluginStream IFURLHandle:didRedirectToURL:]):
13253         Use the new IFProgress methods to simplify code.
13254
13255         * WebCoreSupport.subproj/IFWebCoreBridge.h: Use the new WebCoreBridge protocol
13256         so we get a compiler error if we forget to implement anything. Add a method for
13257         IFWebDataSource that gets the WebCoreBridge if it has an IFHTMLRepresentation,
13258         and nil otherwise.
13259         * WebCoreSupport.subproj/IFWebCoreBridge.mm:
13260         (-[IFWebDataSource _bridge]): Add; does checking so that it returns
13261         nil if the representation is not an IFHTMLRepresentation. This is now used
13262         almost everywhere so we don't have to do so much type casting.
13263         (-[IFWebCoreBridge loadURL:attributes:flags:inFrame:withParent:]): Remove a
13264         stray use of [IFWebCoreBridge dataSource] so we can remove it.
13265         (-[IFWebCoreBridge receivedData:withDataSource:]): Use the
13266         new [WebCoreBridge openURL:] and [WebCoreBridge addData:] methods from the
13267         other side of the bridge so we don't have to deal with the KHTMLPart directly.
13268         (-[IFWebCoreBridge addHandle:]): Added.
13269         (-[IFWebCoreBridge removeHandle:]): Added.
13270         (-[IFWebCoreBridge didStartLoadingWithHandle:]): Added.
13271         (-[IFWebCoreBridge receivedProgressWithHandle:]): Added.
13272         (-[IFWebCoreBridge didFinishLoadingWithHandle:]): Added.
13273         (-[IFWebCoreBridge didCancelLoadingWithHandle:]): Added.
13274         (-[IFWebCoreBridge didFailBeforeLoadingWithError:]): Added.
13275         (-[IFWebCoreBridge didFailToLoadWithHandle:error:]): Added.
13276         (-[IFWebCoreBridge didRedirectWithHandle:fromURL:]): Added.
13277
13278         * WebView.subproj/IFHTMLRepresentation.h: Remove unneeded declarations.
13279         * WebView.subproj/IFHTMLRepresentation.mm: Remove [IFHTMLRepresentation part].
13280         * WebView.subproj/IFHTMLRepresentationPrivate.h: Remove [IFHTMLRepresentation part].
13281
13282         * WebView.subproj/IFHTMLView.mm: (-[IFHTMLView provisionalDataSourceChanged:]): Use the bridge.
13283
13284         * WebView.subproj/IFHTMLViewPrivate.mm: Remove a bunch of unused stuff that was
13285         there for the render and document tree viewers. I had removed it once before but
13286         it got re-added as a side effect of the reorganization process.
13287
13288         * WebView.subproj/IFLoadProgress.h: Remove the unused IFLoadType -- we can add
13289         it back if we find that it's needed. It didn't do much good to have it here
13290         and only partly implemented, and I don't think it's needed. Added some convenient
13291         interfaces for creating IFLoadProgress objects.
13292
13293         * WebView.subproj/IFLoadProgress.mm: Get rid of WCSetIFLoadProgressMakeFunc stuff.
13294         (-[IFLoadProgress init]): Added.
13295         (-[IFLoadProgress initWithBytesSoFar:totalToLoad:]): Remove type part.
13296         (-[IFLoadProgress initWithURLHandle:]): Added.
13297         (+[IFLoadProgress progress]): Added.
13298         (+[IFLoadProgress progressWithBytesSoFar:totalToLoad:]): Added.
13299         (+[IFLoadProgress progressWithURLHandle:]): Added.
13300
13301         * WebView.subproj/IFMainURLHandleClient.mm:
13302         (-[IFMainURLHandleClient dealloc]): Add more workaround for 2954901.
13303         (-[IFMainURLHandleClient IFURLHandleResourceDidBeginLoading:]):
13304         (-[IFMainURLHandleClient IFURLHandleResourceDidCancelLoading:]):
13305         (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]):
13306         (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]):
13307         (-[IFMainURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]):
13308         (-[IFMainURLHandleClient IFURLHandle:didRedirectToURL:]):
13309         Remove unneeded type casts and simplify by using new IFLoadProgress methods.
13310         Also simplify access to _bridge by using [IFWebDataSource _bridge].
13311
13312         * WebView.subproj/IFWebControllerPrivate.mm:
13313         * WebView.subproj/IFWebFrame.mm:
13314         Remove unneeded include of KHTMLPart header.
13315
13316         * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource documentTextFromDOM]):
13317         * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _stopLoading]):
13318         * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _isLoadComplete]):
13319         Use bridge.
13320
13321 2002-06-15  Maciej Stachowiak  <mjs@apple.com>
13322
13323         Made Development build mode mean what Unoptimized used to mean. Removed Unoptimized build mode. 
13324         Added a Mixed build mode which does what Deployment used to. All this to fix:
13325         
13326         Radar 2955367 - Change default build style to "Unoptimized"
13327         
13328         * WebKit.pbproj/project.pbxproj:
13329
13330 2002-06-15  Maciej Stachowiak  <mjs@apple.com>
13331
13332         Added temporary workardound for Radar 2954901 by making the assertion more lenient.
13333         
13334         * WebView.subproj/IFMainURLHandleClient.mm:
13335         (-[IFMainURLHandleClient IFURLHandleResourceDidCancelLoading:]):
13336
13337 2002-06-14  Richard Williamson  <rjw@apple.com>
13338
13339     Removed redundant private _isDocumentHTML method.
13340     
13341         * WebView.subproj/IFMainURLHandleClient.mm:
13342         (-[IFMainURLHandleClient IFURLHandle:didRedirectToURL:]):
13343         * WebView.subproj/IFWebDataSourcePrivate.h:
13344         * WebView.subproj/IFWebDataSourcePrivate.mm:
13345         (-[IFWebDataSource _stopLoading]):
13346         (-[IFWebDataSource _addError:forResource:]):
13347         * WebView.subproj/IFWebFramePrivate.mm:
13348         (-[IFWebFrame _isLoadComplete]):
13349
13350 2002-06-14  Richard Williamson  <rjw@apple.com>
13351
13352     Added handlers to IFWebController.  Should eventually be possible to use
13353     IFWebController w/o subclassing.
13354     
13355     Changed IFResourceProgressHandler to pass back resource handle instead of
13356     string description.  This will address the needs descibed in 2954160.
13357     
13358     Fixed many incorrect references to datasource reps.
13359     
13360         * Plugins.subproj/IFNullPluginView.mm:
13361         (-[IFNullPluginView drawRect:]):
13362         * Plugins.subproj/IFPluginStream.mm:
13363         (-[IFPluginStream IFURLHandle:resourceDataDidBecomeAvailable:]):
13364         (-[IFPluginStream IFURLHandleResourceDidFinishLoading:data:]):
13365         (-[IFPluginStream IFURLHandleResourceDidCancelLoading:]):
13366         (-[IFPluginStream IFURLHandle:resourceDidFailLoadingWithResult:]):
13367         * WebCoreSupport.subproj/IFWebCoreBridge.mm:
13368         (-[IFWebDataSource _bridge]):
13369         (-[IFWebCoreBridge createNewFrameNamed:withURL:renderPart:khtml::allowsScrolling:marginWidth:marginHeight:]):
13370         * WebView.subproj/IFDocument.h:
13371         * WebView.subproj/IFHTMLRepresentation.h:
13372         * WebView.subproj/IFHTMLRepresentationPrivate.h:
13373         * WebView.subproj/IFHTMLView.mm:
13374         (-[IFHTMLView provisionalDataSourceChanged:]):
13375         (-[IFHTMLView viewWillStartLiveResize]):
13376         (-[IFHTMLView viewDidEndLiveResize]):
13377         * WebView.subproj/IFImageView.m:
13378         * WebView.subproj/IFMainURLHandleClient.mm:
13379         (-[IFMainURLHandleClient IFURLHandleResourceDidCancelLoading:]):
13380         (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]):
13381         (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]):
13382         (-[IFMainURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]):
13383         (-[IFMainURLHandleClient IFURLHandle:didRedirectToURL:]):
13384         * WebView.subproj/IFWebController.h:
13385         * WebView.subproj/IFWebController.mm:
13386         (-[IFWebController createFrameNamed:for:inParent:allowsScrolling:]):
13387         (-[IFWebController setResourceProgressHandler:]):
13388         (-[IFWebController resourceProgressHandler]):
13389         (-[IFWebController setPolicyHandler:]):
13390         (-[IFWebController policyHandler]):
13391         (+[IFWebController defaultURLPolicyForURL:]):
13392         * WebView.subproj/IFWebControllerPrivate.h:
13393         * WebView.subproj/IFWebControllerPrivate.mm:
13394         (-[IFWebControllerPrivate dealloc]):
13395         (-[IFWebController _receivedProgress:forResourceHandle:fromDataSource:]):
13396         (-[IFWebController _mainReceivedProgress:forResourceHandle:fromDataSource:]):
13397         (-[IFWebController _receivedError:forResourceHandle:partialProgress:fromDataSource:]):
13398         (-[IFWebController _mainReceivedError:forResourceHandle:partialProgress:fromDataSource:]):
13399         * WebView.subproj/IFWebDataSource.h:
13400         * WebView.subproj/IFWebDataSource.mm:
13401         (-[IFWebDataSource representation]):
13402         (-[IFWebDataSource isDocumentHTML]):
13403         (-[IFWebDataSource documentTextFromDOM]):
13404         * WebView.subproj/IFWebDataSourcePrivate.h:
13405         * WebView.subproj/IFWebDataSourcePrivate.mm:
13406         (-[IFWebDataSourcePrivate dealloc]):
13407         (-[IFWebDataSource _setRepresentation:]):
13408         (-[IFWebDataSource _stopLoading]):
13409         (-[IFWebDataSource _isDocumentHTML]):
13410         * WebView.subproj/IFWebFrame.mm:
13411         (-[IFWebFrame setProvisionalDataSource:]):
13412         * WebView.subproj/IFWebFramePrivate.mm:
13413         (-[IFWebFrame _isLoadComplete]):
13414
13415 2002-06-14  Darin Adler  <darin@apple.com>
13416
13417         * Panels.subproj/IFStandardPanels.m: Use the real PTHREAD_ONCE_INIT,
13418         remove the workaround for 2905545.
13419
13420         * IFWebCoreBridge.h: Moved into WebCoreSupport.subproj.
13421         * IFWebCoreBridge.mm: Moved into WebCoreSupport.subproj.
13422         * WebCoreSupport.subproj/IFWebCoreBridge.h: Moved from top level.
13423         * WebCoreSupport.subproj/IFWebCoreBridge.mm: Moved from top level.
13424
13425         * WebKit.pbproj/project.pbxproj: Update for new file locations.
13426         Also pass -no-c++filt so we get mangled names (more useful for .exp files),
13427         and remove PFE_FILE_C_DIALECTS.
13428
13429 2002-06-14  Chris Blumenberg  <cblu@apple.com>
13430
13431         * WebView.subproj/IFMainURLHandleClient.mm:
13432         (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]):
13433         If content type is the default type and there is no extension, assume HTML.
13434
13435         (-[IFMainURLHandleClient IFURLHandle:didRedirectToURL:]):
13436         * WebView.subproj/IFWebDataSource.h:
13437         * WebView.subproj/IFWebDataSource.mm: Made isDocumentHTML public
13438         (-[IFWebDataSource isDocumentHTML]):
13439         (-[IFWebDataSource documentSource]):
13440         (-[IFWebDataSource documentTextFromDOM]):
13441         * WebView.subproj/IFWebDataSourcePrivate.h:
13442         * WebView.subproj/IFWebDataSourcePrivate.mm:
13443         (-[IFWebDataSource _stopLoading]):
13444         (-[IFWebDataSource _addError:forResource:]):
13445         * WebView.subproj/IFWebFramePrivate.mm:
13446         (-[IFWebFrame _isLoadComplete]):
13447
13448 2002-06-14  Darin Adler  <darin@apple.com>
13449
13450         * Panels.subproj/IFStandardPanels.m: Fix what I broke last time.
13451
13452 2002-06-14  Darin Adler  <darin@apple.com>
13453
13454         * Panels.subproj/IFStandardPanels.m:
13455         (-[IFStandardPanelsPrivate frontmostWindowLoadingURL:]): Change to call webView
13456         instead of view. Not sure why anyone was able to compile this.
13457
13458         * Plugins.subproj/IFNullPluginView.mm: Remove include of obsolete WCPluginWidget.h.
13459
13460         * WebView.subproj/IFHTMLRepresentation.mm: (-[IFHTMLRepresentation part]):
13461         Call part instead of KHTMLPart. Not sure why anyone was able to compile this.
13462
13463 2002-06-14  Darin Adler  <darin@apple.com>
13464
13465         Add the new bridge class that connects us to WebCore in a nicer way.
13466         Started to use it for some things. More to come.
13467
13468         * WebKit.pbproj/project.pbxproj:
13469         * IFWebCoreBridge.h: Added.
13470         * IFWebCoreBridge.mm: Added.
13471
13472         * Misc.subproj/IFDownloadHandler.mm:
13473         (-[IFDownloadHandler initWithDataSource:]): Call [super init].
13474         (-[IFDownloadHandler dealloc]): Call [super dealloc].
13475         * Plugins.subproj/IFPluginNullEventSender.m:
13476         (-[IFPluginNullEventSender initializeWithNPP:functionPointer:window:]): Call [super init].
13477         (-[IFPluginNullEventSender dealloc]): Call [super dealloc].
13478         * WebView.subproj/IFDOMNode.mm: (-[IFDOMNode dealloc]): Call [super dealloc].
13479         * WebView.subproj/IFImageView.m: (-[IFImageView dealloc]): Call [super dealloc].
13480         * WebView.subproj/IFRenderNode.mm: (-[IFRenderNode dealloc]): Call [super dealloc].
13481
13482         * WebView.subproj/IFHTMLRepresentation.h: Moved variables into a private structure so
13483         this class can be made public.
13484         * WebView.subproj/IFHTMLRepresentationPrivate.h: Added. Has _bridge method.
13485         * WebView.subproj/IFHTMLRepresentation.mm:
13486         (-[IFHTMLRepresentation init]): Call [super init]. Also use the new private structure,
13487         and allocate the IFWebCoreBridge.
13488         (-[IFHTMLRepresentation dealloc]): Release the private structure and the IFWebCoreBridge.
13489         Also, call [super dealloc].
13490         (-[IFHTMLRepresentation _bridge]): Private method to get to the bridge.
13491         (-[IFHTMLRepresentation receivedData:withDataSource:]): Use IFWebCoreBridge.
13492
13493         * WebView.subproj/IFWebViewPrivate.h: Add _setMarginWidth and _setMarginHeight.
13494
13495         * WebView.subproj/IFWebDataSourcePrivate.h: Tweak.
13496         * WebView.subproj/IFWebDataSource.mm: Tweak.
13497         * History.subproj/IFWebHistoryPrivate.m: Tweak.
13498
13499 2002-06-14  Richard Williamson  <rjw@apple.com>
13500
13501     Lots of frame related cleanup.  Added attempt to get
13502     nested scrollbars to work correctly with window's resize
13503     corner.  Still not quite right.
13504     
13505     Name change [IFWebFrame view] -> [IFWebFrame webView].
13506     
13507         * WebView.subproj/IFDynamicScrollBarsView.m:
13508         (-[IFDynamicScrollBarsView updateScrollers]):
13509         * WebView.subproj/IFHTMLView.mm:
13510         (-[IFHTMLView provisionalDataSourceChanged:]):
13511         (-[IFHTMLView viewDidEndLiveResize]):
13512         * WebView.subproj/IFMainURLHandleClient.mm:
13513         (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]):
13514         * WebView.subproj/IFWebController.h:
13515         * WebView.subproj/IFWebController.mm:
13516         (-[IFWebController initWithView:provisionalDataSource:]):
13517         (-[IFWebController createFrameNamed:for:inParent:inScrollView:]):
13518         (-[IFWebController _frameForView:fromFrame:]):
13519         (-[IFWebController frameForView:]):
13520         (-[IFWebController haveContentPolicy:andPath:forLocationChangeHandler:]):
13521         * WebView.subproj/IFWebControllerPrivate.mm:
13522         (-[IFWebControllerPrivate _clearControllerReferences:]):
13523         * WebView.subproj/IFWebFrame.h:
13524         * WebView.subproj/IFWebFrame.mm:
13525         (-[IFWebFrame init]):
13526         (-[IFWebFrame initWithName:webView:provisionalDataSource:controller:]):
13527         (-[IFWebFrame setWebView:]):
13528         (-[IFWebFrame webView]):
13529         (-[IFWebFrame setProvisionalDataSource:]):
13530         (-[IFWebFrame reset]):
13531         * WebView.subproj/IFWebFramePrivate.h:
13532         * WebView.subproj/IFWebFramePrivate.mm:
13533         (-[IFWebFramePrivate dealloc]):
13534         (-[IFWebFramePrivate setWebView:]):
13535         (-[IFWebFrame _timedLayout:]):
13536         (-[IFWebFrame _transitionProvisionalToCommitted]):
13537         (-[IFWebFrame _setState:]):
13538         (-[IFWebFrame _isLoadComplete]):
13539
13540 2002-06-14  Richard Williamson  <rjw@apple.com>
13541
13542         * WebView.subproj/IFHTMLView.mm:
13543         (-[IFHTMLView initWithFrame:]):
13544             Added notification so we can intelligently add/remove
13545             mouse move observation when the window becomes/resigns
13546             main.  Also added window close observation so we can
13547             clean up other observers.
13548         (-[IFHTMLView viewWillStartLiveResize]):\
13549             Backed out removal of scroll bars during resize.
13550         (-[IFHTMLView viewDidEndLiveResize]):
13551             Backed out removal of scroll bars during resize.
13552         (-[IFHTMLView windowWillClose:]):
13553         Clean up observers.
13554         (-[IFHTMLView windowDidBecomeMain:]):
13555         Add mouse move observer.
13556         (-[IFHTMLView windowDidResignMain:]):
13557         Remove mouse move observer.
13558         (-[IFHTMLView mouseMovedNotification:]):
13559             Only pay attention to mouse moves for this window.
13560         * WebView.subproj/IFImageView.m:
13561         (-[IFImageView layout]):
13562             Removed unnecessary scroll view setDrawBackground calls.
13563         * WebView.subproj/IFWebFramePrivate.mm:
13564         (-[IFWebFrame _setState:]):
13565             Added calls to scroll view setDrawBackground when the view
13566             rect is valid.
13567
13568 2002-06-14  Chris Blumenberg  <cblu@apple.com>
13569
13570         Enabled displaying of text, images and RTF
13571         Fixed drag & drop
13572
13573
13574 2002-06-13  John Sullivan  <sullivan@apple.com>
13575
13576         Various changes to better support the pasteboard.
13577
13578         * Bookmarks.subproj/IFBookmark.h,
13579         * Bookmarks.subproj/IFBookmark.m:
13580         (+[IFBookmark bookmarkOfType:]): New method.
13581
13582         * Bookmarks.subproj/IFBookmarkLeaf.m:
13583         (-[IFBookmarkLeaf init]): start out with a non-nil _entry
13584         (-[IFBookmarkLeaf setTitle:]): added assert
13585         (-[IFBookmarkLeaf setURLString:]): added assert
13586
13587         * History.subproj/IFURLsWithTitles.h,
13588         * History.subproj/IFURLsWithTitles.m:
13589         (+[IFURLsWithTitles arrayWithIFURLsWithTitlesPboardType]),
13590         (+[IFURLsWithTitles writeURLs:andTitles:toPasteboard:]),
13591         (+[IFURLsWithTitles titlesFromPasteboard:]),
13592         (+[IFURLsWithTitles URLsFromPasteboard:]):
13593         New file with methods for reading/writing pasteboard entry representing
13594         a list of URLs with associated titles. Used by Bookmarks window and
13595         History window in Alexander.
13596
13597         * History.subproj/IFWebHistoryPrivate.m:
13598         (-[IFWebHistoryPrivate removeEntryForURLString:]): refactored to turn a
13599         WEBKITDEBUG into a more-appropriate WEBKIT_ASSERT.
13600
13601         * WebKit.pbproj/project.pbxproj: Updated for new files.
13602
13603 2002-06-13  Kenneth Kocienda  <kocienda@apple.com>
13604
13605         Fixed typo in ChangeLog comment.
13606
13607 2002-06-13  Kenneth Kocienda  <kocienda@apple.com>
13608
13609         Fixed uninitialized variable that broke the build.
13610
13611         * WebView.subproj/IFMainURLHandleClient.mm:
13612         (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:])
13613
13614 2002-06-13  Richard Williamson  <rjw@apple.com>
13615
13616     Lots of cleanup.  Fixed most regressions.
13617     Added removal of scrollbars during resizing,
13618     not sure if it's the correct behavior, but it makes resizing
13619     much smoother.  Let's see what people think.
13620     
13621         * WebView.subproj/IFDynamicScrollBarsView.h:
13622         * WebView.subproj/IFDynamicScrollBarsView.m:
13623         (-[IFDynamicScrollBarsView initWithFrame:]):
13624         (-[IFDynamicScrollBarsView reflectScrolledClipView:]):
13625         (-[IFDynamicScrollBarsView updateScrollers]):
13626         (-[IFDynamicScrollBarsView setCursor:]):
13627         (-[IFDynamicScrollBarsView setAllowsScrolling:]):
13628         (-[IFDynamicScrollBarsView allowsScrolling]):
13629         * WebView.subproj/IFHTMLView.mm:
13630         (-[IFHTMLView provisionalDataSourceChanged:]):
13631         (-[IFHTMLView provisionalDataSourceCommitted:]):
13632         (-[IFHTMLView viewWillStartLiveResize]):
13633         (-[IFHTMLView viewDidEndLiveResize]):
13634         * WebView.subproj/IFHTMLViewPrivate.h:
13635         * WebView.subproj/IFHTMLViewPrivate.mm:
13636         (-[IFHTMLViewPrivate dealloc]):
13637         (-[IFHTMLView _provisionalWidget]):
13638         * WebView.subproj/IFWebFramePrivate.mm:
13639         (-[IFWebFrame _timedLayout:]):
13640         (-[IFWebFrame _isLoadComplete]):
13641         * WebView.subproj/IFWebView.h:
13642         * WebView.subproj/IFWebView.mm:
13643         (-[IFWebView initWithFrame:]):
13644         (-[IFWebView setAllowsScrolling:]):
13645         (-[IFWebView allowsScrolling]):
13646         (-[IFWebView frameScrollView]):
13647         (-[IFWebView documentView]):
13648         (+[IFWebView createViewForMIMEType:]):
13649         (-[IFWebView isOpaque]):
13650         (-[IFWebView drawRect:]):
13651         * WebView.subproj/IFWebViewPrivate.h:
13652         * WebView.subproj/IFWebViewPrivate.mm:
13653         (-[IFWebViewPrivate dealloc]):
13654         (-[IFWebView _setDocumentView:]):
13655
13656 2002-06-13  Chris Blumenberg  <cblu@apple.com>
13657
13658         Removed MIME.subproj. Moved IFDownloadHandler to Misc.
13659
13660         * MIME.subproj/IFDownloadHandler.h: Removed.
13661         * MIME.subproj/IFDownloadHandler.mm: Removed.
13662         * Misc.subproj/IFDownloadHandler.h: Added.
13663         * Misc.subproj/IFDownloadHandler.mm: Added.
13664         (-[IFDownloadHandler initWithDataSource:]):
13665         (-[IFDownloadHandler dealloc]):
13666         (-[IFDownloadHandler receivedData:isComplete:]):
13667         (-[IFDownloadHandler cancel]):
13668         * WebKit.pbproj/project.pbxproj:
13669
13670 2002-06-13  Chris Blumenberg  <cblu@apple.com>
13671
13672         Fixed downloads.
13673         Now write out download files as data comes in.
13674         Removed useless lproj's.
13675
13676         * Dutch.lproj/InfoPlist.strings: Removed.
13677         * Dutch.lproj/Localizable.strings: Removed.
13678         * French.lproj/InfoPlist.strings: Removed.
13679         * French.lproj/Localizable.strings: Removed.
13680         * German.lproj/InfoPlist.strings: Removed.
13681         * German.lproj/Localizable.strings: Removed.
13682         * Italian.lproj/InfoPlist.strings: Removed.
13683         * Italian.lproj/Localizable.strings: Removed.
13684         * Japanese.lproj/InfoPlist.strings: Removed.
13685         * Japanese.lproj/Localizable.strings: Removed.
13686         * MIME.subproj/IFDownloadHandler.h:
13687         * MIME.subproj/IFDownloadHandler.mm:
13688         (-[IFDownloadHandler dealloc]):
13689         (-[IFDownloadHandler receivedData:isComplete:]): added
13690         (-[IFDownloadHandler cancel]): added
13691         * Spanish.lproj/InfoPlist.strings: Removed.
13692         * Spanish.lproj/Localizable.strings: Removed.
13693         * WebKit.pbproj/project.pbxproj:
13694         * WebView.subproj/IFMainURLHandleClient.h:
13695         * WebView.subproj/IFMainURLHandleClient.mm:
13696         (-[IFMainURLHandleClient initWithDataSource:]): removed unused BOOL
13697         (-[IFMainURLHandleClient dealloc]): 
13698         (-[IFMainURLHandleClient IFURLHandleResourceDidCancelLoading:]):
13699         (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]):
13700         (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]):
13701         (-[IFMainURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]):
13702
13703 2002-06-12  Chris Blumenberg  <cblu@apple.com>
13704
13705         Couldn't run ChangeLog because it hung with the massize diffs, so here's
13706         a hand-made one.
13707         
13708         Changes to support inline views.
13709
13710         Modified Files:
13711
13712         WebKit/ChangeLog WebKit/Plugins.subproj/IFNullPluginView.mm
13713         WebKit/Plugins.subproj/IFPluginDatabase.h
13714         WebKit/Plugins.subproj/IFPluginDatabase.m
13715         WebKit/Plugins.subproj/IFPluginView.mm   
13716         WebKit/WebCoreSupport.subproj/IFImageRenderer.h
13717         WebKit/WebCoreSupport.subproj/IFWebCoreViewFactory.m
13718         WebKit/WebKit.pbproj/project.pbxproj
13719         WebKit/WebView.subproj/IFDOMNode.mm 
13720         WebKit/WebView.subproj/IFDynamicScrollBarsView.m
13721         WebKit/WebView.subproj/IFMainURLHandleClient.h          
13722         WebKit/WebView.subproj/IFMainURLHandleClient.mm
13723         WebKit/WebView.subproj/IFRenderNode.mm  
13724         WebKit/WebView.subproj/IFWebController.h
13725         WebKit/WebView.subproj/IFWebController.mm 
13726         WebKit/WebView.subproj/IFWebControllerPrivate.h
13727         WebKit/WebView.subproj/IFWebControllerPrivate.mm
13728         WebKit/WebView.subproj/IFWebDataSource.h
13729         WebKit/WebView.subproj/IFWebDataSource.mm
13730         WebKit/WebView.subproj/IFWebDataSourcePrivate.h
13731         WebKit/WebView.subproj/IFWebDataSourcePrivate.mm
13732         WebKit/WebView.subproj/IFWebFrame.mm
13733         WebKit/WebView.subproj/IFWebFramePrivate.h
13734         WebKit/WebView.subproj/IFWebFramePrivate.mm
13735         WebKit/WebView.subproj/IFWebView.h
13736         WebKit/WebView.subproj/IFWebView.mm   
13737         WebKit/WebView.subproj/IFWebViewPrivate.h 
13738         WebKit/WebView.subproj/IFWebViewPrivate.mm
13739         
13740         Added Files:
13741         
13742         WebKit/Misc.subproj/IFNSViewExtras.h
13743         WebKit/Misc.subproj/IFNSViewExtras.m
13744         WebKit/WebView.subproj/IFDocument.h
13745         WebKit/WebView.subproj/IFHTMLRepresentation.h           
13746         WebKit/WebView.subproj/IFHTMLRepresentation.mm 
13747         WebKit/WebView.subproj/IFHTMLView.h     
13748         WebKit/WebView.subproj/IFHTMLView.mm
13749         WebKit/WebView.subproj/IFHTMLViewPrivate.h
13750         WebKit/WebView.subproj/IFHTMLViewPrivate.mm
13751         WebKit/WebView.subproj/IFImageRepresentation.h  
13752         WebKit/WebView.subproj/IFImageRepresentation.m
13753         WebKit/WebView.subproj/IFImageView.h
13754         WebKit/WebView.subproj/IFImageView.m
13755         WebKit/WebView.subproj/IFTextRepresentation.h   
13756         WebKit/WebView.subproj/IFTextRepresentation.m
13757         WebKit/WebView.subproj/IFTextView.h
13758         WebKit/WebView.subproj/IFTextView.m
13759         
13760         Removed Files:
13761
13762         WebKit/MIME.subproj/IFContentHandler.h
13763         WebKit/MIME.subproj/IFContentHandler.m    
13764         WebKit/MIME.subproj/IFMIMEHandler.h
13765         WebKit/MIME.subproj/IFMIMEHandler.m
13766         
13767
13768 2002-06-12  Kenneth Kocienda  <kocienda@apple.com>
13769
13770         * Misc.subproj/WebKitDebug.h: Made assertion failure console message bolder and easier to see.
13771
13772 2002-06-11  Darin Adler  <darin@apple.com>
13773
13774         * WebView.subproj/IFMainURLHandleClient.mm:
13775         Add lots of assertions that allowed me to find the "leak the world" bug that Ken
13776         fixed in WebFoundation. These are a good idea anyway.
13777
13778         * Plugins.subproj/IFPluginStream.mm:
13779         (-[IFPluginStream initWithURL:pluginPointer:notifyData:attributes:]): Use cStringLength
13780         to get the length for the cString rather than assuming that length will be right.
13781         (-[IFPluginStream IFURLHandle:didRedirectToURL:]): Add a FIXME.
13782
13783 2002-06-11  John Sullivan  <sullivan@apple.com>
13784
13785         Made methods that convert bookmarks to and from
13786         property-list-compatible dictionaries public so they
13787         can be used in the Bookmarks window for cut/paste.
13788
13789         * Bookmarks.subproj/IFBookmark.h:
13790         * Bookmarks.subproj/IFBookmark.m:
13791         (+[IFBookmark bookmarkFromDictionaryRepresentation:withGroup:]): New method
13792
13793         (-[IFBookmark initFromDictionaryRepresentation:withGroup:]):
13794         (-[IFBookmark dictionaryRepresentation]):
13795         * Bookmarks.subproj/IFBookmarkGroup.m:
13796         (-[IFBookmarkGroup _loadBookmarkGroupGuts]):
13797         (-[IFBookmarkGroup _saveBookmarkGroupGuts]):
13798         * Bookmarks.subproj/IFBookmarkLeaf.m:
13799         (-[IFBookmarkLeaf initFromDictionaryRepresentation:withGroup:]):
13800         (-[IFBookmarkLeaf dictionaryRepresentation]):
13801         * Bookmarks.subproj/IFBookmarkList.m:
13802         (-[IFBookmarkList initFromDictionaryRepresentation:withGroup:]):
13803         (-[IFBookmarkList dictionaryRepresentation]):
13804         * Bookmarks.subproj/IFBookmarkSeparator.m:
13805         (-[IFBookmarkSeparator initFromDictionaryRepresentation:withGroup:]):
13806         (-[IFBookmarkSeparator dictionaryRepresentation]):
13807         * Bookmarks.subproj/IFBookmark_Private.h: Removed leading underscores from
13808         _initFromDictionaryRepresentation and _dictionaryRepresentation, and made
13809         them public.
13810
13811 2002-06-11  Darin Adler  <darin@apple.com>
13812
13813         * WebView.subproj/IFDOMNode.h: Added.
13814         * WebView.subproj/IFDOMNode.mm: Added.
13815         * WebView.subproj/IFRenderNode.h: Added.
13816         * WebView.subproj/IFRenderNode.mm: Added.
13817         These contain all the interesting bits of the code for the render
13818         and DOM tree viewers, mostly moved here from WebBrowser.
13819
13820         * WebView.subproj/IFWebViewPrivate.mm: Remove the methods in here that
13821         aren't declared in the header and are only used for the render and DOM
13822         tree viewers.
13823
13824         * WebKit.pbproj/project.pbxproj: Add new files.
13825
13826 2002-06-10  Darin Adler  <darin@apple.com>
13827
13828         * Makefile.am: Do a clean before building if the force-clean-timestamp file is
13829         newer than the previous-clean-timestamp. Edit force-clean-timestamp (doesn't
13830         matter what you change as long as you change it) to force a clean build in WebKit.
13831         * force-clean-timestamp: Added.
13832         * .cvsignore: Ignore previous-clean-timestamp.
13833
13834 2002-06-10  Darin Adler  <darin@apple.com>
13835
13836         * WebCoreSupport.subproj/IFTextRenderer.h: Remove the flavor of
13837         floatWidthForCharacters without the applyRounding boolean.
13838
13839         * WebCoreSupport.subproj/IFTextRenderer.m:
13840         (-[IFTextRenderer drawCharacters:length:atPoint:withColor:]): Remove logic about
13841         characters in the 0x7F-0xA0 range, since it's already handled by the time we get
13842         around to drawing.
13843         (-[IFTextRenderer floatWidthForCharacters:length:applyRounding:]): Pass in the
13844         applyRounding boolean when calling through to slowFloatWidthForCharacters.
13845         Move logic about characters in the 0x7F-0xA0 range from here into
13846         [extendCharacterToGlyphMapToInclude:].
13847         (-[IFTextRenderer widthForCharacters:length:]): Call the version of
13848         floatWidthForCharacters that takes the applyRounding parameter; this was the only
13849         client of the flavor that didn't take the parameter.
13850         (-[IFTextRenderer extendCharacterToGlyphMapToInclude:]): Add the logic about
13851         characters in the 0x7F-0xA0 range into here.
13852
13853 2002-06-10  Richard Williamson  <rjw@apple.com>
13854
13855     Tweaks to rounding code.  
13856     
13857     Added Cocoa-exact width measurement emulation flag to support IFStringTruncator.
13858     
13859     Remove code that was already conditionally excluded calls to support
13860     non-specified advance drawing (we now depend on tweaked advances).
13861     
13862         * Misc.subproj/IFStringTruncator.m:
13863         (+[IFStringTruncator centerTruncateString:toWidth:withFont:]):
13864         * WebCoreSupport.subproj/IFTextRenderer.h:
13865         * WebCoreSupport.subproj/IFTextRenderer.m:
13866         (-[IFTextRenderer initWithFont:]):
13867         (-[IFTextRenderer drawCharacters:length:atPoint:withColor:]):
13868         (-[IFTextRenderer slowFloatWidthForCharacters:length:applyRounding:]):
13869         (-[IFTextRenderer slowFloatWidthForCharacters:length:]):
13870         (-[IFTextRenderer floatWidthForCharacters:length:applyRounding:]):
13871         (-[IFTextRenderer floatWidthForCharacters:length:]):
13872         (-[IFTextRenderer extendCharacterToGlyphMapToInclude:]):
13873
13874 2002-06-10  Darin Adler  <darin@apple.com>
13875
13876         * WebCoreSupport.subproj/IFCachedTextRenderer.m: Removed.
13877
13878 2002-06-10  John Sullivan  <sullivan@apple.com>
13879
13880         Fixed leaks in History mechanism, found by overriding
13881         release, retain, autorelease, and dealloc and watching
13882         the spam fly.
13883
13884         * History.subproj/IFWebHistoryPrivate.m:
13885         (-[IFWebHistoryPrivate addEntry:]): Make autoreleased array for
13886         entries on a given date.
13887         (-[IFWebHistoryPrivate _loadHistoryGuts:]): autorelease entries
13888         as they are generated from data on disk.
13889
13890 2002-06-10  Darin Adler  <darin@apple.com>
13891
13892         * WebCoreSupport.subproj/IFTextRenderer.m:
13893         (-[IFTextRenderer drawCharacters:length:atPoint:withColor:]):
13894         Fix a typo where I left the S off of DRAW_WITHOUT_ADVANCES.
13895
13896 2002-06-10  Richard Williamson  <rjw@apple.com>
13897
13898     90% solution to round-off problem.  khtml breaks measures text on space
13899     boundaries during layout.  It assumes integer measurement, CG uses float
13900     measurements.  Some common fonts have non-integer space width.  So, 
13901     differences in between drawing advances and measurement of space characters
13902     can easily accumulate enough to be visually apparent.  We may still accumulate
13903     differences across words, although it's much less visible than for spaces.
13904     As a next step we can fudge the advances of words to force
13905     integer widths, although I think, given how khtml work, just accounting for
13906     consistency in measuring and drawing spaces may be sufficient.
13907     Many sites that looked flaky before now render correctly.
13908     
13909         * WebCoreSupport.subproj/IFTextRenderer.m:
13910         (-[IFTextRenderer drawCharacters:length:atPoint:withColor:]):
13911         
13912         Force rounding of advance for space characters.
13913         
13914         (-[IFTextRenderer floatWidthForCharacters:length:]):
13915
13916         Force rounding of measurement for space characters.
13917
13918 2002-06-09  John Sullivan  <sullivan@apple.com>
13919
13920         WebKit part of fix for 2949646 (Can't drag & drop bookmarks
13921         into auto-expanded folder). To get this to work right, I gave
13922         each bookmark a unique (per-session) identifier.
13923
13924         While working on this, I found and fixed some leaks of bookmarks.
13925
13926         * Bookmarks.subproj/IFBookmark.h:
13927         New -[identifier] method and _identifier ivar.
13928
13929         * Bookmarks.subproj/IFBookmark.m:
13930         (+[IFBookmark _generateUniqueIdentifier]):
13931         (-[IFBookmark init]):
13932         (-[IFBookmark dealloc]):
13933         Remember unique identifier in each bookmark as it is created;
13934         delete when dealloc'd.
13935
13936         (-[IFBookmark identifier]): Return unique identifier.
13937
13938         (-[IFBookmark _setParent:]): Don't retain parent, to avoid
13939         circular ownership.
13940
13941         (-[IFBookmark _setGroup:]): Tell coming and going group.
13942
13943         * Bookmarks.subproj/IFBookmarkGroup.h:
13944         New +[bookmarkForIdentifier] method and _bookmarksByID ivar.
13945
13946         * Bookmarks.subproj/IFBookmarkGroup_Private.h:
13947         Declarations of _removedBookmark: and _addedBookmark:
13948         * Bookmarks.subproj/IFBookmarkGroup.m:
13949         (-[IFBookmarkGroup initWithFile:]): alloc _bookmarksByID.
13950         (-[IFBookmarkGroup dealloc]): release _bookmarksByID.
13951         (-[IFBookmarkGroup _setTopBookmark:]): Don't bail out early;
13952         would now cause leak.
13953         (-[IFBookmarkGroup _removedBookmark:]): New method, removes
13954         bookmark from _bookmarksByID.
13955         (-[IFBookmarkGroup _addedBookmark:]): New method, adds bookmark to
13956         _bookmarksByID.
13957         (-[IFBookmarkGroup bookmarkForIdentifier:]): Looks up bookmark from
13958         _bookmarksByID dictionary.
13959         (-[IFBookmarkGroup _loadBookmarkGroupGuts]): autorelease newTopbookmark; 
13960         this had been leaking.
13961
13962         * Bookmarks.subproj/IFBookmarkList.m:
13963         (-[IFBookmarkList _initFromDictionaryRepresentation:withGroup:]):
13964         autorelease children before adding them to parent; this had been leaking.
13965
13966 2002-06-09  Darin Adler  <darin@apple.com>
13967
13968         * WebCoreSupport.subproj/IFTextRenderer.m:
13969         (-[IFTextRenderer drawCharacters:length:atPoint:withColor:]):
13970         Fixed a possible uninitialized variable problem that the compiler and Don caught.
13971
13972 2002-06-09  Darin Adler  <darin@apple.com>
13973
13974         * WebCoreSupport.subproj/IFTextRenderer.m:
13975         (-[IFTextRenderer drawCharacters:length:atPoint:withColor:]):
13976         Add code to handle drawing when are more than LOCAL_GLYPH_BUFFER_SIZE advances.
13977         I ran into this loading <http://jersey.apple.com/data/20020606-074404M0.html>.
13978         Also fix handling of advances for the obscure case where we hit a non-base character,
13979         slowPackGlyphsForCharacters fails, and substituteFontforCharacters returns nil.
13980
13981 2002-06-07  Darin Adler  <darin@apple.com>
13982
13983         * Makefile.am: Use new shared "embed.am" file so we don't need four copies of
13984         the embedding rules for WebFoundation, JavaScriptCore, WebCore, and WebKit.
13985
13986 2002-06-07  Darin Adler  <darin@apple.com>
13987
13988         * MIME.subproj/IFContentHandler.m: (-[IFContentHandler HTMLDocument]):
13989         Fix a warning that shows up with the new C++ compiler (not sure why it
13990         is not showing up with the old one).
13991
13992 2002-06-07  Chris Blumenberg  <cblu@apple.com>
13993         
13994         Allow plug-ins to make a NPP_*URLNotify request when
13995         the target is _self, _top, _parent or _current. This goes
13996         against the plug-in documentation, but mimics IE.
13997         Need for iTools.
13998
13999         * Plugins.subproj/IFPluginView.mm:
14000         (-[IFPluginView loadURL:inTarget:withNotifyData:andHandleAttributes:]):
14001
14002 2002-06-07  Darin Adler  <darin@apple.com>
14003
14004         * WebKit.pbproj/project.pbxproj: Don't use any warning flags for C that won't work
14005         for C++, because PFE uses the C warning flags on a C++ compile.
14006
14007 2002-06-07  Chris Blumenberg  <cblu@apple.com>
14008
14009         Made IFWebController a class.
14010         Fixed all places where IFWebController was referred to as a protocol.
14011         Renamed IFBaseWebController files to IFWebController.
14012         IFWebController.h replaces IFWebBaseController.h.
14013
14014         Added support for IEPL plug-ins.
14015
14016         * Panels.subproj/IFStandardPanels.m:
14017         (-[IFStandardPanels _didStartLoadingURL:inController:]):
14018         (-[IFStandardPanels _didStopLoadingURL:inController:]):
14019         * Panels.subproj/IFStandardPanelsPrivate.h:
14020         * Plugins.subproj/IFNullPluginView.mm:
14021         (-[IFNullPluginView drawRect:]):
14022         * Plugins.subproj/IFPlugin.h:
14023         * Plugins.subproj/IFPlugin.m:
14024         (-[IFPlugin _getPluginInfoForResourceFile:]):
14025         (-[IFPlugin initWithPath:]):
14026         (-[IFPlugin load]):
14027         (-[IFPlugin description]):
14028         * Plugins.subproj/IFPluginStream.mm:
14029         (-[IFPluginStream IFURLHandleResourceDidBeginLoading:]):
14030         (-[IFPluginStream IFURLHandleResourceDidFinishLoading:data:]):
14031         (-[IFPluginStream IFURLHandleResourceDidCancelLoading:]):
14032         (-[IFPluginStream IFURLHandle:resourceDidFailLoadingWithResult:]):
14033         (-[IFPluginStream IFURLHandle:didRedirectToURL:]):
14034         * Plugins.subproj/IFPluginView.h:
14035         * Plugins.subproj/IFPluginView.mm:
14036         (-[IFPluginView initWithFrame:plugin:url:mime:arguments:mode:]):
14037         (-[IFPluginView webController]):
14038         * WebKit.pbproj/project.pbxproj:
14039         * WebView.subproj/IFBaseWebController.h: Removed.
14040         * WebView.subproj/IFBaseWebController.mm: Removed.
14041         * WebView.subproj/IFBaseWebControllerPrivate.h: Removed.
14042         * WebView.subproj/IFBaseWebControllerPrivate.mm: Removed.
14043         * WebView.subproj/IFMainURLHandleClient.mm:
14044         (-[IFMainURLHandleClient IFURLHandleResourceDidBeginLoading:]):
14045         (-[IFMainURLHandleClient IFURLHandleResourceDidCancelLoading:]):
14046         (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]):
14047         (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]):
14048         (-[IFMainURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]):
14049         (-[IFMainURLHandleClient IFURLHandle:didRedirectToURL:]):
14050         * WebView.subproj/IFWebController.h:
14051         * WebView.subproj/IFWebController.mm: Added.
14052         (-[IFWebController init]):
14053         (-[IFWebController initWithView:provisionalDataSource:]):
14054         (-[IFWebController dealloc]):
14055         (-[IFWebController setDirectsAllLinksToSystemBrowser:]):
14056         (-[IFWebController directsAllLinksToSystemBrowser]):
14057         (-[IFWebController createFrameNamed:for:inParent:inScrollView:]):
14058         (-[IFWebController setStatusText:forDataSource:]):
14059         (-[IFWebController statusTextForDataSource:]):
14060         (-[IFWebController openNewWindowWithURL:]):
14061         (-[IFWebController receivedProgress:forResource:fromDataSource:]):
14062         (-[IFWebController receivedError:forResource:partialProgress:fromDataSource:]):
14063         (-[IFWebController provideLocationChangeHandlerForFrame:]):
14064         (-[IFWebController receivedPageTitle:forDataSource:]):
14065         (-[IFWebController serverRedirectTo:forDataSource:]):
14066         (-[IFWebController _frameForDataSource:fromFrame:]):
14067         (-[IFWebController frameForDataSource:]):
14068         (-[IFWebController _frameForView:fromFrame:]):
14069         (-[IFWebController frameForView:]):
14070         (-[IFWebController frameNamed:]):
14071         (-[IFWebController mainFrame]):
14072         (-[IFWebController pluginNotFoundForMIMEType:pluginPageURL:]):
14073         (-[IFWebController provideLocationChangeHandlerForFrame:andURL:]):
14074         (-[IFWebController URLPolicyForURL:]):
14075         (-[IFWebController unableToImplementURLPolicyForURL:error:]):
14076         (-[IFWebController haveContentPolicy:andPath:forLocationChangeHandler:]):
14077         (-[IFWebController stopAnimatedImages]):
14078         (-[IFWebController startAnimatedImages]):
14079         (-[IFWebController stopAnimatedImageLooping]):
14080         (-[IFWebController startAnimatedImageLooping]):
14081         * WebView.subproj/IFWebControllerPrivate.h: Added.
14082         * WebView.subproj/IFWebControllerPrivate.mm: Added.
14083         (-[IFWebControllerPrivate init]):
14084         (-[IFWebControllerPrivate _clearControllerReferences:]):
14085         (-[IFWebControllerPrivate dealloc]):
14086         (-[IFWebController _receivedProgress:forResource:fromDataSource:]):
14087         (-[IFWebController _mainReceivedProgress:forResource:fromDataSource:]):
14088         (-[IFWebController _receivedError:forResource:partialProgress:fromDataSource:]):
14089         (-[IFWebController _mainReceivedError:forResource:partialProgress:fromDataSource:]):
14090         (-[IFWebController _didStartLoading:]):
14091         (-[IFWebController _didStopLoading:]):
14092         * WebView.subproj/IFWebDataSource.h:
14093         * WebView.subproj/IFWebDataSource.mm:
14094         (-[IFWebDataSource controller]):
14095         * WebView.subproj/IFWebDataSourcePrivate.h:
14096         * WebView.subproj/IFWebDataSourcePrivate.mm:
14097         (-[IFWebDataSource _setController:]):
14098         * WebView.subproj/IFWebFrame.h:
14099         * WebView.subproj/IFWebFrame.mm:
14100         (-[IFWebFrame initWithName:view:provisionalDataSource:controller:]):
14101         (-[IFWebFrame controller]):
14102         (-[IFWebFrame setController:]):
14103         (-[IFWebFrame frameNamed:]):
14104         * WebView.subproj/IFWebFramePrivate.h:
14105         * WebView.subproj/IFWebFramePrivate.mm:
14106         (-[IFWebFramePrivate setController:]):
14107         (-[IFWebFrame _setController:]):
14108         * WebView.subproj/IFWebView.h:
14109         * WebView.subproj/IFWebView.mm:
14110         (-[IFWebView controller]):
14111         * WebView.subproj/IFWebViewPrivate.h:
14112         * WebView.subproj/IFWebViewPrivate.mm:
14113         (-[IFWebView _setController:]):
14114
14115 === Alexander-8 ===
14116
14117 2002-06-06  Darin Adler  <darin@apple.com>
14118
14119         * WebKit.pbproj/project.pbxproj: Update warning flags for compatibility
14120         with new C++.
14121
14122         * WebCoreSupport.subproj/IFTextRenderer.m: (FillStyleWithAttributes):
14123         Remove workaround we copied from AppKit, because it's a workaround for
14124         a bug that was fixed in Puma.
14125
14126 2002-06-06  Chris Blumenberg  <cblu@apple.com>
14127
14128         Added support for key codes and other encodings.
14129         Send activate to make Java happy.
14130
14131         * Plugins.subproj/IFPluginView.mm:
14132         (-[IFPluginView keyMessageForEvent:]): added
14133         (-[IFPluginView keyUp:]): use above.
14134         (-[IFPluginView keyDown:]): use above.
14135         (-[IFPluginView windowBecameKey:]): send activate.
14136         (-[IFPluginView windowResignedKey:]): send activate.
14137
14138 2002-06-06  John Sullivan  <sullivan@apple.com>
14139
14140         * Bookmarks.subproj/IFBookmarkList.m:
14141         (-[IFBookmarkList removeChild:]):
14142         (-[IFBookmarkList insertChild:atIndex:]):
14143         * ChangeLog:
14144
14145 2002-06-06  John Sullivan  <sullivan@apple.com>
14146
14147         * Bookmarks.subproj/IFBookmarkList.m:
14148         (-[IFBookmarkList removeChild:]): Added assert.
14149         (-[IFBookmarkList insertChild:atIndex:]): Set the group of
14150         the new child, and added assert.
14151
14152 2002-06-06  Darin Adler  <darin@apple.com>
14153
14154         * MIME.subproj/IFContentHandler.m:
14155         (-[IFContentHandler initWithURL:MIMEType:MIMEHandlerType:]): Add call to
14156         [super init].
14157         (-[IFContentHandler useTemplate:withGlobal:]): New helper function.
14158         Also got rid of <title> from templates, since there's no need for us to
14159         provide a fake title if it's just the URL.
14160         (-[IFContentHandler HTMLDocument]): Reduce use of copied and pasted code.
14161         (-[IFContentHandler dealloc]): Add call to [super dealloc].
14162
14163         * Resources/image_document_template.html: Remove <title>.
14164         * Resources/plugin_document_template.html: Remove <title>.
14165         * Resources/text_document_template.html: Remove <title>.
14166
14167         * WebView.subproj/IFMainURLHandleClient.mm:
14168         (-[IFMainURLHandleClient processData:isComplete:allDataReceived:]):
14169         Remove some unneeded type casts.
14170
14171 2002-06-05  Maciej Stachowiak  <mjs@apple.com>
14172
14173         Fixed Radar 2936155 - crash in IFAuthenticationPanel
14174         
14175         * Panels.subproj/IFAuthenticationPanel.m:
14176         (-[IFAuthenticationPanel runAsSheetOnWindow:withRequest:]): Add
14177         some assertions.
14178         
14179         (-[IFAuthenticationPanel sheetDidEnd:returnCode:contextInfo:]):
14180         Avoid referencing instance variables after performing a selector
14181         that might release this object. Also, add some assertions.
14182
14183         * Panels.subproj/IFPanelAuthenticationHandler.m:
14184         (-[IFPanelAuthenticationHandler startAuthentication:]): Tweak
14185         whitespace.
14186
14187 2002-06-05  Richard Williamson  <rjw@apple.com>
14188
14189     Fixed snafu in recursion over frame tree.
14190     
14191         * WebView.subproj/IFWebFrame.mm:
14192         (+[IFWebFrame _frameNamed:fromFrame:]):
14193         (-[IFWebFrame frameNamed:]):
14194
14195 2002-06-05  Richard Williamson  <rjw@apple.com>
14196
14197     Normalized frame naming.  (We still don't support cross
14198     window name lookups.)
14199     
14200         * WebView.subproj/IFBaseWebController.mm:
14201         (-[IFBaseWebController frameNamed:]):
14202         * WebView.subproj/IFWebFrame.mm:
14203         (-[IFWebFrame frameNamed:]):
14204
14205 2002-06-04  Chris Blumenberg  <cblu@apple.com>
14206
14207         * MIME.subproj/IFDownloadHandler.mm: Use public methods
14208         * WebView.subproj/IFWebDataSource.h: Made downloadPath public
14209         * WebView.subproj/IFWebDataSource.mm:
14210         (-[IFWebDataSource downloadPath]):
14211         * WebView.subproj/IFWebDataSourcePrivate.h:
14212         * WebView.subproj/IFWebDataSourcePrivate.mm:
14213
14214 2002-06-04  Richard Williamson  <rjw@apple.com>
14215
14216     More exclusion for pre 6C48.
14217
14218         * ChangeLog:
14219         * WebCoreSupport.subproj/IFImageRenderer.m:
14220         (-[IFImageRenderer incrementalLoadWithBytes:length:complete:]):
14221         * WebCoreSupport.subproj/IFImageRendererFactory.m:
14222         (-[IFImageRendererFactory imageRenderer]):
14223
14224 2002-06-04  Richard Williamson  <rjw@apple.com>
14225
14226     Oops, excluded even more code for < 6C48.
14227     
14228         * WebCoreSupport.subproj/IFImageRenderer.m:
14229         (-[IFImageRenderer incrementalLoadWithBytes:length:complete:]):
14230
14231 2002-06-04  Kenneth Kocienda  <kocienda@apple.com>
14232
14233         * Misc.subproj/WebKitDebug.h: Added a line of stderr output into 
14234         the assertion failure code so that we have some idea of what happened.
14235
14236 2002-06-04  Richard Williamson  <rjw@apple.com>
14237
14238     Excluded call to new API until everyone has moved to >= 6C48.
14239     
14240         * WebCoreSupport.subproj/IFImageRenderer.m:
14241         (-[IFImageRenderer incrementalLoadWithBytes:length:complete:]):
14242
14243 2002-06-04  Richard Williamson  <rjw@apple.com>
14244
14245     Changes to support progressive image loading.  Currently disabled
14246     until 2945218 is fixed.
14247
14248         * WebCoreSupport.subproj/IFImageRenderer.h:
14249         * WebCoreSupport.subproj/IFImageRenderer.m:
14250         * WebCoreSupport.subproj/IFImageRendererFactory.m:
14251
14252 2002-06-04  Darin Adler  <darin@apple.com>
14253
14254         - fixed 2932862 -- exception -[NSCFArray getObjects:range:]: index (137)
14255         beyond bounds (10)
14256
14257         * WebView.subproj/IFWebViewPrivate.mm:
14258         (-[IFWebView _stopPlugins]):
14259         (-[IFWebView _removeSubviews]):
14260         Make a copy of the subviews list so that changes to the list don't screw
14261         up the iterating logic.
14262
14263 2002-06-04  John Sullivan  <sullivan@apple.com>
14264
14265         Made changes here while working on Undo for removing history entries.
14266
14267         * History.subproj/IFWebHistory.h:
14268         New methods addEntries: and removeEntries:, deleted method
14269         removeEntriesForDay: (use removeEntries: instead).
14270
14271         * History.subproj/IFWebHistory.m:
14272         (-[IFWebHistory addEntries:]),
14273         (-[IFWebHistory removeEntries:]): New methods, each takes an array of
14274         entries. Useful for doing multiple things at a time to minimize
14275         notifications.
14276         (-[IFWebHistory removeEntriesForDay:]): deleted this now-unnecessary method.
14277         * History.subproj/IFWebHistoryPrivate.h:
14278         * History.subproj/IFWebHistoryPrivate.m:
14279         (-[IFWebHistoryPrivate removeEntries:]):
14280         (-[IFWebHistoryPrivate removeAllEntries]):
14281         (-[IFWebHistoryPrivate addEntries:]): Private implementations for the
14282         public changes.
14283
14284 2002-06-04  Darin Adler  <darin@apple.com>
14285
14286         - fixed 2943513 -- move StringTruncator into WebKit from WebBrowser so we
14287         don't need text measuring API exported
14288
14289         * WebKit.pbproj/project.pbxproj: No longer export the text renderer headers
14290         as Private.
14291
14292 2002-06-04  Darin Adler  <darin@apple.com>
14293
14294         * WebKit.pbproj/project.pbxproj: Exported IFStringTruncator.h as Private.
14295
14296 2002-06-04  Darin Adler  <darin@apple.com>
14297
14298         Moved the string truncator class here from WebBrowser so we don't have to
14299         export our text machinery.
14300
14301         * WebKit.pbproj/project.pbxproj:
14302         * Misc.subproj/IFStringTruncator.h: Added.
14303         * Misc.subproj/IFStringTruncator.m: Added.
14304
14305 2002-06-03  Darin Adler  <darin@apple.com>
14306
14307         * WebCoreSupport.subproj/IFImageRenderer.m:
14308         (-[IFImageRenderer beginAnimationInView:inRect:fromRect:]): Remove the "fix"
14309         for the nonexistent storage leak. Richard showed me the error of my ways.
14310
14311 2002-06-03  John Sullivan  <sullivan@apple.com>
14312
14313         Richard told me which line to change to fix 2944237
14314         (Stop item in View menu enabled on startup if you have
14315         no home page.)
14316
14317         * WebView.subproj/IFWebDataSource.mm:
14318         (-[IFWebDataSource isLoading]):
14319         Don't return YES if !_private->loading.
14320
14321 2002-06-01  Darin Adler  <darin@apple.com>
14322
14323         * WebCoreSupport.subproj/IFImageRenderer.m:
14324         (-[IFImageRenderer beginAnimationInView:inRect:fromRect:]):
14325         Remove an assert I added, since it is firing, and instead fixed the storage leak
14326         that inspired me to put the assert in.
14327
14328 2002-05-31  Darin Adler  <darin@apple.com>
14329
14330         * WebView.subproj/IFWebViewPrivate.mm: Add include to prepare for change to WebCore
14331         that will make it required.
14332
14333 2002-05-31  Darin Adler  <darin@apple.com>
14334
14335         * WebCoreSupport.subproj/IFImageRenderer.h: Fixed the line endings (they were
14336         Macintosh CRs instead of Unix LFs). Also made all the methods be private for
14337         now since there's no need to have them be public.
14338
14339         * WebCoreSupport.subproj/IFImageRenderer.m: Fixed the line endings (they were
14340         Macintosh CRs instead of Unix LFs). Some minor code tweaks too sharing a bit
14341         more code.
14342
14343         * WebCoreSupport.subproj/IFImageRendererFactory.m:
14344         (-[IFImageRendererFactory imageRendererWithSize:]): Return an IFImageRenderer
14345         rather than just an NSImage, since an NSImage does not satisfy WebCoreImageRenderer.
14346
14347 2002-05-31  Darin Adler  <darin@apple.com>
14348
14349         * Misc.subproj/WebKitDebug.h: Use displayableString in DEBUG_OBJECT
14350         for nicer logging.
14351
14352         * WebView.subproj/IFWebView.mm:
14353         (-[IFWebView keyDown:]):
14354         (-[IFWebView keyUp:]):
14355         Use DEBUG_OBJECT so we don't get exceptions when the key characters
14356         are not simple ASCII characters.
14357
14358 2002-05-30  Richard Williamson  <rjw@apple.com>
14359
14360     API and comment cleanup.
14361     
14362         * WebView.subproj/IFWebFrame.h:
14363         * WebView.subproj/IFWebFrame.mm:
14364         (-[IFWebFrame setProvisionalDataSource:]):
14365
14366 2002-05-30  Maciej Stachowiak  <mjs@apple.com>
14367
14368         WebKit parts of fixes for:
14369
14370         Radar 2926169 - no support for window.open
14371         Radar 2890469 - Preference to prevent JavaScript from automatically
14372         opening new windows doesn't work
14373         Radar 2938569 - link cursor does not appear on some pages
14374         
14375         * WebView.subproj/IFWebController.h:
14376         Added openNewWindowWithURL: method for the benefit of JavaScript.
14377         * WebView.subproj/IFBaseWebController.mm:
14378         (-[IFBaseWebController openNewWindowWithURL:]): No-op default
14379         implementation.
14380         * WebView.subproj/IFDynamicScrollBarsView.h:
14381         * WebView.subproj/IFDynamicScrollBarsView.m:
14382         (-[IFDynamicScrollBarsView setCursor:]): Fix cursor handling.
14383         (-[IFDynamicScrollBarsView resetCursorRects]): Likewise.
14384         * WebView.subproj/IFWebView.mm:
14385         (-[IFWebView mouseMovedNotification:]): Likewise.
14386         (-[IFWebView setCursor:]): Likewise.
14387         * WebView.subproj/IFPreferences.h:
14388         * WebView.subproj/IFPreferences.mm:
14389         (-[IFPreferences javaScriptEnabled]): Renamed from jScriptEnabled.
14390         (-[IFPreferences setJavaScriptEnabled:]): Renamed from setJScriptEnabled.
14391         (-[IFPreferences javaScriptCanOpenWindowsAutomatically]): New method.
14392         (-[IFPreferences setJavaScriptCanOpenWindowsAutomatically:]): Likewise.
14393         * WebView.subproj/IFWebFrame.mm:
14394         (-[IFWebFrame initWithName:view:provisionalDataSource:controller:]): Create
14395         a dummy provisional data source if none is provided, so we always have a part
14396         for the frame.
14397         
14398 2002-05-30  Darin Adler  <darin@apple.com>
14399
14400         Use methods in KWQKHTMLPartImpl that were moved there from KHTMLPart.
14401
14402         * WebView.subproj/IFMainURLHandleClient.mm:
14403         (-[IFMainURLHandleClient IFURLHandle:didRedirectToURL:]):
14404         (-[IFMainURLHandleClient processData:isComplete:allDataReceived:]):
14405         * WebView.subproj/IFWebDataSource.mm:
14406         (-[IFWebDataSource documentText]):
14407         * WebView.subproj/IFWebDataSourcePrivate.mm:
14408         (-[IFWebDataSource _setController:]):
14409         * WebView.subproj/IFWebFramePrivate.mm:
14410         (-[IFWebFrame _isLoadComplete]):
14411         * WebView.subproj/IFWebView.mm:
14412         (-[IFWebView provisionalDataSourceChanged:]):
14413
14414 2002-05-30  Chris Blumenberg  <cblu@apple.com>
14415
14416         Use NSWorkspace methods instead of Launch Services and Finder functions.
14417
14418         * MIME.subproj/IFDownloadHandler.h:
14419         * MIME.subproj/IFDownloadHandler.mm:
14420         * WebView.subproj/IFWebFrame.mm:
14421         (-[IFWebFrame setProvisionalDataSource:]):
14422
14423 2002-05-30  Richard Williamson  <rjw@apple.com>
14424
14425     Added 'canDraw' check to ensure that we can render
14426     an image frame.
14427     
14428         * WebCoreSupport.subproj/IFImageRenderer.m:
14429
14430 === Alexander-7 ===
14431
14432 2002-05-29  Richard Williamson  <rjw@apple.com>
14433
14434     Changes to support animated image rendering.
14435     Moved image rendering into webkit.
14436     Still need to implement preferences stubs and
14437     start/stop stubs.
14438     
14439         * WebCoreSupport.subproj/IFImageRenderer.h: Added.
14440         * WebCoreSupport.subproj/IFImageRenderer.m: Added.
14441         * WebCoreSupport.subproj/IFImageRendererFactory.h: Added.
14442         * WebCoreSupport.subproj/IFImageRendererFactory.m: Added.
14443         (+[IFImageRendererFactory createSharedFactory]):
14444         (+[IFImageRendererFactory sharedFactory]):
14445         (-[IFImageRendererFactory imageRendererWithBytes:length:]):
14446         (-[IFImageRendererFactory imageRendererWithSize:]):
14447         * WebKit.pbproj/project.pbxproj:
14448         * WebView.subproj/IFBaseWebController.mm:
14449         (-[IFBaseWebController stopAnimatedImages]):
14450         (-[IFBaseWebController startAnimatedImages]):
14451         (-[IFBaseWebController stopAnimatedImageLooping]):
14452         (-[IFBaseWebController startAnimatedImageLooping]):
14453         * WebView.subproj/IFPreferences.h:
14454         * WebView.subproj/IFPreferences.mm:
14455         (+[IFPreferences load]):
14456         (-[IFPreferences _resourceTimedLayoutEnabled]):
14457         (-[IFPreferences allowAnimatedImages]):
14458         (-[IFPreferences allowAnimatedImageLooping]):
14459         (-[IFPreferences setAllowAnimatedImageLooping:]):
14460         * WebView.subproj/IFWebController.h:
14461         * WebView.subproj/IFWebView.mm:
14462         (-[IFWebView initWithFrame:]):
14463
14464 2002-05-29  Richard Williamson  <rjw@apple.com>
14465
14466     API stubs for image animation.
14467
14468         * WebKit.pbproj/project.pbxproj:
14469         * WebView.subproj/IFBaseWebController.mm:
14470         (-[IFBaseWebController stopAnimatedImages]):
14471         (-[IFBaseWebController startAnimatedImages]):
14472         (-[IFBaseWebController stopAnimatedImageLooping]):
14473         (-[IFBaseWebController startAnimatedImageLooping]):
14474         * WebView.subproj/IFPreferences.h:
14475         * WebView.subproj/IFPreferences.mm:
14476         (+[IFPreferences load]):
14477         (-[IFPreferences _resourceTimedLayoutEnabled]):
14478         (-[IFPreferences allowAnimatedImages]):
14479         (-[IFPreferences allowAnimatedImageLooping]):
14480         (-[IFPreferences setAllowAnimatedImageLooping:]):
14481         * WebView.subproj/IFWebController.h:
14482
14483 2002-05-29  John Sullivan  <sullivan@apple.com>
14484
14485         Removed acceptsFirstMouse override, this fixes at least:
14486
14487         2930713 -- clicking on an empty part of window to bring it to front
14488         takes focus away from page address field
14489
14490         2938028 -- Link cursor doesn't appear when browser window not
14491         frontmost, but clicks activate links
14492
14493         * WebView.subproj/IFWebView.mm:
14494
14495 2002-05-28  John Sullivan  <sullivan@apple.com>
14496
14497         Made -[IFBookmark group] and -[IFBookmark parent] public
14498         methods, and renamed them to not use leading underscores,
14499         as part of support for revealing a particular bookmark in
14500         the Bookmarks window.
14501
14502         * Bookmarks.subproj/IFBookmark_Private.h:
14503         removed _group and _parent.
14504
14505         * Bookmarks.subproj/IFBookmark.h:
14506         added group and parent.
14507
14508         * Bookmarks.subproj/IFBookmark.m:
14509         (-[IFBookmark parent]):
14510         (-[IFBookmark group]):
14511         * Bookmarks.subproj/IFBookmarkGroup.m:
14512         (-[IFBookmarkGroup removeBookmark:]):
14513         (-[IFBookmarkGroup insertNewBookmarkAtIndex:ofBookmark:withTitle:image:URLString:type:]):
14514         * Bookmarks.subproj/IFBookmarkLeaf.m:
14515         (-[IFBookmarkLeaf copyWithZone:]):
14516         (-[IFBookmarkLeaf setTitle:]):
14517         (-[IFBookmarkLeaf setImage:]):
14518         (-[IFBookmarkLeaf setURLString:]):
14519         * Bookmarks.subproj/IFBookmarkList.m:
14520         (-[IFBookmarkList copyWithZone:]):
14521         (-[IFBookmarkList setTitle:]):
14522         (-[IFBookmarkList setImage:]):
14523         (-[IFBookmarkList removeChild:]):
14524         (-[IFBookmarkList insertChild:atIndex:]):
14525         (-[IFBookmarkList _setGroup:]):
14526         * Bookmarks.subproj/IFBookmarkSeparator.m:
14527         (-[IFBookmarkSeparator copyWithZone:]):
14528         Fixed up all references to _group and _parent to now refer to
14529         group and parent.
14530
14531 2002-05-28  Richard Williamson  <rjw@apple.com>
14532
14533     Backed out band-aid add to fixed malformed resources URLs.
14534
14535         * WebView.subproj/IFWebDataSourcePrivate.mm:
14536         (-[IFWebDataSource _addURLHandle:]):
14537
14538 2002-05-28  Chris Blumenberg  <cblu@apple.com>
14539
14540         Added support for creating a new window from a plug-in (2938004)
14541
14542         * Plugins.subproj/IFPluginView.mm:
14543         (-[IFPluginView loadURL:inTarget:withNotifyData:andHandleAttributes:]):
14544
14545 2002-05-28  Chris Blumenberg  <cblu@apple.com>
14546
14547         * Plugins.subproj/IFPluginDatabase.h:
14548         * Plugins.subproj/IFPluginDatabase.m:
14549         (-[IFPluginDatabase pluginForMimeType:]): renamed
14550         (-[IFPluginDatabase pluginForExtension:]): renamed
14551         (-[IFPluginDatabase pluginForFilename:]): renamed
14552         (findPlugins):
14553         * WebCoreSupport.subproj/IFWebCoreViewFactory.m: support for above renamed
14554         (-[IFWebCoreViewFactory viewForPluginWithURL:serviceType:arguments:baseURL:]):
14555         (-[IFWebCoreViewFactory viewForJavaAppletWithArguments:]):
14556         * WebView.subproj/IFWebDataSourcePrivate.mm:
14557         (-[IFWebDataSource _addURLHandle:]): fix for a nil handle being added to an array
14558
14559 2002-05-28  Darin Adler  <darin@apple.com>
14560
14561         * WebCoreSupport.subproj/IFTextRenderer.m:
14562         (hasMissingGlyphs): Use recordSize instead of assuming records are sizeof(ATSLayoutRecord).
14563         (-[IFTextRenderer convertCharacters:length:toGlyphs:]): Free buffer after calling
14564         ATSUConvertCharToGlyphs; old code was using buffer after freeing it.
14565         (-[IFTextRenderer widthForString:]): Handle case where string is longer than
14566         LOCAL_GLYPH_BUFFER_SIZE.
14567         (-[IFTextRenderer slowPackGlyphsForCharacters:numCharacters:glyphBuffer:numGlyphs:]):
14568         (-[IFTextRenderer drawString:atPoint:withColor:]): Use recordSize instead of assuming records
14569         are sizeof(ATSLayoutRecord).
14570         (-[IFTextRenderer slowFloatWidthForCharacters:length:]): Use recordSize instead of assuming
14571         records are sizeof(ATSLayoutRecord).
14572         (-[IFTextRenderer floatWidthForCharacters:length:]): Remove extra rounding. The caller that
14573         converts the width to an integer already does the rounding.
14574         (-[IFTextRenderer extendCharacterToGlyphMapToInclude:]): Fix off by one error that caused us
14575         to include one extra character in each glyph map block. Also use recordSize instead of assuming
14576         records are sizeof(ATSLayoutRecord).
14577
14578 2002-05-27  John Sullivan  <sullivan@apple.com>
14579
14580         Part of fix for 2922772 -- page title & location field don't
14581         show redirected URLs.
14582
14583         * WebView.subproj/IFWebDataSource.mm:
14584         (-[IFWebDataSource wasRedirected]): Fixed this method, now that
14585         we have a client that relies on it. Its logic was backwards, and
14586         it didn't handle the null _finalURL case.
14587
14588 2002-05-26  Maciej Stachowiak  <mjs@apple.com>
14589
14590         Fixed Radar 936147 - debug output in console "keyUp: NSEvent: type=KeyUp"
14591
14592         * WebView.subproj/IFWebView.mm:
14593         (-[IFWebView keyDown:]): Turned NSLog into WEBKITDEBUGLEVEL.
14594         (-[IFWebView keyUp:]): Likewise.
14595
14596 2002-05-26  Maciej Stachowiak  <mjs@apple.com>
14597
14598         WebKit part of fix for:
14599
14600         Radar 2884085 - add support for changing cursor over links
14601
14602         Also, fix handling of mouseMoved events.
14603         
14604         * WebView.subproj/IFWebView.mm:
14605         (-[IFWebView mouseMovedNotification:]): Clip mouseMoved events to
14606         the view rect, otherwise mouseover effects might happen for
14607         elements past the edge of the window.   
14608         (-[IFWebView setCursor:]): Implement.
14609         (-[IFWebView resetCursorRects]): Implement.
14610         * WebView.subproj/IFWebViewPrivate.h:
14611         * WebView.subproj/IFWebViewPrivate.mm:
14612         (-[IFWebViewPrivate dealloc]): Added NSCursor *cursor field.
14613
14614 2002-05-25  Maciej Stachowiak  <mjs@apple.com>
14615
14616         * WebKit.pbproj/project.pbxproj: Link against WebCore.framework,
14617         not libwebcore.dylib.
14618
14619 === 0.3 ===
14620
14621 2002-05-24  Shelley A Sheridan  <sheridan@apple.com>
14622
14623         * ChangeLog:
14624
14625 === Alexander-6 ===
14626
14627 2002-05-23  Maciej Stachowiak  <mjs@apple.com>
14628
14629         WebKit part of the fix for:
14630
14631         Radar 2896391 - command-click should open link in new window
14632         
14633         * WebView.subproj/IFBaseWebController.mm:
14634         (-[IFBaseWebController openNewWindowWithURL:]): Default
14635         implementation silently does nothing.
14636         * WebView.subproj/IFWebController.h: Add openNewWindowWithURL:
14637         method.
14638         * WebView.subproj/IFWebView.mm:
14639         (-[IFWebView _addModifiers:toState:]): Split out modifier key
14640         handling to here. Treat Command as Meta.
14641         (-[IFWebView mouseUp:]): Use new method to set key modifiers for
14642         mouse events.
14643         (-[IFWebView mouseDown:]): Use new method to set key modifiers for
14644         mouse events.
14645         (-[IFWebView keyDown:]): Use new shared code for key modifiers.
14646         (-[IFWebView keyUp:]): Use new shared code for key modifiers.
14647
14648 2002-05-23  Kenneth Kocienda  <kocienda@apple.com>
14649
14650         Fixes for these bugs:
14651
14652         Radar 2883631 (need to implement support for META HTTP_EQUIV=REFRESH)
14653         Radar 2935472 (Non-standard html pages don't always get decoded)
14654
14655         * WebView.subproj/IFMainURLHandleClient.h:
14656         * WebView.subproj/IFMainURLHandleClient.mm:
14657         (-[IFMainURLHandleClient setContentPolicy:]): Updated method to use new processData interface.
14658         (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]): Senses when all data has been received for a load.
14659         (-[IFMainURLHandleClient processData:isComplete:allDataReceived:]): Modified interface to add a flag 
14660           for when all data for a load has been received.
14661
14662 2002-05-23  Shelley A Sheridan  <sheridan@apple.com>
14663
14664         * ChangeLog:
14665
14666 === Alexander-5 ===
14667
14668 2002-05-23  Maciej Stachowiak  <mjs@apple.com>
14669
14670         Move authentication panel to WebKit and make it a sheet, fixing:
14671
14672         Radar 2876445 - Authentication panel should be a sheet
14673         Radar 2876449 - The Alexander authentication panel should be moved
14674         to WebKit for use as a standard one
14675         
14676         * Panels.subproj/English.lproj/IFAuthenticationPanel.nib: Added.
14677         * Panels.subproj/IFAuthenticationPanel.h: Added.
14678         * Panels.subproj/IFAuthenticationPanel.m: Added.
14679         * Panels.subproj/IFPanelAuthenticationHandler.h: Added.
14680         * Panels.subproj/IFPanelAuthenticationHandler.m: Added.
14681         * Panels.subproj/IFStandardPanels.h: Added.
14682         * Panels.subproj/IFStandardPanels.m: Added.
14683         * Panels.subproj/IFStandardPanelsPrivate.h: Added.
14684         * WebKit.pbproj/project.pbxproj: Add new files to build.
14685         * Plugins.subproj/IFPluginStream.mm:
14686         (-[IFPluginStream IFURLHandleResourceDidBeginLoading:]): Notify of
14687         load start.
14688         (-[IFPluginStream IFURLHandleResourceDidFinishLoading:data:]): Notify
14689         of load end.
14690         (-[IFPluginStream IFURLHandleResourceDidCancelLoading:]): Likewise.
14691         (-[IFPluginStream IFURLHandle:resourceDidFailLoadingWithResult:]): Likewise.
14692         (-[IFPluginStream IFURLHandle:didRedirectToURL:]): Notify that old
14693         URL is no longer loading, but new one is.
14694         * WebView.subproj/IFBaseWebControllerPrivate.h:
14695         * WebView.subproj/IFBaseWebControllerPrivate.mm:
14696         (-[IFBaseWebController _didStartLoading:]): New private method
14697         used to track what URLs are loading on behalf of this controller.
14698         (-[IFBaseWebController _didStopLoading:]): Likewise.
14699         
14700         * WebView.subproj/IFMainURLHandleClient.mm:
14701         (-[IFMainURLHandleClient IFURLHandleResourceDidBeginLoading:]): Notify
14702         of load start.
14703         (-[IFMainURLHandleClient IFURLHandleResourceDidCancelLoading:]): Notify
14704         of load end.
14705         (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]): Likewise.
14706         (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]): Likewise.
14707         (-[IFMainURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]): Likewise.
14708         (-[IFMainURLHandleClient IFURLHandle:didRedirectToURL:]): Notify of 
14709         load end and start.
14710
14711 2002-05-22  Chris Blumenberg  <cblu@apple.com>
14712         
14713         Fixed download data source leaks when downloads are cancelled.
14714
14715         * WebView.subproj/IFBaseWebControllerPrivate.mm:
14716         (-[IFBaseWebController _mainReceivedProgress:forResource:fromDataSource:]):
14717         * WebView.subproj/IFMainURLHandleClient.mm:
14718         (-[IFMainURLHandleClient IFURLHandleResourceDidCancelLoading:]):
14719         (-[IFMainURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]):
14720
14721 2002-05-22  Chris Blumenberg  <cblu@apple.com>
14722
14723         Removed activate events as this was causing problems
14724         for the QT plug-in.
14725         
14726         * Plugins.subproj/IFPluginView.mm:
14727         (-[IFPluginView windowBecameKey:]):
14728         (-[IFPluginView windowResignedKey:]):
14729
14730 2002-05-22  Chris Blumenberg  <cblu@apple.com>
14731
14732         Fixed crasher caused by not retaining.
14733         Fixed targeting bug.
14734
14735         * Plugins.subproj/IFPluginView.mm:
14736         (-[IFPluginView initWithFrame:plugin:url:mime:arguments:mode:]):
14737         (-[IFPluginView getURLNotify:target:notifyData:]):
14738         (-[IFPluginView getURL:target:]):
14739         (-[IFPluginView postURLNotify:target:len:buf:file:notifyData:]):
14740         (-[IFPluginView postURL:target:len:buf:file:]):
14741
14742 2002-05-22  Richard J. Williamson  <rjw@apple.com>
14743
14744     Changed semantics of isLoading to only return YES if
14745     the datasource is loading resources related to the intial
14746     load.  Other resources loaded later by JS will not be
14747     accounted for by isLoading.
14748     
14749         * WebView.subproj/IFWebDataSource.mm:
14750         (-[IFWebDataSource isLoading]):
14751
14752 2002-05-22  Chris Blumenberg  <cblu@apple.com>
14753
14754         - Removed obsolete MIME/download related code.
14755         - Minor clean-ups.
14756         - Made WebKit support all text MIME types.
14757         - Now send NPP_URLNotify when pages requested by plug-ins are loaded.
14758         - Simplified NPP_Get/NPP_Post code.
14759         
14760         * MIME.subproj/IFContentHandler.h:
14761         * MIME.subproj/IFContentHandler.m:
14762         * MIME.subproj/IFDownloadHandler.mm:
14763         * MIME.subproj/IFMIMEDatabase.h: Removed.
14764         * MIME.subproj/IFMIMEDatabase.m: Removed.
14765         * MIME.subproj/IFMIMEHandler.h:
14766         * MIME.subproj/IFMIMEHandler.m:
14767         (+[IFMIMEHandler MIMEHandlerTypeForMIMEType:]):
14768         (+[IFMIMEHandler canShowMIMEType:]):
14769         * Plugins.subproj/IFPluginView.h:
14770         * Plugins.subproj/IFPluginView.mm:
14771         (-[IFPluginView initWithFrame:plugin:url:mime:arguments:mode:]):
14772         (-[IFPluginView dealloc]):
14773         (-[IFPluginView frameStateChanged:]):
14774         (-[IFPluginView loadURL:inTarget:withNotifyData:andHandleAttributes:]):
14775         (-[IFPluginView getURLNotify:target:notifyData:]):
14776         (-[IFPluginView getURL:target:]):
14777         (-[IFPluginView postURLNotify:target:len:buf:file:notifyData:]):
14778         (-[IFPluginView postURL:target:len:buf:file:]):
14779         (-[IFPluginView invalidateRect:]):
14780         (-[IFPluginView invalidateRegion:]):
14781         (-[IFPluginView forceRedraw]):
14782         * WebKit.pbproj/project.pbxproj:
14783         * WebView.subproj/IFMainURLHandleClient.h:
14784         * WebView.subproj/IFMainURLHandleClient.mm:
14785         (-[IFMainURLHandleClient dealloc]):
14786         (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]):
14787         (-[IFMainURLHandleClient processData:isComplete:]):
14788         * WebView.subproj/IFWebFramePrivate.h:
14789         * WebView.subproj/IFWebFramePrivate.mm:
14790         (-[IFWebFrame _setState:]):
14791
14792 2002-05-21  Richard J. Williamson  <rjw@apple.com>
14793
14794     Fixed baseline regression.  Obvious of sites that have tables w/ backgrounds,
14795     i.e. www.slashdot.org.
14796     
14797         * WebCoreSupport.subproj/IFTextRenderer.m:
14798         (-[IFTextRenderer drawCharacters:length:atPoint:withColor:]):
14799         (-[IFTextRenderer drawUnderlineForString:atPoint:withColor:]):
14800
14801 2002-05-21  Richard J. Williamson  <rjw@apple.com>
14802
14803     Changes to support additional DHTML events.
14804     
14805         * WebView.subproj/IFWebView.mm:
14806         (-[IFWebView keyDown:]):
14807         (-[IFWebView keyUp:]):
14808         * WebView.subproj/IFWebViewPrivate.mm:
14809         (+[IFWebView _nodeHTML:DOM::]):
14810
14811 2002-05-21  Chris Blumenberg  <cblu@apple.com>
14812
14813         Content policy can now be sent at a later time to avoid blocking.
14814
14815         * WebView.subproj/IFMainURLHandleClient.h:
14816         * WebView.subproj/IFMainURLHandleClient.mm:
14817         (-[IFMainURLHandleClient initWithDataSource:part:]):
14818         (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]):
14819
14820 2002-05-21  Chris Blumenberg  <cblu@apple.com>
14821
14822         Move the tracking rect after the view has moved.
14823
14824         * Plugins.subproj/IFPluginView.mm:
14825         (-[IFPluginView viewHasMoved:]):
14826
14827         Fixed logging.
14828
14829         * Plugins.subproj/npapi.m:
14830         (NPN_UserAgent):
14831         (NPN_MemAlloc):
14832         (NPN_MemFree):
14833         (NPN_MemFlush):
14834         (NPN_ReloadPlugins):
14835
14836 2002-05-21  Kenneth Kocienda  <kocienda@apple.com>
14837
14838         Merged these four include files into the precompiled header.
14839         These are used for the enhanced assertion/debuggin support I
14840         added yesterday.
14841
14842         <signal.h>
14843         <sys/types.h>
14844         <sys/time.h>
14845         <sys/resource.h>
14846
14847         * WebKitPrefix.h
14848
14849 2002-05-20  Chris Blumenberg  <cblu@apple.com>
14850
14851         Added support for plug-ins to send URL requests to certain targets.
14852
14853         Added frameNamed to IFWebFrame.
14854
14855         * Plugins.subproj/IFPluginView.mm:
14856         (-[IFPluginView getURLNotify:target:notifyData:]):
14857         (-[IFPluginView postURLNotify:target:len:buf:file:notifyData:]):
14858         * WebView.subproj/IFWebFrame.h:
14859         * WebView.subproj/IFWebFrame.mm:
14860         (-[IFWebFrame frameNamed:]):
14861
14862 2002-05-20  Kenneth Kocienda  <kocienda@apple.com>
14863
14864         * Misc.subproj/WebKitDebug.h: Now includes <sys/time.h> to prevent possible
14865           build breakage in the inclusion of <sys/resource.h>
14866
14867 2002-05-20  Kenneth Kocienda  <kocienda@apple.com>
14868
14869         Changed assertion failure code to send a SIGQUIT instead
14870         of raising an NSException.
14871
14872         * Misc.subproj/WebKitDebug.h
14873
14874 2002-05-20  Chris Blumenberg  <cblu@apple.com>
14875
14876         A whole lot of plug-in clean-up.
14877
14878         Moved the following functions from npapi to IFPlugin.
14879
14880         * Plugins.subproj/IFPlugin.m:
14881         (functionPointerForTVector):
14882         (tVectorForFunctionPointer):
14883
14884
14885         Only supply mouse coords when active.
14886
14887         * Plugins.subproj/IFPluginNullEventSender.h:
14888         * Plugins.subproj/IFPluginNullEventSender.m:
14889         (-[IFPluginNullEventSender initializeWithNPP:functionPointer:window:]):
14890         (-[IFPluginNullEventSender dealloc]):
14891         (-[IFPluginNullEventSender sendNullEvents]):
14892
14893         
14894         Minor clean-ups
14895
14896         * Plugins.subproj/IFPluginStream.mm:
14897         (-[IFPluginStream dealloc]):
14898         (-[IFPluginStream IFURLHandleResourceDidFinishLoading:data:]):
14899         (-[IFPluginStream IFURLHandleResourceDidCancelLoading:]):
14900         (-[IFPluginStream IFURLHandle:resourceDidFailLoadingWithResult:]):
14901         
14902         
14903         Removed the isMouseDown flag from the following functions
14904         as it was unnecessary.
14905
14906         Cleaned up logging.
14907
14908         * Plugins.subproj/IFPluginView.mm:
14909         (-[IFPluginView modifiersForEvent:]):
14910         (-[IFPluginView getCarbonEvent:withEvent:]):
14911         (-[IFPluginView sendUpdateEvent]):
14912         (-[IFPluginView becomeFirstResponder]):
14913         (-[IFPluginView resignFirstResponder]):
14914         (-[IFPluginView mouseDown:]):
14915         (-[IFPluginView mouseUp:]):
14916         (-[IFPluginView mouseExited:]):
14917         (-[IFPluginView setWindow]):
14918         (-[IFPluginView start]):
14919         (-[IFPluginView stop]):
14920
14921
14922         URLForString now uses _IF_looksLikeAbsoluteURL.
14923
14924         (-[IFPluginView URLForString:]):
14925
14926         
14927         Implemented the following:
14928
14929         (-[IFPluginView invalidateRect:]):
14930         (-[IFPluginView invalidateRegion:]):
14931         (-[IFPluginView forceRedraw]):
14932
14933         
14934         Put implementation of GetValue SetValue in npapi. 
14935
14936         * Plugins.subproj/npapi.h:
14937         * Plugins.subproj/npapi.m:
14938         (NPN_GetValue):
14939         (NPN_SetValue):
14940
14941
14942         Added drag & drop support.
14943
14944         * WebView.subproj/IFWebView.mm:
14945         (-[IFWebView initWithFrame:]):
14946         (-[IFWebView setCanDragFrom:]):
14947         (-[IFWebView canDragFrom]):
14948         (-[IFWebView setCanDragTo:]):
14949         (-[IFWebView canDragTo]):
14950         (-[IFWebView draggingEntered:]):
14951         (-[IFWebView prepareForDragOperation:]):
14952         (-[IFWebView performDragOperation:]):
14953         * WebView.subproj/IFWebViewPrivate.h:
14954         * WebView.subproj/IFWebViewPrivate.mm:
14955         (-[IFWebViewPrivate dealloc]):
14956
14957 2002-05-20  John Sullivan  <sullivan@apple.com>
14958
14959         Support for bookmark separators
14960
14961         * Bookmarks.subproj/IFBookmark.h: Update comments and replace
14962         isLeaf with bookmarkType.
14963
14964         * Bookmarks.subproj/IFBookmark.m:
14965         (-[IFBookmark bookmarkType]): New method, replaces isLeaf.
14966         (-[IFBookmark title]):
14967         (-[IFBookmark setTitle:]):
14968         (-[IFBookmark image]):
14969         (-[IFBookmark setImage:]):
14970         (-[IFBookmark setURLString:]):
14971         (-[IFBookmark children]):
14972         (-[IFBookmark numberOfChildren]):
14973         (-[IFBookmark _numberOfDescendants]):
14974         (-[IFBookmark insertChild:atIndex:]):
14975         (-[IFBookmark removeChild:]):
14976         Update callers of isLeaf, and don't require concrete implementations
14977         of some methods for some types.
14978
14979         * Bookmarks.subproj/IFBookmarkLeaf.m:
14980         (-[IFBookmarkLeaf bookmarkType]): return IFBookmarkTypeLeaf
14981         (-[IFBookmarkLeaf _dictionaryRepresentation]): set value for bookmark type.
14982
14983         * Bookmarks.subproj/IFBookmarkList.m:
14984         (-[IFBookmarkList _initFromDictionaryRepresentation:withGroup:]):
14985         Handle separator case.
14986         (-[IFBookmarkList _dictionaryRepresentation]): set value for bookmark type
14987         (-[IFBookmarkList bookmarkType]): return IFBookmarkTypeList
14988
14989         * Bookmarks.subproj/IFBookmarkSeparator.h: Added.
14990         * Bookmarks.subproj/IFBookmarkSeparator.m: Added.
14991         (-[IFBookmarkSeparator initWithGroup:]): Simple init method.
14992         (-[IFBookmarkSeparator _initFromDictionaryRepresentation:withGroup:]): Just calls
14993         initWithGroup.
14994         (-[IFBookmarkSeparator _dictionaryRepresentation]): set value for bookmark type
14995         (-[IFBookmarkSeparator bookmarkType]): return IFBookmarkTypeSeparator
14996         (-[IFBookmarkSeparator copyWithZone:]): calls initWithGroup
14997
14998         * Bookmarks.subproj/IFBookmark_Private.h: Added key/value #defines for dictionary
14999         representation.
15000
15001         * Bookmarks.subproj/IFBookmarkGroup.h:
15002         * Bookmarks.subproj/IFBookmarkGroup.m:
15003         (-[IFBookmarkGroup _setTopBookmark:]):
15004         (-[IFBookmarkGroup _bookmarkChildrenDidChange:]):
15005         (-[IFBookmarkGroup addNewBookmarkToBookmark:withTitle:image:URLString:type:]):
15006         Update callers of isLeaf to use bookmarkType instead.
15007
15008         (-[IFBookmarkGroup insertNewBookmarkAtIndex:ofBookmark:withTitle:image:URLString:type:]):
15009         if type is IFBookmarkTypeSeparator, instantiate an IFBookmarkSeparator
15010
15011         * WebKit.pbproj/project.pbxproj: Updated for new files.
15012
15013 2002-05-17  Chris Blumenberg  <cblu@apple.com>
15014
15015         - Made IFPluginStream the URL handle client instead of IFPluginView.
15016         - Added support for NPP_PostURL and NPP_PostNotify.
15017         - Possible fix for 2928558.
15018
15019         * Plugins.subproj/IFPluginStream.h:
15020         * Plugins.subproj/IFPluginView.h:
15021         * Plugins.subproj/IFPluginView.mm:
15022         (-[IFPluginView initWithFrame:plugin:url:mime:arguments:mode:]):NSURL for url
15023         instead of NSString
15024         (-[IFPluginView dealloc]):
15025         (-[IFPluginView setWindow]):
15026         (-[IFPluginView start]): 
15027         (-[IFPluginView stop]):
15028         (-[IFPluginView webDataSource]):Accessor for IFPluginStream.
15029         (-[IFPluginView webController]):Accessor for IFPluginStream.
15030         (-[IFPluginView URLForString:]):
15031         (-[IFPluginView getURLNotify:target:notifyData:]):
15032         (-[IFPluginView postURLNotify:target:len:buf:file:notifyData:]):
15033         (-[IFPluginView postURL:target:len:buf:file:]):
15034         (-[IFPluginView destroyStream:reason:]):
15035         (-[IFPluginView status:]):
15036         (-[IFPluginView NPP_NewStream]): Accessor for IFPluginStream.
15037         (-[IFPluginView NPP_WriteReady]):Accessor for IFPluginStream.
15038         (-[IFPluginView NPP_Write]): Accessor for IFPluginStream.
15039         (-[IFPluginView NPP_StreamAsFile]): Accessor for IFPluginStream.
15040         (-[IFPluginView NPP_DestroyStream]): Accessor for IFPluginStream.
15041         (-[IFPluginView NPP_URLNotify]): Accessor for IFPluginStream.
15042         * WebCoreSupport.subproj/IFWebCoreViewFactory.m: Use new IFPluginView init method
15043         (-[IFWebCoreViewFactory viewForPluginWithURL:serviceType:arguments:baseURL:]):
15044         * WebKit.pbproj/project.pbxproj:
15045
15046 2002-05-16  Richard J. Williamson  <rjw@apple.com>
15047
15048         Fixed 2925638.  Don't send last progress message from resourceDataDidBecomeAvailable,
15049         it is sent from IFURLHandleResourceDidFinishLoading, avoiding duplication.
15050         
15051         * WebView.subproj/IFMainURLHandleClient.mm:
15052         (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]):
15053
15054 2002-05-16  Richard J. Williamson  <rjw@apple.com>
15055
15056         Fix to fix for 0x7f to 0xa0.  I was being overly aggressive about
15057         finding substitute glyphs.
15058         
15059         * WebCoreSupport.subproj/IFTextRenderer.m:
15060         (-[IFTextRenderer drawCharacters:length:atPoint:withColor:]):
15061         (-[IFTextRenderer floatWidthForCharacters:length:]):
15062
15063 2002-05-16  Darin Adler  <darin@apple.com>
15064
15065         * Plugins.subproj/IFPluginView.mm:
15066         (-[IFPluginView IFURLHandleResourceDidFinishLoading:data:]):
15067         Use this new getCarbonPath function rather than hardcoding assumptions
15068         about "/tmp" being ":private:tmp".
15069         (getCarbonPath): New.
15070
15071 2002-05-16  Darin Adler  <darin@apple.com>
15072
15073         * Plugins.subproj/IFPluginView.mm: (-[IFPluginView mouseUp:]):
15074         Fixed log statement so development builds work again.
15075
15076 2002-05-16  Darin Adler  <darin@apple.com>
15077
15078         * Plugins.subproj/IFPluginView.mm: (-[IFPluginView mouseUp:]):
15079         Remove unused variable that breaks optimized builds.
15080
15081 2002-05-15  Darin Adler  <darin@apple.com>
15082
15083         Another quick events cleanup pass.
15084
15085         * Plugins.subproj/IFPluginNullEventSender.m:
15086         (-[IFPluginNullEventSender sendNullEvents]): Use [IFPluginView getCarbonEvent:].
15087
15088         * Plugins.subproj/IFPluginView.h: Make almost all methods private.
15089         * Plugins.subproj/IFPluginView.mm:
15090         (+[IFPluginView getCarbonEvent:]): New.
15091         (-[IFPluginView getCarbonEvent:]): New, calls class method.
15092         (-[IFPluginView modifiersForEvent:isMouseDown:]): Reversed sense of btnState.
15093         This flag is set if the mouse is up, not if the mouse is down.
15094         (-[IFPluginView getCarbonEvent:withEvent:isMouseDown:]): New.
15095         (-[IFPluginView getCarbonEvent:withEvent:]): New.
15096         (-[IFPluginView sendActivateEvent:]): Now takes parameter for activate vs.
15097         deactivate and uses [getCarbonEvent:].
15098         (-[IFPluginView sendUpdateEvent]): Uses [getCarbonEvent:].
15099         (-[IFPluginView becomeFirstResponder]): Uses [getCarbonEvent:].
15100         (-[IFPluginView resignFirstResponder]): Uses [getCarbonEvent:].
15101         (-[IFPluginView mouseDown:]): Uses [getCarbonEvent:withEvent:isMouseDown:].
15102         (-[IFPluginView mouseUp:]): Uses [getCarbonEvent:withEvent:isMouseDown:].
15103         (-[IFPluginView mouseEntered:]): Uses [getCarbonEvent:withEvent:].
15104         (-[IFPluginView mouseExited:]): Uses [getCarbonEvent:withEvent:].
15105         (-[IFPluginView keyUp:]): Uses [getCarbonEvent:withEvent:].
15106         (-[IFPluginView keyDown:]): Uses [getCarbonEvent:withEvent:].
15107         (-[IFPluginView start]): Call [sendActivateEvent:YES].
15108         (-[IFPluginView windowBecameKey:]): Call [sendActivateEvent:YES].
15109         (-[IFPluginView windowResignedKey:]): Call [sendActivateEvent:NO].
15110
15111 2002-05-15  Richard J. Williamson  <rjw@apple.com>
15112
15113     Fixed problem dealing w/ characters in range 0x7f - 0xa0.
15114     
15115         * WebCoreSupport.subproj/IFTextRenderer.m:
15116         (setGlyphForCharacter):
15117         (-[IFTextRenderer drawCharacters:length:atPoint:withColor:]):
15118         (-[IFTextRenderer floatWidthForCharacters:length:]):
15119
15120 2002-05-15  Chris Blumenberg  <cblu@apple.com>
15121
15122         Fixed Flash mouse-down, mouse-over Flash bug.
15123         Added support for modifiers (control-click etc) (2884451).
15124         A lot of events clean-up.
15125
15126         * Plugins.subproj/IFPluginNullEventSender.m:
15127         (-[IFPluginNullEventSender sendNullEvents]):
15128         * Plugins.subproj/IFPluginView.h:
15129         * Plugins.subproj/IFPluginView.mm:
15130         (newCString):
15131         (-[IFPluginView initWithFrame:plugin:url:mime:arguments:mode:]):
15132         (-[IFPluginView start]):
15133         (-[IFPluginView drawRect:]):
15134         (-[IFPluginView isFlipped]):
15135         (-[IFPluginView currentModifiers]):
15136         (-[IFPluginView modifiersForEvent:isMouseDown:]):
15137         (-[IFPluginView sendActivateEvent]):
15138         (-[IFPluginView sendUpdateEvent]):
15139         (-[IFPluginView becomeFirstResponder]):
15140         (-[IFPluginView resignFirstResponder]):
15141         (-[IFPluginView mouseDown:]):
15142         (-[IFPluginView mouseUp:]):
15143         (-[IFPluginView mouseEntered:]):
15144         (-[IFPluginView mouseExited:]):
15145         (-[IFPluginView keyUp:]):
15146         (-[IFPluginView keyDown:]):
15147         (-[IFPluginView windowBecameKey:]):
15148         (-[IFPluginView windowResignedKey:]):
15149
15150         Case-sensitivity issue with an include.
15151
15152         * WebView.subproj/IFWebView.mm:
15153
15154 2002-05-15  Darin Adler  <darin@apple.com>
15155
15156         * Makefile.am:
15157         Use all-am and clean-am instead of all and clean because it's better and
15158         to make "make check" at the top level work right.
15159
15160 2002-05-14  John Sullivan  <sullivan@apple.com>
15161
15162         Work to support copying bookmarks, needed for drag & drop
15163         in Bookmarks window.
15164
15165         * Bookmarks.subproj/IFBookmark.h: Make IFBookmark conform to NSCopying.
15166
15167         * Bookmarks.subproj/IFBookmark.m:
15168         (-[IFBookmark copyWithZone:]): insist that subclasses implement this.
15169
15170         * Bookmarks.subproj/IFBookmarkGroup.h:
15171         * Bookmarks.subproj/IFBookmarkGroup.m:
15172         (-[IFBookmarkGroup insertBookmark:atIndex:ofBookmark:]):
15173         Removed this unnecessary method.
15174
15175         * Bookmarks.subproj/IFBookmarkLeaf.m:
15176         (-[IFBookmarkLeaf copyWithZone:]): New method.
15177
15178         * Bookmarks.subproj/IFBookmarkList.m:
15179         (-[IFBookmarkList copyWithZone:]): New method.
15180
15181 2002-05-14  Richard J. Williamson  <rjw@apple.com>
15182
15183     Fixed exception in log code.
15184     
15185         * WebCoreSupport.subproj/IFTextRenderer.m:
15186         (-[IFTextRenderer floatWidthForCharacters:length:]):
15187
15188 2002-05-14  Richard J. Williamson  <rjw@apple.com>
15189
15190     Fixed 2926153, not getting correct messages after cancel.
15191     Fixed leak of mouse events (Darin wanted this ASAP).
15192     
15193         * WebView.subproj/IFBaseWebControllerPrivate.mm:
15194         (-[IFBaseWebController _receivedProgress:forResource:fromDataSource:]):
15195         (-[IFBaseWebController _mainReceivedProgress:forResource:fromDataSource:]):
15196         * WebView.subproj/IFLocationChangeHandler.h:
15197         * WebView.subproj/IFWebView.mm:
15198         (-[IFWebView initWithFrame:]):
15199         (-[IFWebView layout]):
15200         (-[IFWebView mouseUp:]):
15201         (-[IFWebView mouseDown:]):
15202         (-[IFWebView mouseMovedNotification:]):
15203
15204 2002-05-14  Chris Blumenberg  <cblu@apple.com>
15205
15206         Removed retain of the URL handle. This was causing everything to leak.
15207
15208         * WebView.subproj/IFMainURLHandleClient.h:
15209         * WebView.subproj/IFMainURLHandleClient.mm:
15210         (-[IFMainURLHandleClient initWithDataSource:part:]):
15211         (-[IFMainURLHandleClient dealloc]):
15212         (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]):
15213         (-[IFMainURLHandleClient IFURLHandle:didRedirectToURL:]):
15214         (-[IFMainURLHandleClient processData:isComplete:]):
15215
15216 2002-05-14  Darin Adler  <darin@apple.com>
15217
15218         * WebView.subproj/IFWebView.mm: (-[IFWebView initWithFrame:]):
15219         Remove code that makes us the first responder. That's up to the higher levels,
15220         not the web view.
15221
15222 2002-05-14  John Sullivan  <sullivan@apple.com>
15223
15224         * History.subproj/IFURIEntry.h:
15225         Oops, deleted the prototype for setLastVisitedDate
15226         accidentally, which made Jersey sad.
15227
15228 2002-05-14  John Sullivan  <sullivan@apple.com>
15229
15230         Fixed 2919027 -- Need to remove unused code in WebKit/History.subproj
15231
15232         * History.subproj/IFAttributedURL.h: Removed.
15233         * History.subproj/IFBackForwardList.h: Removed large #ifdef.
15234         * History.subproj/IFURIEntry.h,
15235         * History.subproj/IFURIEntry.m: Removed all mention of unused
15236         fields comment, creationDate, modificationDate
15237         * WebKit.pbproj/project.pbxproj: Updated for removed file.
15238
15239 2002-05-13  Chris Blumenberg  <cblu@apple.com>
15240
15241         Added support for setting the content policy on the location change handler
15242         and data source at any time instead of depending on an immediate response.
15243
15244         * WebView.subproj/IFBaseWebController.mm:
15245         (-[IFBaseWebController haveContentPolicy:andPath:forLocationChangeHandler:]):
15246         * WebView.subproj/IFMainURLHandleClient.h:
15247         * WebView.subproj/IFMainURLHandleClient.mm:
15248         (-[IFMainURLHandleClient initWithDataSource:part:]):
15249         (-[IFMainURLHandleClient dealloc]):
15250         (-[IFMainURLHandleClient setContentPolicy:]):
15251         (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]):
15252         (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]):
15253         (-[IFMainURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]):
15254         (-[IFMainURLHandleClient IFURLHandle:didRedirectToURL:]):
15255         (-[IFMainURLHandleClient processData:isComplete:]):
15256         * WebView.subproj/IFWebController.h:
15257         * WebView.subproj/IFWebDataSourcePrivate.mm:
15258         (-[IFWebDataSource _setContentPolicy:]):
15259         * WebView.subproj/IFWebFrame.mm:
15260         (-[IFWebFrame setProvisionalDataSource:]):
15261
15262 2002-05-13  Maciej Stachowiak  <mjs@apple.com>
15263
15264         * WebKitPrefix.h: Gratuitous change to make the prefix file
15265         rebuild.
15266
15267 2002-05-13  Chris Blumenberg  <cblu@apple.com>
15268
15269         * WebView.subproj/IFBaseWebController.mm:
15270         (-[IFBaseWebController URLPolicyForURL:]):
15271         
15272         Use [IFURLHandle canInitWithURL] instead of hard-coded URL schemes.
15273
15274         * WebView.subproj/IFBaseWebControllerPrivate.mm:
15275         (-[IFBaseWebController _mainReceivedProgress:forResource:fromDataSource:]):
15276         * WebView.subproj/IFMainURLHandleClient.mm:
15277         (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]):
15278         (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]):
15279         * WebView.subproj/IFWebDataSourcePrivate.h:
15280         * WebView.subproj/IFWebDataSourcePrivate.mm:
15281         (-[IFWebDataSourcePrivate init]):
15282         (-[IFWebDataSource _setDownloadPath:]):
15283
15284         Removed _contentPolicy as contentPolicy is public. 
15285
15286         Initialize contentPolicy in [IFWebDataSourcePrivate init].
15287
15288 2002-05-10  Richard J. Williamson  <rjw@apple.com>
15289
15290         Logging changes.
15291         
15292         * WebCoreSupport.subproj/IFTextRenderer.m:
15293         * WebView.subproj/IFWebDataSource.mm:
15294         (-[IFWebDataSource isLoading]):
15295         * WebView.subproj/IFWebFramePrivate.mm:
15296         (-[IFWebFrame _isLoadComplete]):
15297
15298 2002-05-10  Chris Blumenberg  <cblu@apple.com>
15299
15300         Added support for non-html non-file URL data sources. 
15301         Added the init methods below. Removed initWithHandle.
15302
15303         * WebView.subproj/IFWebDataSource.h:
15304         * WebView.subproj/IFWebDataSource.mm:
15305         (IFWebDataSourceMake):
15306         (-[IFWebDataSource initWithURL:]):
15307         (-[IFWebDataSource initWithURL:attributes:]):
15308         (-[IFWebDataSource startLoading:]):
15309
15310 2002-05-10  Darin Adler  <darin@apple.com>
15311
15312         * WebCoreSupport.subproj/IFTextRenderer.h: Moved most of the
15313         stuff from here into the .m file so this header can be included
15314         by clients. Also added floatWidthForCharacters:length:.
15315         * WebCoreSupport.subproj/IFTextRenderer.m:
15316         (freeWidthMap): Check for NULL.
15317         (freeGlyphMap): Check for NULL.
15318         (-[IFTextRenderer slowFloatWidthForCharacters:length:]): Renamed,
15319         and made it return the float.
15320         (-[IFTextRenderer floatWidthForCharacters:length:]): Renamed, and
15321         made it return the float.
15322         (-[IFTextRenderer widthForCharacters:length:]): Do rounding here.
15323
15324         * WebCoreSupport.subproj/IFTextRendererFactory.h:
15325         * WebCoreSupport.subproj/IFTextRendererFactory.m:
15326         Make the interface slightly easier to use by using the specific types.
15327
15328         * WebKit.pbproj/project.pbxproj: Exported the headers.
15329
15330 2002-05-10  Kenneth Kocienda  <kocienda@apple.com>
15331
15332         Fixed build breakage caused by my previous checkin.
15333
15334         * WebView.subproj/IFMainURLHandleClient.mm:
15335         (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:])
15336
15337 2002-05-10  John Sullivan  <sullivan@apple.com>
15338
15339         Fixed 2922756 (@ image in History window is a little too tall)
15340         Fixed 2923790 (bookmark folders need folder icons)
15341
15342         * Resources/bookmark_folder.tiff: New image (small folder, copied from elsewhere)
15343         * Resources/url_icon.tiff: Shrunk this one a little bit.
15344
15345         * Bookmarks.subproj/IFBookmarkList.m:
15346         (-[IFBookmarkList image]): Return the default image if no custom image is set.
15347
15348         * History.subproj/IFURIEntry.m:
15349         (-[IFURIEntry image]): If the default image's file isn't found, don't try
15350         to create an NSImage, because it will come out horribly broken and evil if
15351         you do (I ran into this while adding the bookmark folder image; most of Alexander's
15352         menus did not appear at all because the bookmark folder image was using a bogus
15353         NSImage).
15354
15355         * WebKit.pbproj/project.pbxproj: Updated for new files.
15356
15357 2002-05-10  Kenneth Kocienda  <kocienda@apple.com>
15358
15359         Reviewed by: Maciej Stachowiak
15360
15361         This code was modified to use the new interface and features of IFError.
15362         These features and changes are described in these four bug reports:
15363
15364         Radar 2923998 (Change IFError private data into a pointer to a private data object)
15365         Radar 2924002 (IFError should include an error domain)
15366         Radar 2924013 (IFError initialization is not threadsafe)        
15367         Radar 2924280 (IFError should contain a new field which tells whether the error is terminal)
15368                                                             
15369         * Plugins.subproj/IFPluginView.mm:
15370         (-[IFPluginView IFURLHandle:resourceDidFailLoadingWithResult:]):
15371         * WebView.subproj/IFBaseWebControllerPrivate.mm:
15372         (-[IFBaseWebController _receivedProgress:forResource:fromDataSource:]):
15373         (-[IFBaseWebController _mainReceivedProgress:forResource:fromDataSource:]):
15374         * WebView.subproj/IFMainURLHandleClient.mm:
15375         (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]):
15376
15377 2002-05-09  Richard J. Williamson  <rjw@apple.com>
15378
15379     Tuned implementation more.  Cleaned up and factored code.
15380
15381         * WebCoreSupport.subproj/IFTextRenderer.h:
15382         * WebCoreSupport.subproj/IFTextRenderer.m:
15383         (-[IFTextRenderer substituteFontForString:]):
15384         (-[IFTextRenderer substituteFontForCharacters:length:]):
15385         (-[IFTextRenderer initWithFont:]):
15386         (-[IFTextRenderer dealloc]):
15387         (-[IFTextRenderer slowPackGlyphsForCharacters:numCharacters:glyphBuffer:numGlyphs:]):
15388         (-[IFTextRenderer drawString:atPoint:withColor:]):
15389         (-[IFTextRenderer drawCharacters:length:atPoint:withColor:]):
15390         (-[IFTextRenderer drawUnderlineForString:atPoint:withColor:]):
15391         (-[IFTextRenderer slowWidthForCharacters:length:]):
15392         (-[IFTextRenderer widthForCharacters:length:]):
15393         (-[IFTextRenderer extendGlyphToWidthMapToInclude:]):
15394
15395 2002-05-09  John Sullivan  <sullivan@apple.com>
15396
15397         * Bookmarks.subproj/IFBookmarkGroup.h:
15398         * Bookmarks.subproj/IFBookmarkGroup.m:
15399         (-[IFBookmarkGroup addNewBookmarkToBookmark:withTitle:image:URLString:isLeaf:]):
15400         (-[IFBookmarkGroup insertNewBookmarkAtIndex:ofBookmark:withTitle:image:URLString:isLeaf:]):
15401         Gave these two methods return values of the new bookmark created, to make callers'
15402         lives easier.
15403
15404 === Alexander-3 ===
15405
15406 2002-05-08  Richard J. Williamson  <rjw@apple.com>
15407
15408     Added optimizations for text rendering.
15409     
15410         * WebCoreSupport.subproj/IFTextRenderer.h:
15411         * WebCoreSupport.subproj/IFTextRenderer.m:
15412         (freeWidthMap):
15413         (freeGlyphMap):
15414         (glyphForCharacter):
15415         (widthForGlyph):
15416         (widthForCharacter):
15417         (-[IFTextRenderer substituteFontForCharacters:length:]):
15418         (-[IFTextRenderer convertCharacters:length:glyphs:]):
15419         (-[IFTextRenderer dealloc]):
15420         (-[IFTextRenderer drawString:atPoint:withColor:]):
15421         (-[IFTextRenderer drawUnderlineForString:atPoint:withColor:]):
15422         (-[IFTextRenderer widthForCharacters:length:]):
15423         (-[IFTextRenderer extendCharacterToGlyphMapToInclude:]):
15424         (-[IFTextRenderer extendGlyphToWidthMapToInclude:]):
15425
15426 2002-05-08  Darin Adler  <darin@apple.com>
15427
15428         * Misc.subproj/IFCache.h: Add more JavaScript object statistics.
15429         * Misc.subproj/IFCache.mm:
15430         (+[IFCache javaScriptInterpretersCount]): New.
15431         (+[IFCache javaScriptNoGCAllowedObjectsCount]): New.
15432         (+[IFCache javaScriptReferencedObjectsCount]): New.
15433
15434         * WebKit.pbproj/project.pbxproj: Rearranged two files, dunno why.
15435
15436 2002-05-08  Chris Blumenberg  <cblu@apple.com>
15437
15438         Cleaned up mach-o plug-in support.
15439         
15440         Changed the init method in IFPlugin to initWithPath.
15441
15442         * Plugins.subproj/IFPlugin.h:
15443         * Plugins.subproj/IFPlugin.m:
15444         (-[IFPlugin initWithPath:]):
15445         (-[IFPlugin load]):
15446         * Plugins.subproj/IFPluginDatabase.m:
15447         (findPlugins):
15448
15449 2002-05-08  Darin Adler  <darin@apple.com>
15450
15451         * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _setTitle:]):
15452         Use _IF_stringByTrimmingWhitespace.
15453
15454 2002-05-07  Richard J. Williamson  <rjw@apple.com>
15455
15456         First pass at font substitution.  Find a substitute font to
15457         use when the specified font doesn't have glyphs for the characters that
15458         need to be drawn.
15459         
15460         Works correctly but hasn't been optimized yet, VERY slow.
15461         Will optimize this evening and tomorrow.  Try www.yahoo.co.jp,
15462         it will take a long time to render be eventually will draw correctly.
15463         
15464         * WebCoreSupport.subproj/IFTextRenderer.h:
15465         * WebCoreSupport.subproj/IFTextRenderer.m:
15466         (hasMissingGlyphs):
15467         (+[IFTextRenderer initialize]):
15468         (-[IFTextRenderer convertCharacters:length:glyphs:]):
15469         (-[IFTextRenderer initializeCaches]):
15470         (-[IFTextRenderer drawString:atPoint:withColor:]):
15471         (-[IFTextRenderer drawUnderlineForString:atPoint:withColor:]):
15472         (-[IFTextRenderer widthForCharacters:length:]):
15473
15474 2002-05-07  Darin Adler  <darin@apple.com>
15475
15476         Oops. These files don't belong at the top level.
15477
15478         * IFWebCoreViewFactory.h: Removed.
15479         * IFWebCoreViewFactory.m: Removed.
15480         * WebCoreSupport.subproj/IFWebCoreViewFactory.h: Added.
15481         * WebCoreSupport.subproj/IFWebCoreViewFactory.m: Added.
15482         * WebKit.pbproj/project.pbxproj:
15483
15484 2002-05-07  Darin Adler  <darin@apple.com>
15485
15486         Move more plugin code here from WebCore.
15487
15488         * IFWebCoreViewFactory.h: Added.
15489         * IFWebCoreViewFactory.m: Added.
15490
15491         * Plugins.subproj/IFPlugin.h: Moved from WebCore.
15492         * Plugins.subproj/IFPlugin.m: Moved from WebCore.
15493         * Plugins.subproj/IFPluginDatabase.h: Moved from WebCore.
15494         * Plugins.subproj/IFPluginDatabase.m: Moved from WebCore.
15495         * Plugins.subproj/npapi.h: Moved from WebCore.
15496         * Plugins.subproj/npapi.m: Moved from WebCore.
15497
15498         * WebKit.pbproj/project.pbxproj: Source file names changed
15499
15500         * MIME.subproj/IFMIMEDatabase.m:
15501         * MIME.subproj/IFMIMEHandler.m:
15502         * Plugins.subproj/IFPluginView.h:
15503         * Plugins.subproj/IFPluginView.mm:
15504         Updated for WC -> IF name change.
15505
15506         * WebCoreSupport.subproj/IFCachedTextRenderer.h: Renamed to IFTextRenderer.
15507         * WebCoreSupport.subproj/IFCachedTextRenderer.m: Renamed to IFTextRenderer.
15508         * WebCoreSupport.subproj/IFCachedTextRendererFactory.h: Renamed to IFTextRendererFactory.
15509         * WebCoreSupport.subproj/IFCachedTextRendererFactory.m: Renamed to IFTextRendererFactory.
15510         * WebCoreSupport.subproj/IFTextRenderer.h: Renamed from IFCachedTextRenderer.
15511         * WebCoreSupport.subproj/IFTextRenderer.m: Renamed from IFCachedTextRenderer.
15512         * WebCoreSupport.subproj/IFTextRendererFactory.h: Renamed from IFCachedTextRendererFactory.
15513         * WebCoreSupport.subproj/IFTextRendererFactory.m: Renamed from IFCachedTextRendererFactory.
15514         Renamed to take "Cached" out of the name now that the simpler name is
15515         available.
15516
15517         * WebView.subproj/IFWebView.mm:
15518         (-[IFWebView initWithFrame:]): Create shared IFWebCoreViewFactory.
15519         (-[IFWebView delayLayout:]): Use WEBKITDEBUG, not KWQDEBUG.
15520         (-[IFWebView notificationReceived:]): Use WEBKITDEBUG, not KWQDEBUG.
15521
15522 2002-05-07  Darin Adler  <darin@apple.com>
15523
15524         Use isEqualToString: instead of isEqual: more consistently. But only for strings.
15525
15526         * WebCoreSupport.subproj/IFCachedTextRendererFactory.m:
15527         (-[IFFontCacheKey isEqual:]):
15528         * WebView.subproj/IFBaseWebController.mm:
15529         (-[IFBaseWebController _frameNamed:fromFrame:]):
15530
15531 2002-05-06  John Sullivan  <sullivan@apple.com>
15532
15533         Some improvements to the bookmark changed notifications.
15534
15535         * Bookmarks.subproj/IFBookmarkGroup.h:
15536         * Bookmarks.subproj/IFBookmarkGroup.m:
15537         (-[IFBookmarkGroup _sendChangeNotificationForBookmark:childrenChanged:]):
15538         (-[IFBookmarkGroup _setTopBookmark:]):
15539         (-[IFBookmarkGroup _bookmarkDidChange:]):
15540         (-[IFBookmarkGroup _bookmarkChildrenDidChange:]):
15541         Send bookmark that changed and whether its children changed as part of
15542         change notifications, so clients can choose to do less unnecessary work.
15543
15544         * Bookmarks.subproj/IFBookmarkLeaf.m:
15545         (-[IFBookmarkLeaf setTitle:]): Check for the no-change case
15546         and bail out without sending notification when you find it.
15547
15548 2002-05-06  Darin Adler  <darin@apple.com>
15549
15550         * WebKitPrefix.h: Added.
15551         * WebKit.pbproj/project.pbxproj: Use PFE precompiling.
15552         Also switch from xNDEBUG to NDEBUG.
15553
15554         * Misc.subproj/WebKitDebug.h: Get rid of format attribute because of bug
15555         2920557. Switch from xNDEBUG to NDEBUG.
15556
15557         * Misc.subproj/WebKitDebug.m:
15558         Add undef to work around PFE problem with inline functions, Radar 2920554.
15559
15560         * Plugins.subproj/IFPluginView.mm: Changed how we work around the bug in
15561         the CGS defines.
15562
15563         * WebCoreSupport.subproj/IFCachedTextRenderer.h: Change include of the
15564         private QD header to use the form that works with more-normal way of
15565         getting at the private bits of frameworks.
15566
15567         * WebCoreSupport.subproj/IFCachedTextRenderer.m: Use the header
15568         <CoreGraphics/CoreGraphicsPrivate.h> instead of <CoreGraphics/CGFontPrivate.h>.
15569
15570         * Misc.subproj/IFCache.mm:
15571         * WebView.subproj/IFLoadProgress.mm:
15572         * WebView.subproj/IFWebFrame.mm:
15573         * WebView.subproj/IFWebFramePrivate.mm:
15574         * WebView.subproj/IFWebView.mm:
15575         Changed includes to imports.
15576
15577 2002-05-06  Chris Blumenberg  <cblu@apple.com>
15578
15579         Made start and stop work cleaner. 
15580
15581         Now observe defaults changes so that plug-ins
15582         are disabled or enabled immediately (2871725). 
15583
15584         * Plugins.subproj/IFPluginNullEventSender.m:
15585         (-[IFPluginNullEventSender sendNullEvents]):
15586         * Plugins.subproj/IFPluginView.h:
15587         * Plugins.subproj/IFPluginView.mm:
15588         (-[IFPluginView initWithFrame:plugin:url:mime:arguments:mode:]):
15589         (-[IFPluginView start]):
15590         (-[IFPluginView stop]):
15591         (-[IFPluginView drawRect:]):
15592         (-[IFPluginView windowWillClose:]):
15593         (-[IFPluginView defaultsHaveChanged:]):
15594
15595 2002-05-06  Richard J. Williamson  <rjw@apple.com>
15596
15597         Fixed width measurement regression.  We lost the final ROUND_TO_INT
15598         in the width measurement funtion after the move from WebCore.
15599         
15600         * WebCoreSupport.subproj/IFCachedTextRenderer.m:
15601         (-[IFCachedTextRenderer widthForCharacters:length:]):
15602
15603 2002-05-06  Richard J. Williamson  <rjw@apple.com>
15604
15605         Changes to support dhtml.
15606         
15607         * WebView.subproj/IFWebView.mm:
15608
15609 2002-05-06  John Sullivan  <sullivan@apple.com>
15610
15611         * Resources/url_icon.tiff: New bookmarks/history icon, looks
15612         more like the springy @ sign as seen from above, less like text.
15613
15614 2002-05-03  John Sullivan  <sullivan@apple.com>
15615
15616         Along with small corresponding WebBrowser change,       
15617         fixed 2919172 (Bookmarks aren't saved between sessions).
15618
15619         * Bookmarks.subproj/IFBookmark_Private.h: Declarations for new private methods.
15620         * Bookmarks.subproj/IFBookmark.m:
15621         (-[IFBookmark _numberOfDescendants]): New private method, counts deep; used
15622         only for debugging messages at this time.
15623         (-[IFBookmark _initFromDictionaryRepresentation:withGroup:]):
15624         (-[IFBookmark _dictionaryRepresentation]): New private methods used to save/load
15625         bookmarks. Stub implementations; subclasses must implement.
15626
15627         * Bookmarks.subproj/IFBookmarkLeaf.m:
15628         (-[IFBookmarkLeaf _initFromDictionaryRepresentation:withGroup:]):
15629         (-[IFBookmarkLeaf _dictionaryRepresentation]): New methods.
15630
15631         * Bookmarks.subproj/IFBookmarkList.m:
15632         (-[IFBookmarkList _initFromDictionaryRepresentation:withGroup:]):
15633         (-[IFBookmarkList _dictionaryRepresentation]):
15634         (-[IFBookmarkList _numberOfDescendants]):
15635         New methods.
15636         (-[IFBookmarkList _setGroup:]): Recurse on children.
15637
15638         * Bookmarks.subproj/IFBookmarkGroup.h: New _loading instance variable.
15639
15640         * Bookmarks.subproj/IFBookmarkGroup.m:
15641         (-[IFBookmarkGroup _setTopBookmark:]): Renamed from _resetTopBookmark,
15642         now has potentially non-nil argument.
15643         (-[IFBookmarkGroup initWithFile:]),
15644         (-[IFBookmarkGroup removeBookmark:]): Updated for name change.
15645         (-[IFBookmarkGroup _sendBookmarkGroupChangedNotification]):
15646         Don't send notifications while loading bookmarks from disk.
15647         (-[IFBookmarkGroup _loadBookmarkGroupGuts]),
15648         (-[IFBookmarkGroup loadBookmarkGroup]),
15649         (-[IFBookmarkGroup _saveBookmarkGroupGuts]),
15650         (-[IFBookmarkGroup saveBookmarkGroup]): New methods, load/save bookmarks
15651         and report timings.
15652
15653         * History.subproj/IFURIEntry.m:
15654         (-[IFURIEntry dictionaryRepresentation]),
15655         (-[IFURIEntry initFromDictionaryRepresentation:]): Handle nil URL
15656         case, which bookmarks run into.
15657
15658         * WebKit.pbproj/project.pbxproj: version wars
15659
15660 2002-05-03  Darin Adler  <darin@apple.com>
15661
15662         * WebCoreSupport.subproj/IFCachedTextRenderer.m: Remove some of the unused code.
15663         I was going to wait and let Richard do it next week, but I was unable to control
15664         my urge to hack on it.
15665
15666 2002-05-03  Darin Adler  <darin@apple.com>
15667
15668         * Resources/url_icon.tiff: Improved icon. Could be better.
15669
15670 2002-05-03  Darin Adler  <darin@apple.com>
15671
15672         * Misc.subproj/WebKitDebug.h: Add WEBKIT_LOG_MEMUSAGE, WEBKIT_LOG_FONTCACHE, and
15673         WEBKIT_LOG_FONTCACHECHARMISS for font code moved here from WebCore.
15674
15675         * Resources/url_icon.tiff: New URL icon?
15676
15677         * WebCoreSupport.subproj/IFCachedTextRenderer.h: Added.
15678         * WebCoreSupport.subproj/IFCachedTextRenderer.m: Added.
15679         * WebCoreSupport.subproj/IFCachedTextRendererFactory.h: Added.
15680         * WebCoreSupport.subproj/IFCachedTextRendererFactory.m: Added.
15681         This has code moved here from WebCore.
15682
15683         * WebKit.pbproj/project.pbxproj: Add the new source files.
15684
15685         * Bookmarks.subproj/IFBookmarkLeaf.m:
15686         (-[IFBookmarkLeaf setURLString:]): Use copy instead of initWithString.
15687         * Bookmarks.subproj/IFBookmarkList.m:
15688         (-[IFBookmarkList initWithTitle:image:group:]): Use copy instead of stringWithString.
15689         (-[IFBookmarkList setTitle:]): Use copy instead of stringWithString.
15690         * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _setTitle:]):
15691         Use mutableCopy instead of stringWithString.
15692         * WebView.subproj/IFWebView.mm: (-[IFWebView initWithFrame:]): Use copy instead
15693         of stringWithString.
15694
15695 2002-05-02  John Sullivan  <sullivan@apple.com>
15696
15697         Changed API such that mutating methods can now be called on bookmark objects,
15698         which in turn tell their group that they have changed (so the group can send
15699         out notifications).
15700
15701         * Bookmarks.subproj/IFBookmark.h:
15702         * Bookmarks.subproj/IFBookmark.m:
15703         (-[IFBookmark setTitle:]):
15704         (-[IFBookmark setImage:]):
15705         (-[IFBookmark setURLString:]):
15706         (-[IFBookmark insertChild:atIndex:]):
15707         (-[IFBookmark removeChild:]):
15708         (-[IFBookmark _parent]):
15709         (-[IFBookmark _group]):
15710         * Bookmarks.subproj/IFBookmarkGroup.h:
15711         * Bookmarks.subproj/IFBookmarkGroup.m:
15712         (-[IFBookmarkGroup _resetTopBookmark]):
15713         (-[IFBookmarkGroup _bookmarkDidChange:]):
15714         (-[IFBookmarkGroup _bookmarkChildrenDidChange:]):
15715         (-[IFBookmarkGroup removeBookmark:]):
15716         (-[IFBookmarkGroup insertNewBookmarkAtIndex:ofBookmark:withTitle:image:URLString:isLeaf:]):
15717         * Bookmarks.subproj/IFBookmarkLeaf.m:
15718         (-[IFBookmarkLeaf setTitle:]):
15719         (-[IFBookmarkLeaf setImage:]):
15720         (-[IFBookmarkLeaf setURLString:]):
15721         * Bookmarks.subproj/IFBookmarkList.m:
15722         (-[IFBookmarkList setTitle:]):
15723         (-[IFBookmarkList setImage:]):
15724         (-[IFBookmarkList removeChild:]):
15725         (-[IFBookmarkList insertChild:atIndex:]):
15726         * Bookmarks.subproj/IFBookmark_Private.h:
15727         Made _parent and _group private; made setTitle, setImage, setURLString,
15728         insertChild:atIndex:, and removeChild: public.
15729
15730         * Bookmarks.subproj/IFBookmarkGroup_Private.h: Added.
15731         * WebKit.pbproj/project.pbxproj: Changed for new file.
15732
15733 2002-05-02  John Sullivan  <sullivan@apple.com>
15734
15735         Implemented removing the root node bookmark (i.e.,
15736         removing all bookmarks with one call).
15737
15738         * Bookmarks.subproj/IFBookmarkGroup.m:
15739         (-[IFBookmarkGroup _resetTopBookmark]): New method, releases
15740         old topBookmark and creates new one.
15741         (-[IFBookmarkGroup initWithFile:]): Call _resetTopBookmark.
15742         (-[IFBookmarkGroup removeBookmark:]): If the bookmark being
15743         removed is the top one, call _resetTopBookmark.
15744
15745 2002-05-02  John Sullivan  <sullivan@apple.com>
15746
15747         Some more implementation of bookmarks code, enough to support
15748         adding bookmarks to the Bookmarks menu (but not yet enough to
15749         support persistent bookmarks).
15750
15751         * Bookmarks.subproj/IFBookmark_Private.h:
15752         * Bookmarks.subproj/IFBookmark.h:
15753         * Bookmarks.subproj/IFBookmark.m:
15754         (-[IFBookmark numberOfChildren]): New public method, stub implementation.
15755         (-[IFBookmark _removeChild:]): New private method, stub implementation.
15756
15757         * Bookmarks.subproj/IFBookmarkGroup.h:
15758         * Bookmarks.subproj/IFBookmarkGroup.m:
15759         (-[IFBookmarkGroup _sendBookmarkGroupChangedNotification]):
15760         (-[IFBookmarkGroup removeBookmark:]):
15761         (-[IFBookmarkGroup addNewBookmarkToBookmark:withTitle:image:URLString:isLeaf:]):
15762         (-[IFBookmarkGroup insertNewBookmarkAtIndex:ofBookmark:withTitle:image:URLString:isLeaf:]):
15763         (-[IFBookmarkGroup updateBookmark:title:image:URLString:]):
15764         Changed "URL" to "URLString" in several places, added a "with"
15765         to some parameter names; added addNewBookmarkToBookmark public 
15766         method; added notification that's sent when bookmarks are added or removed.
15767
15768         * Bookmarks.subproj/IFBookmarkLeaf.h:
15769         * Bookmarks.subproj/IFBookmarkLeaf.m:
15770         (-[IFBookmarkLeaf initWithURLString:title:image:group:]):
15771         Added image parameter.
15772
15773         * Bookmarks.subproj/IFBookmarkList.m:
15774         (-[IFBookmarkList numberOfChildren]): New method.
15775         (-[IFBookmarkList _removeChild:]): Implemented.
15776
15777 2002-04-30  John Sullivan  <sullivan@apple.com>
15778
15779         Added initial set of files/API and some of the code for
15780         bookmarks support. Nobody calls it yet, but it compiles.
15781         I wanted to get this in before I ran into project file
15782         merge conflicts.
15783
15784         * Bookmarks.subproj/IFBookmark.h: Added.
15785         * Bookmarks.subproj/IFBookmark_Private.h: Added.
15786         * Bookmarks.subproj/IFBookmark.m: Added.
15787         (-[IFBookmark dealloc]):
15788         (-[IFBookmark title]):
15789         (-[IFBookmark _setTitle:]):
15790         (-[IFBookmark image]):
15791         (-[IFBookmark _setImage:]):
15792         (-[IFBookmark isLeaf]):
15793         (-[IFBookmark URLString]):
15794         (-[IFBookmark _setURLString:]):
15795         (-[IFBookmark children]):
15796         (-[IFBookmark _insertChild:atIndex:]):
15797         (-[IFBookmark parent]):
15798         (-[IFBookmark _setParent:]):
15799         (-[IFBookmark group]):
15800         (-[IFBookmark _setGroup:]):
15801         * Bookmarks.subproj/IFBookmarkGroup.h: Added.
15802         * Bookmarks.subproj/IFBookmarkGroup.m: Added.
15803         (+[IFBookmarkGroup bookmarkGroupWithFile:]):
15804         (-[IFBookmarkGroup initWithFile:]):
15805         (-[IFBookmarkGroup dealloc]):
15806         (-[IFBookmarkGroup topBookmark]):
15807         (-[IFBookmarkGroup insertBookmark:atIndex:ofBookmark:]):
15808         (-[IFBookmarkGroup removeBookmark:]):
15809         (-[IFBookmarkGroup insertNewBookmarkAtIndex:ofBookmark:title:image:URL:isLeaf:]):
15810         (-[IFBookmarkGroup updateBookmark:title:image:URL:]):
15811         (-[IFBookmarkGroup file]):
15812         (-[IFBookmarkGroup loadBookmarkGroup]):
15813         (-[IFBookmarkGroup saveBookmarkGroup]):
15814         * Bookmarks.subproj/IFBookmarkLeaf.h: Added.
15815         * Bookmarks.subproj/IFBookmarkLeaf.m: Added.
15816         (-[IFBookmarkLeaf dealloc]):
15817         (-[IFBookmarkLeaf title]):
15818         (-[IFBookmarkLeaf _setTitle:]):
15819         (-[IFBookmarkLeaf image]):
15820         (-[IFBookmarkLeaf _setImage:]):
15821         (-[IFBookmarkLeaf isLeaf]):
15822         (-[IFBookmarkLeaf URLString]):
15823         (-[IFBookmarkLeaf _setURLString:]):
15824         * Bookmarks.subproj/IFBookmarkList.h: Added.
15825         * Bookmarks.subproj/IFBookmarkList.m: Added.
15826         (-[IFBookmarkList initWithTitle:image:group:]):
15827         (-[IFBookmarkList dealloc]):
15828         (-[IFBookmarkList title]):
15829         (-[IFBookmarkList _setTitle:]):
15830         (-[IFBookmarkList image]):
15831         (-[IFBookmarkList _setImage:]):
15832         (-[IFBookmarkList isLeaf]):
15833         (-[IFBookmarkList children]):
15834         (-[IFBookmarkList _insertChild:atIndex:]):
15835
15836         * WebKit.pbproj/project.pbxproj: Updated for new files.
15837
15838 2002-04-29  Richard Williamson  <rjw@apple.com>
15839
15840         Fix to 2915688.  I wasn't checking if the main document error had an error, only
15841         the resource errors.
15842         
15843         * WebView.subproj/IFWebFramePrivate.mm:
15844         (-[IFWebFrame _isLoadComplete]):
15845
15846 2002-04-29  Richard Williamson  <rjw@apple.com>
15847
15848         Restored file, line, and function to log messages.
15849         
15850         * Misc.subproj/WebKitDebug.m:
15851         (WebKitLog):
15852
15853 2002-04-25  Darin Adler  <darin@apple.com>
15854
15855         * History.subproj/IFWebHistoryPrivate.m:
15856         (-[IFWebHistoryPrivate _loadHistoryGuts:]): Use NSDictionary instead
15857         of NSObject to avoid a cast.
15858
15859         * WebView.subproj/IFLocationChangeHandler.h: Add NSObject as a required
15860         protocol so we can retain and release.
15861         * WebView.subproj/IFWebController.h: Add NSObject as a required protocol
15862         so we can retain and release.
15863
15864         * WebView.subproj/IFWebDataSourcePrivate.mm:
15865         (-[IFWebDataSourcePrivate dealloc]):
15866         (-[IFWebDataSource _setLoading:]):
15867         (-[IFWebDataSource _setController:]):
15868         (-[IFWebDataSource _setLocationChangeHandler:]):
15869         * WebView.subproj/IFWebViewPrivate.mm:
15870         (-[IFWebViewPrivate dealloc]):
15871         Removed NSObject * casts that were used to work around the problem fixed above.
15872
15873 2002-04-25  Chris Blumenberg  <set EMAIL_ADDRESS environment variable>
15874
15875         * MIME.subproj/IFDownloadHandler.h:
15876         * MIME.subproj/IFDownloadHandler.mm:
15877         (+[IFDownloadHandler launchURL:]):
15878
15879         Added the above method as a way to universally launch an URL
15880         within WebKit
15881
15882         * WebView.subproj/IFBaseWebController.mm:
15883         (-[IFBaseWebController URLPolicyForURL:]):
15884
15885         We handle http, https and file URL's
15886
15887         * WebView.subproj/IFWebDataSource.mm:
15888         (-[IFWebDataSource initWithURL:]):
15889         (-[IFWebDataSource startLoading:]):
15890
15891         The IFURLHandle is now lazilly allocated.
15892
15893         * WebView.subproj/IFWebFrame.mm:
15894         (-[IFWebFrame setProvisionalDataSource:]):
15895
15896         We only load a data source if the URL policy is IFURLPolicyUseContentPolicy
15897
15898 2002-04-25  Richard Williamson  <rjw@apple.com>
15899
15900         Fixed problem with errors potentially being reported on
15901         wrong data source by moving collected errors from frame
15902         to datasource.
15903         
15904         Little changes in preparation for events.
15905         
15906         * WebView.subproj/IFBaseWebControllerPrivate.mm:
15907         (-[IFBaseWebController _receivedProgress:forResource:fromDataSource:]):
15908         (-[IFBaseWebController _mainReceivedProgress:forResource:fromDataSource:]):
15909         (-[IFBaseWebController _receivedError:forResource:partialProgress:fromDataSource:]):
15910         (-[IFBaseWebController _mainReceivedError:forResource:partialProgress:fromDataSource:]):
15911         * WebView.subproj/IFWebDataSource.h:
15912         * WebView.subproj/IFWebDataSource.mm:
15913         (-[IFWebDataSource errors]):
15914         (-[IFWebDataSource mainDocumentError]):
15915         * WebView.subproj/IFWebDataSourcePrivate.h:
15916         * WebView.subproj/IFWebDataSourcePrivate.mm:
15917         (-[IFWebDataSourcePrivate dealloc]):
15918         (-[IFWebDataSource _startLoading:]):
15919         (-[IFWebDataSource _setMainDocumentError:]):
15920         (-[IFWebDataSource _clearErrors]):
15921         (-[IFWebDataSource _addError:forResource:]):
15922         * WebView.subproj/IFWebFrame.h:
15923         * WebView.subproj/IFWebFrame.mm:
15924         (-[IFWebFrame reload:]):
15925         (-[IFWebFrame reset]):
15926         * WebView.subproj/IFWebFramePrivate.h:
15927         * WebView.subproj/IFWebFramePrivate.mm:
15928         (-[IFWebFramePrivate dealloc]):
15929         (-[IFWebFrame _isLoadComplete]):
15930         (-[IFWebFrame _checkLoadComplete]):
15931         * WebView.subproj/IFWebView.mm:
15932         (-[IFWebView acceptsFirstResponder]):
15933         (-[IFWebView layout]):
15934         (-[IFWebView drawRect:]):
15935
15936 2002-04-25  Darin Adler  <darin@apple.com>
15937
15938         Rework plugin code to prepare to move more of here from WebCore.
15939
15940         * Plugins.subproj/IFPluginView.mm:
15941         (IFPluginViewCreate): New. Does all the work of creating an NSView
15942         for a plug-in, including stuff previously done in WebCore.
15943         (IFJavaAppletViewCreate): Same as above, for Java applets.
15944         (+[IFPluginView load]): Set up the function pointers using the new
15945         improved WebCore API.
15946
15947         * Plugins.subproj/IFNullPluginView.mm:
15948         (-[IFNullPluginView load]): Remove this setup because now there's
15949         no separate call to set up a null plug-in.
15950
15951 2002-04-25  John Sullivan  <sullivan@apple.com>
15952
15953         Fixed 2911915 (Exception in -[IFWebView mouseMoved])
15954
15955         * WebView.subproj/IFWebView.mm:
15956         (-[IFWebView mouseDown:]): Changed "mouseUp" to "mouseDown"
15957         in exception message.
15958
15959         (-[IFWebView mouseMoved:]): Removed bogus event-type checking
15960         that caused this method to (always?) throw an exception when
15961         invoked.
15962
15963 2002-04-24  Chris Blumenberg  <cblu@apple.com>
15964
15965         Renamed [IFWebDataSource frame] to [IFWebDataSource webFrame]
15966
15967         * WebView.subproj/IFBaseWebControllerPrivate.mm:
15968         (-[IFBaseWebController _receivedProgress:forResource:fromDataSource:]):
15969         (-[IFBaseWebController _mainReceivedProgress:forResource:fromDataSource:]):
15970         (-[IFBaseWebController _receivedError:forResource:partialProgress:fromDataSource:]):
15971         (-[IFBaseWebController _mainReceivedError:forResource:partialProgress:fromDataSource:]):
15972         * WebView.subproj/IFMainURLHandleClient.mm:
15973         (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]):
15974         * WebView.subproj/IFWebDataSource.h:
15975         * WebView.subproj/IFWebDataSource.mm:
15976         (-[IFWebDataSource webFrame]):
15977         (-[IFWebDataSource frameName]):
15978         (-[IFWebDataSource isLoading]):
15979         * WebView.subproj/IFWebDataSourcePrivate.mm:
15980         (-[IFWebDataSource _startLoading:]):
15981         (-[IFWebDataSource _setTitle:]):
15982
15983 2002-04-24  Richard Williamson  <rjw@apple.com>
15984
15985         Changed ordering of messages so activity viewer doesn't get -1 bytesSoFar
15986         for cancelled messages.
15987         
15988         * WebView.subproj/IFBaseWebControllerPrivate.mm:
15989         (-[IFBaseWebController _receivedProgress:forResource:fromDataSource:]):
15990         (-[IFBaseWebController _mainReceivedProgress:forResource:fromDataSource:]):
15991
15992 === Alexander 0.3c2 (v1) ===
15993
15994 2002-04-23  Chris Blumenberg  <cblu@apple.com>
15995
15996         * WebKit.pbproj/project.pbxproj:
15997
15998         Took IFDownloadHandler.h out of the public headers.
15999
16000         * WebView.subproj/IFLocationChangeHandler.h:
16001
16002         Removed deprecated methods.
16003
16004         * WebView.subproj/IFWebFrame.mm:
16005         (-[IFWebFrame setProvisionalDataSource:]):
16006
16007         Don't call locationChangeStarted anymore.
16008
16009 2002-04-23  Chris Blumenberg  <cblu@apple.com>
16010
16011         * MIME.subproj/IFDownloadHandler.h:
16012         * MIME.subproj/IFDownloadHandler.m: Removed.
16013         * MIME.subproj/IFDownloadHandler.mm: Added.
16014         (-[IFDownloadHandler initWithDataSource:]):
16015         (-[IFDownloadHandler dealloc]):
16016         * MIME.subproj/IFDownloadHandlerPrivate.h: Removed.
16017         * MIME.subproj/IFDownloadHandlerPrivate.m: Removed.
16018
16019         Made IFDownloadHandler a private class that retains the data source
16020         and saves the data to disk.
16021
16022         * WebKit.pbproj/project.pbxproj:
16023
16024         Removed IFDownloadHandlerPrivate
16025
16026         * WebView.subproj/IFBaseWebControllerPrivate.mm:
16027         (-[IFBaseWebController _mainReceivedProgress:forResource:fromDataSource:]):
16028
16029         Only send locationChangeCommitted if its shown inline.
16030
16031         * WebView.subproj/IFMainURLHandleClient.mm:
16032         (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]):
16033         
16034         Save data with IFDownloadHandler
16035
16036         (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]):
16037         
16038         If its a download, set the provisionalDataSource on the frame to nil.   
16039
16040         * WebView.subproj/IFWebDataSource.h:
16041         * WebView.subproj/IFWebDataSource.mm:
16042         (-[IFWebDataSource webFrame]):
16043         (-[IFWebDataSource pageTitle]):
16044         (-[IFWebDataSource contentPolicy]):
16045
16046         Added some accessor methods. Spelling fix pageTitle.
16047
16048 2002-04-23  Kenneth Kocienda  <kocienda@apple.com>
16049
16050         Reviewed by: Darin Adler
16051
16052         Fix for Radar 2908403 (Fix names in WebFoundation extensions code)
16053
16054         Extensions code in WebFoundation now is in its own namespace.
16055         Where we have added categories to existing Foundation and AppKit
16056         classes, the categories begin with the IF prefix. All method names
16057         begin with the _IF_ prefix.
16058
16059         This file here was changed to use the new names.
16060
16061         * History.subproj/IFWebHistoryPrivate.m:
16062         (-[IFWebHistoryPrivate findIndex:forDay:]):
16063         (-[IFWebHistoryPrivate arrayRepresentation]):
16064         (-[IFWebHistoryPrivate _loadHistoryGuts:]):
16065
16066 2002-04-22  Chris Blumenberg  <cblu@apple.com>
16067
16068         * WebView.subproj/IFMainURLHandleClient.mm:
16069         (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]):
16070
16071         Send an IFError when we're asked to show content we can't handle.
16072
16073         * WebView.subproj/IFWebDataSourcePrivate.mm:
16074
16075         Cleaning
16076
16077 2002-04-22  Chris Blumenberg  <cblu@apple.com>
16078
16079         * WebKit.pbproj/project.pbxproj:
16080         * WebView.subproj/IFBaseWebController.mm:
16081         (-[IFBaseWebController haveContentPolicy:andPath:forLocationChangeHandler:]):
16082         * WebView.subproj/IFWebDataSourcePrivate.h:
16083         * WebView.subproj/IFWebDataSourcePrivate.mm:
16084
16085         Fixed frames which I broke in the previous commit. We now set the content policy
16086         on all child frames instead of just the main frame.     
16087
16088 2002-04-22  Chris Blumenberg  <cblu@apple.com>
16089
16090         * MIME.subproj/IFMIMEHandler.h:
16091         * MIME.subproj/IFMIMEHandler.m:
16092         (+[IFMIMEHandler showableMIMETypes]):
16093         (+[IFMIMEHandler saveFileWithPath:andData:]):
16094         (+[IFMIMEHandler saveAndOpenFileWithPath:andData:]):
16095
16096         Added the above factory methods.
16097
16098         * WebView.subproj/IFBaseWebController.mm:
16099         (-[IFBaseWebController haveContentPolicy:andPath:forLocationChangeHandler:]):
16100         
16101         Save the content policy and download path on the datasource.
16102
16103         * WebView.subproj/IFMainURLHandleClient.mm:
16104         (-[IFMainURLHandleClient IFURLHandleResourceDidCancelLoading:]):
16105         (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]):
16106         (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]):
16107         (-[IFMainURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]):
16108         
16109         Made IFMainURLHandleClient use our new content policy API rather than
16110         IFDownloadHandler.
16111         
16112         * WebView.subproj/IFWebController.h:
16113
16114         Removed some deprecated methods.
16115
16116         * WebView.subproj/IFWebDataSourcePrivate.h:
16117         * WebView.subproj/IFWebDataSourcePrivate.mm:
16118         (-[IFWebDataSource _downloadPath]):
16119         (-[IFWebDataSource _setDownloadPath:]):
16120         (-[IFWebDataSource _contentPolicy]):
16121         (-[IFWebDataSource _setContentPolicy:]):
16122
16123         Added the above methods.
16124
16125 2002-04-22  Darin Adler  <darin@apple.com>
16126
16127         * Plugins.subproj/IFPluginView.mm:
16128         (-[IFPluginView initWithFrame:plugin:url:mime:arguments:mode:]):
16129         Fix the fix. It was bumping argsCount even when not putting an
16130         argument into the array.
16131
16132 2002-04-21  Maciej Stachowiak  <mjs@apple.com>
16133
16134         Fix a plugins memory trasher that was making Alexander crash on
16135         the abcnews.com test page in cvs-torture-test:
16136
16137         * Plugins.subproj/IFPluginView.mm:
16138         (-[IFPluginView initWithFrame:plugin:url:mime:arguments:mode:]):
16139         Use a new maxArguments variable to size the argument and value
16140         arrays - with the old code argsCount would end up twice the size
16141         it should be, and the arguments would all get written past the end
16142         of the argument array.
16143
16144 2002-04-19  Kenneth Kocienda  <kocienda@apple.com>
16145
16146         Changes to support submission of forms using HTTP POST.
16147
16148         These changes move us over to using the new WebKit interface for creating 
16149         WebDataSource instances, one that passes a handle rather than just a URL, 
16150         enabling the specific request method to be communicated to WebFoundation.
16151         This fixes:
16152
16153         Radar 2903602 (IFWebDataSource API must passes attributes and flags to IFURLHandle)
16154
16155         * WebKit.pbproj/project.pbxproj:
16156         * WebView.subproj/IFWebDataSource.h:
16157         * WebView.subproj/IFWebDataSource.mm: (IFWebDataSourceMake), (-[IFWebDataSource
16158         initWithURL:]), (-[IFWebDataSource initWithHandle:]):
16159         * WebView.subproj/IFWebDataSourcePrivate.h:
16160         * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _startLoading:]):
16161
16162 2002-04-19  Richard Williamson  <rjw@apple.com>
16163
16164         Updated comments to reflect new API.
16165         
16166         * WebView.subproj/IFLocationChangeHandler.h:
16167
16168 2002-04-19  Darin Adler  <darin@apple.com>
16169
16170         * Plugins.subproj/IFPluginView.h: Re-add the attributes and values arrays,
16171         since they need to live the life of the plugin.
16172         * Plugins.subproj/IFPluginView.mm: (newCString): New function to make a C++
16173         new-allocated C string from an NSString.
16174         (-[IFPluginView initWithFrame:plugin:url:mime:arguments:mode:]): Move code
16175         to allocate the arrays back here.
16176         (-[IFPluginView dealloc]): Deallocate the arrays and their contents.
16177         (-[IFPluginView start]): Simplify now that it does no work.
16178
16179 2002-04-18  Chris Blumenberg  <cblu@apple.com>
16180
16181         Made stop and start to work better. Fixed a bug darin made.
16182         
16183         * Plugins.subproj/IFPluginView.h:
16184         * Plugins.subproj/IFPluginView.mm: (-[IFPluginView
16185         initWithFrame:plugin:url:mime:arguments:mode:]), (-[IFPluginView setWindow]),
16186         (-[IFPluginView start]), (-[IFPluginView stop]):
16187
16188 2002-04-18  Richard Williamson  <rjw@apple.com>
16189
16190         Fixed typo.
16191
16192         * WebView.subproj/IFBaseLocationChangeHandler.m: (-[IFBaseLocationChangeHandler
16193         requestContentPolicyForMIMEType:]):
16194         * WebView.subproj/IFLocationChangeHandler.h:
16195
16196 2002-04-18  Richard Williamson  <rjw@apple.com>
16197
16198         New API stubs for content policy.
16199         
16200         * WebView.subproj/IFBaseLocationChangeHandler.h: Added.
16201         * WebView.subproj/IFBaseLocationChangeHandler.m: Added.
16202          (+[IFBaseLocationChangeHandler setGlobalContentPolicy:forMIMEType:]),
16203         (+[IFBaseLocationChangeHandler globaContentPolicyForContentType:]),
16204         (+[IFBaseLocationChangeHandler globalContentPolicies]),
16205         (+[IFBaseLocationChangeHandler suggestedFileanemForURL:andContentType:]),
16206         (+[IFBaseLocationChangeHandler suggestedDirectoryForURL:andContentType:]),
16207         (+[IFBaseLocationChangeHandler extensionForURL:]), (-[IFBaseLocationChangeHandler
16208         extension]), (-[IFBaseLocationChangeHandler locationWillChangeTo:]),
16209         (-[IFBaseLocationChangeHandler locationChangeStarted]),
16210         (-[IFBaseLocationChangeHandler locationChangeCommitted]),
16211         (-[IFBaseLocationChangeHandler locationChangeDone:]),
16212         (-[IFBaseLocationChangeHandler receivedPageTitle:forDataSource:]),
16213         (-[IFBaseLocationChangeHandler serverRedirectTo:forDataSource:]),
16214         (-[IFBaseLocationChangeHandler downloadingWithHandler:]),
16215         (-[IFBaseLocationChangeHandler requestContentPolicyForContentMIMEType:]),
16216         (-[IFBaseLocationChangeHandler unableToImplementContentPolicy:]):
16217         * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController
16218         receivedError:forDownloadHandler:partialProgress:]), (-[IFBaseWebController
16219         provideLocationChangeHandlerForFrame:andURL:]), (-[IFBaseWebController
16220         URLPolicyForURL:]), (-[IFBaseWebController
16221         unableToImplementURLPolicyForURL:error:]), (-[IFBaseWebController
16222         haveContentPolicy:andPath:forLocationChangeHandler:]):
16223         * WebView.subproj/IFLocationChangeHandler.h:
16224         * WebView.subproj/IFWebController.h:
16225         * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _setState:]):
16226
16227 2002-04-18  Darin Adler  <darin@apple.com>
16228
16229         * WebKit.pbproj/project.pbxproj: Oops. Take out -Wstrict-prototypes, put back
16230         -Wmissing-prototypes.
16231
16232 2002-04-18  Darin Adler  <darin@apple.com>
16233
16234         * WebKit.pbproj/project.pbxproj: Take out -Wmissing-prototypes
16235         because system headers are triggering it when we don't have
16236         precompiled headers on.
16237
16238 2002-04-18  Darin Adler  <darin@apple.com>
16239
16240         Fixes for compiling with gcc3 and more warnings.
16241
16242         * WebKit.pbproj/project.pbxproj: Turn on gcc3 and the same set of warnings
16243         as in the rest of Labyrinth (see top level ChangeLog for details).
16244
16245         * Plugins.subproj/IFPluginView.mm:
16246         Avoid warnings about malloc by not using it.
16247         (-[IFPluginView initWithFrame:plugin:url:mime:arguments:mode:]): Keep the arguments
16248         dictionary around instead of keeping the C format version of it around. Also don't
16249         bother keeping the C string form of the MIME type around, and simplify some other
16250         stuff in here.
16251         (-[IFPluginView dealloc]): Corresponding changes since we keep a different set of things.
16252         (-[IFPluginView newStream:mimeType:notifyData:]): Use [mimeType cString].
16253         (-[IFPluginView start]): Build the lists of attributes and values in here. Do it using
16254         [NSString cString] for simplicity and don't keep the lists around after we're done with
16255         them.
16256         (-[IFPluginView IFURLHandleResourceDidFinishLoading:data:]): Use [filenameClassic cString].
16257
16258         * WebView.subproj/IFMainURLHandleClient.mm:
16259         (-[IFMainURLHandleClient IFURLHandleResourceDidCancelLoading:]),
16260         (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]),
16261         (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]),
16262         (-[IFMainURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]):
16263         * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSourcePrivate dealloc]),
16264         (-[IFWebDataSource _setLoading:]), (-[IFWebDataSource _setController:]),
16265         (-[IFWebDataSource _setLocationChangeHandler:]):
16266         * WebView.subproj/IFWebView.mm: (-[IFWebView provisionalDataSourceChanged:]),
16267         (-[IFWebView mouseUp:]), (-[IFWebView mouseDown:]):
16268         Add type casts required by pickier gcc3.
16269
16270         * WebView.subproj/IFWebViewPrivate.mm: (-[IFWebViewPrivate dealloc]):
16271         Add type cast required by pickier gcc3.
16272         (-[IFWebView _stopPlugins]): Use local variable to work around Radar 2905835.
16273
16274 2002-04-18  Chris Blumenberg  <cblu@apple.com>
16275
16276         Moved plugin instance creation to the start method in IFPluginView.
16277
16278         * Plugins.subproj/IFPluginView.h:
16279         * Plugins.subproj/IFPluginView.mm: (-[IFPluginView
16280         initWithFrame:plugin:url:mime:arguments:mode:]), (-[IFPluginView dealloc]),
16281         (-[IFPluginView newStream:mimeType:notifyData:]), (-[IFPluginView start]),
16282         (-[IFPluginView stop]), (-[IFPluginView drawRect:]), (-[IFPluginView
16283         windowBecameKey:]), (-[IFPluginView windowResignedKey:]), (-[IFPluginView
16284         IFURLHandle:resourceDataDidBecomeAvailable:]), (-[IFPluginView
16285         IFURLHandleResourceDidFinishLoading:data:]):
16286         
16287
16288 2002-04-17  Darin Adler  <darin@apple.com>
16289
16290         * WebKit.pbproj/project.pbxproj: Update header search paths to find
16291         WebCore in the new location and eliminate WebCore/include.
16292
16293 2002-04-17  Chris Blumenberg  <cblu@apple.com>
16294
16295         Added a debug bit mask for plugins and downloads.
16296
16297         * MIME.subproj/IFDownloadHandlerPrivate.m: (-[IFDownloadHandlerPrivate
16298         _openFile]), (-[IFDownloadHandlerPrivate _saveFile]), (-[IFDownloadHandler
16299         _initWithURLHandle:mimeHandler:]):
16300         * Misc.subproj/WebKitDebug.h:
16301         * Plugins.subproj/IFPluginView.mm: (-[IFPluginView
16302         initWithFrame:plugin:url:mime:arguments:mode:]), (-[IFPluginView setWindow]),
16303         (-[IFPluginView newStream:mimeType:notifyData:]), (-[IFPluginView stop]),
16304         (-[IFPluginView sendUpdateEvent]), (-[IFPluginView becomeFirstResponder]),
16305         (-[IFPluginView resignFirstResponder]), (-[IFPluginView mouseDown:]),
16306         (-[IFPluginView mouseUp:]), (-[IFPluginView mouseEntered:]), (-[IFPluginView
16307         mouseExited:]), (-[IFPluginView keyUp:]), (-[IFPluginView keyDown:]),
16308         (-[IFPluginView IFURLHandle:resourceDataDidBecomeAvailable:]), (-[IFPluginView
16309         IFURLHandleResourceDidFinishLoading:data:]), (-[IFPluginView
16310         getURLNotify:target:notifyData:]), (-[IFPluginView getURL:target:]),
16311         (-[IFPluginView postURLNotify:target:len:buf:file:notifyData:]), (-[IFPluginView
16312         postURL:target:len:buf:file:]), (-[IFPluginView newStream:target:stream:]),
16313         (-[IFPluginView write:len:buffer:]), (-[IFPluginView destroyStream:reason:]),
16314         (-[IFPluginView status:]), (-[IFPluginView getValue:value:]), (-[IFPluginView
16315         setValue:value:]), (-[IFPluginView invalidateRect:]), (-[IFPluginView
16316         invalidateRegion:]), (-[IFPluginView forceRedraw]):
16317         * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient
16318         IFURLHandle:resourceDataDidBecomeAvailable:]):
16319
16320 2002-04-17  Darin Adler  <darin@apple.com>
16321
16322         * WebView.subproj/IFPreferences.mm: (+[IFPreferences load]):
16323         Changed another Georgia that I missed to Times New Roman.
16324
16325 2002-04-16  Darin Adler  <darin@apple.com>
16326
16327         * WebView.subproj/IFWebDataSource.mm:
16328         * WebView.subproj/IFWebDataSourcePrivate.mm:
16329         Touch these files to try to make Jersey build again.
16330
16331 2002-04-16  Darin Adler  <darin@apple.com>
16332
16333         * WebView.subproj/IFBaseWebControllerPrivate.mm: Include khtml_part.h instead
16334         of KWQKHTMLPart.h.
16335
16336         * WebView.subproj/IFWebFrame.mm: Include khtml_part.h instead of KWQKHTMLPart.h.
16337
16338         * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource documentTextFromDOM]):
16339         Remove an unneeded cast and an extra retain/autorelease.
16340
16341 2002-04-16  Darin Adler  <darin@apple.com>
16342
16343         * WebView.subproj/IFWebFrame.h:
16344         * WebView.subproj/IFWebFrame.mm:
16345         * WebView.subproj/IFWebFramePrivate.h:
16346         Change view/setView back to be id, rather than IFWebView.
16347         In the future, the view may be some other kind of object.
16348
16349 2002-04-16  John Sullivan  <sullivan@apple.com>
16350
16351         Fixed bug Chris noticed where Alexander wasn't putting up
16352         an error sheet on failed page visits.
16353
16354         * WebView.subproj/IFWebFramePrivate.mm: 
16355         (-[IFWebFrame _isLoadComplete]): Don't set provisionalDataSource
16356         to nil until after sending it locationChangeDone.
16357
16358 2002-04-16  Darin Adler  <darin@apple.com>
16359
16360         * WebView.subproj/IFBaseWebController.mm: Remove special release handling because
16361         data sources now retain the controller as long as they are loading.
16362
16363         * WebView.subproj/IFWebDataSource.mm: Remove special release handling because
16364         data sources now retain themselves as long as they are loading.
16365
16366         * WebView.subproj/IFWebFrame.mm: Remove special release handling, because
16367         data sources now retain the controller as long as they are loading, and the
16368         controller retains the frame.
16369
16370         * WebView.subproj/IFWebDataSourcePrivate.h: Add a "loading" boolean.
16371         * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _setLoading:]):
16372         Change the "loading" state, retaining or releasing this object and the controller
16373         as necessary.
16374         (-[IFWebDataSource _updateLoading]): Update the loading state; called when
16375         some part of loading is done to see if it's all done.
16376         (-[IFWebDataSource _setController:]): Retain the new controller and release the
16377         old controller when loading.
16378         (-[IFWebDataSource _setPrimaryLoadComplete:]): Call _updateLoading.
16379         (-[IFWebDataSource _startLoading:]): Call _setLoading:YES.
16380         (-[IFWebDataSource _addURLHandle:]): Call _setLoading:YES.
16381         (-[IFWebDataSource _removeURLHandle:]): Call _updateLoading.
16382
16383         * WebView.subproj/IFWebFrame.h: Use the real type, IFWebView, for setView and view.
16384         * WebView.subproj/IFWebFramePrivate.h: Formatting tweak.
16385         * WebKit.pbproj/project.pbxproj: Version wars.
16386
16387 2002-04-16  John Sullivan  <sullivan@apple.com>
16388
16389         * WebView.subproj/IFWebViewPrivate.mm: 
16390         (-[IFWebView _setController:]): removed a mistaken
16391         retain/release pair here for Darin.
16392
16393 2002-04-16  Darin Adler  <darin@apple.com>
16394
16395         Change default font to "Times New Roman 11" rather than
16396         "Georgia 12" to be more like Macintosh Internet Explorer.
16397
16398         * WebView.subproj/IFPreferences.mm:
16399
16400         A little simplifying of private pointers.
16401
16402         * MIME.subproj/IFDownloadHandler.h:
16403         * MIME.subproj/IFDownloadHandler.m:
16404
16405 2002-04-16  Darin Adler  <darin@apple.com>
16406
16407         A little simplifying of private pointers.
16408
16409         * MIME.subproj/IFDownloadHandler.m:
16410         * MIME.subproj/IFDownloadHandlerPrivate.m:
16411         * WebView.subproj/IFBaseWebController.mm:
16412         * WebView.subproj/IFWebDataSource.h:
16413         * WebView.subproj/IFWebDataSource.mm:
16414         * WebView.subproj/IFWebDataSourcePrivate.mm:
16415         * WebView.subproj/IFWebFrame.h:
16416         * WebView.subproj/IFWebFrame.mm:
16417         * WebView.subproj/IFWebFramePrivate.mm:
16418         * WebView.subproj/IFWebView.h:
16419         * WebView.subproj/IFWebView.mm:
16420         * WebView.subproj/IFWebViewPrivate.h:
16421         * WebView.subproj/IFWebViewPrivate.mm:
16422
16423 2002-04-16  Darin Adler  <darin@apple.com>
16424
16425         Change headers so they don't include so much.
16426         Also change IF_LOAD_TYPE to IFLoadType.
16427
16428         * History.subproj/IFBackForwardList.h:
16429         * History.subproj/IFBackForwardList.m:
16430         * History.subproj/IFURIEntry.h:
16431         * History.subproj/IFURIList.h:
16432         * History.subproj/IFURIList.m:
16433         * History.subproj/IFWebHistory.h:
16434         * History.subproj/IFWebHistoryPrivate.h:
16435         * History.subproj/IFWebHistoryPrivate.m:
16436         * MIME.subproj/IFContentHandler.h:
16437         * MIME.subproj/IFDownloadHandler.h:
16438         * MIME.subproj/IFDownloadHandlerPrivate.h:
16439         * MIME.subproj/IFDownloadHandlerPrivate.m:
16440         * MIME.subproj/IFMIMEDatabase.h:
16441         * MIME.subproj/IFMIMEDatabase.m:
16442         * Misc.subproj/IFException.h:
16443         * Plugins.subproj/IFNullPluginView.mm:
16444         * Plugins.subproj/IFPluginView.h:
16445         * Plugins.subproj/IFPluginView.mm:
16446         * WebKit.pbproj/project.pbxproj:
16447         * WebView.subproj/IFBaseWebController.h:
16448         * WebView.subproj/IFBaseWebController.mm:
16449         * WebView.subproj/IFBaseWebControllerPrivate.h:
16450         * WebView.subproj/IFBaseWebControllerPrivate.mm:
16451         * WebView.subproj/IFLoadProgress.h:
16452         * WebView.subproj/IFLoadProgress.mm:
16453         * WebView.subproj/IFLocationChangeHandler.h:
16454         * WebView.subproj/IFMainURLHandleClient.h:
16455         * WebView.subproj/IFMainURLHandleClient.mm:
16456         * WebView.subproj/IFPreferences.h:
16457         * WebView.subproj/IFPreferencesPrivate.h:
16458         * WebView.subproj/IFWebController.h:
16459         * WebView.subproj/IFWebDataSource.h:
16460         * WebView.subproj/IFWebDataSource.mm:
16461         * WebView.subproj/IFWebDataSourcePrivate.h:
16462         * WebView.subproj/IFWebDataSourcePrivate.mm:
16463         * WebView.subproj/IFWebFrame.h:
16464         * WebView.subproj/IFWebFrame.mm:
16465         * WebView.subproj/IFWebFramePrivate.h:
16466         * WebView.subproj/IFWebFramePrivate.mm:
16467         * WebView.subproj/IFWebView.h:
16468         * WebView.subproj/IFWebView.mm:
16469         * WebView.subproj/IFWebViewPrivate.h:
16470         * WebView.subproj/IFWebViewPrivate.mm:
16471
16472 2002-04-16  Kenneth Kocienda  <kocienda@apple.com>
16473
16474         Moved IFError class from WebKit to WebFoundation.
16475         Updated includes due to this change.
16476         Updated URL handle client interface to pass an IFError in
16477         an error callback rather than a plain int. The URL client was
16478         modified due to this change.
16479
16480         * Misc.subproj/IFError.h: Removed.
16481         * Misc.subproj/IFError.m: Removed.
16482         * Plugins.subproj/IFPluginView.mm:
16483         * WebKit.pbproj/project.pbxproj:
16484         * WebView.subproj/IFBaseWebControllerPrivate.mm:
16485         * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient
16486         IFURLHandle:resourceDidFailLoadingWithResult:]):
16487         * WebView.subproj/IFWebFramePrivate.mm:
16488
16489 2002-04-15  Darin Adler  <darin@apple.com>
16490
16491         * WebView.subproj/IFPreferences.h:
16492         * WebView.subproj/IFPreferences.mm: (+[IFPreferences load]): Remove the old
16493         WebKitFontSizes preference.
16494         (-[IFPreferences mediumFontSize]), (-[IFPreferences setMediumFontSize:]): New.
16495
16496         * WebView.subproj/IFWebView.mm: (-[IFWebView reapplyStyles]): Call
16497         updateStyleSelector() instead of recalcStyle().
16498
16499 2002-04-15  Darin Adler  <darin@apple.com>
16500
16501         Merged changes from previous merge branch.
16502
16503         2002-03-25  Darin Adler  <darin@apple.com>
16504
16505         * WebView.subproj/IFPreferences.mm: (+[IFPreferences load]):
16506         Add WebKitMediumFontSizePreferenceKey.
16507
16508 2002-04-15  John Sullivan  <sullivan@apple.com>
16509
16510         * Plugins.subproj/IFNullPluginView.mm: (-[IFNullPluginView drawRect:]):
16511         Moved a line of code to prevent pluginNotFound message from being
16512         sent twice.
16513
16514 2002-04-15  Richard Williamson  <rjw@apple.com>
16515
16516         Changes to IFLocationChangeHandler.
16517         
16518         Experimental allocator code, not to be used, not thread safe.!
16519         
16520         * Misc.subproj/WebKitDebug.h:
16521         * Misc.subproj/WebKitDebug.m: (if_check_zone), (_debugAllocate),
16522         (_debugAllocatorInitialize), (printDebugMallocCounters), (if_cf_retain),
16523         (if_cf_release), (if_cf_alloc), (if_cf_realloc), (if_cf_dealloc),
16524         (if_cf_preferredSize), (setupDebugMalloc), (clearDebugMalloc),
16525         (resetDebugMallocCounters), (public_mALLOc), (public_fREe), (public_rEALLOc),
16526         (public_mEMALIGn), (public_vALLOc), (public_pVALLOc), (public_cALLOc),
16527         (public_iCALLOc), (public_iCOMALLOc), (public_cFREe), (public_mTRIm),
16528         (public_mUSABLe), (public_mSTATs), (public_mALLINFo), (public_mALLOPt),
16529         (do_check_malloc_state), (mALLINFo), (mSTATs), (if_size), (if_valloc),
16530         (if_malloc), (if_realloc), (if_calloc), (if_free):
16531         * WebKit.pbproj/project.pbxproj:
16532         * WebView.subproj/IFBaseWebController.h:
16533         * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController
16534         provideLocationChangeHandlerForFrame:]):
16535         * WebView.subproj/IFLocationChangeHandler.h: Added.
16536         * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient
16537         IFURLHandle:resourceDataDidBecomeAvailable:]), (-[IFMainURLHandleClient
16538         IFURLHandle:didRedirectToURL:]):
16539         * WebView.subproj/IFWebController.h:
16540         * WebView.subproj/IFWebDataSource.mm: (+[IFWebDataSource load]):
16541         * WebView.subproj/IFWebDataSourcePrivate.h:
16542         * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSourcePrivate dealloc]),
16543         (-[IFWebDataSource _startLoading:]), (-[IFWebDataSource _setTitle:]),
16544         (-[IFWebDataSource _locationChangeHandler]), (-[IFWebDataSource
16545         _setLocationChangeHandler:]):
16546         * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame setProvisionalDataSource:]):
16547         * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame
16548         _transitionProvisionalToCommitted]), (-[IFWebFrame _isLoadComplete]):
16549
16550 2002-04-15  Chris Blumenberg  <set EMAIL_ADDRESS environment variable>
16551
16552         * MIME.subproj/IFContentHandler.m: (-[IFContentHandler HTMLDocument]):
16553
16554         Made sure I didn't unnecessarily allocate html document strings
16555
16556         * MIME.subproj/IFDownloadHandler.h:
16557         * MIME.subproj/IFDownloadHandler.m: (-[IFDownloadHandler suggestedFilename]),
16558         (-[IFDownloadHandler openAfterDownload:]):
16559
16560         Added the mentioned API's
16561
16562         * MIME.subproj/IFDownloadHandlerPrivate.h:
16563         * MIME.subproj/IFDownloadHandlerPrivate.m: (-[IFDownloadHandlerPrivate init]),
16564         (-[IFDownloadHandlerPrivate dealloc]), (-[IFDownloadHandlerPrivate
16565         _suggestedFilename]), (-[IFDownloadHandlerPrivate _cancelDownload]),
16566         (-[IFDownloadHandlerPrivate _storeAtPath:]), (-[IFDownloadHandlerPrivate
16567         _finishedDownload]), (-[IFDownloadHandlerPrivate _openAfterDownload:]),
16568         (-[IFDownloadHandlerPrivate _openFile]), (-[IFDownloadHandlerPrivate _saveFile]),
16569         (-[IFDownloadHandler _initWithURLHandle:mimeHandler:]):
16570
16571         Cleaned up and added a lot error checking code to IFDownloadHandlerPrivate
16572
16573         * Plugins.subproj/IFNullPluginView.mm: (-[IFNullPluginView
16574         initWithFrame:mimeType:arguments:]), (-[IFNullPluginView drawRect:]):
16575
16576         Made sure I didn't unnecessarily allocate images
16577
16578         * Resources/plugin_document_template.html:
16579
16580         Plugins now have 100% of the window
16581
16582 2002-04-12  Chris Blumenberg  <cblu@apple.com>
16583
16584         Fixed build failure. Forgot to make IFDownloadHandler.h
16585         a public header.
16586
16587         * WebKit.pbproj/project.pbxproj:
16588
16589 2002-04-12 Chris Blumenberg <cblu@apple.com>
16590
16591         First implementation of IFDownloadHandler and IFDownloadHandlerPrivate.
16592
16593 2002-04-11  Chris Blumenberg  <cblu@apple.com>
16594
16595         Added support for non-html content. Non-html content is embedded in a
16596         contrived HTML document.
16597
16598         * English.lproj/IFError.strings:
16599         * MIME.subproj/IFContentHandler.h: Added.
16600         * MIME.subproj/IFContentHandler.m: Added.
16601          (-[IFContentHandler initWithMIMEHandler:URL:]), (-[IFContentHandler
16602         HTMLDocument]), (-[IFContentHandler dealloc]):
16603         * MIME.subproj/IFMIMEDatabase.h:
16604         * MIME.subproj/IFMIMEDatabase.m: (-[IFMIMEDatabase MIMEHandlerForMIMEType:]),
16605         (setMimeHandlers):
16606         * MIME.subproj/IFMIMEHandler.h:
16607         * MIME.subproj/IFMIMEHandler.m: (-[IFMIMEHandler
16608         initWithMIMEType:handlerType:handlerName:]), (-[IFMIMEHandler description]):
16609         * Misc.subproj/IFError.h:
16610         * Misc.subproj/IFError.m: (+[IFError initialize]):
16611         * Plugins.subproj/IFPluginView.mm: (-[IFPluginView
16612         initWithFrame:plugin:url:mime:arguments:mode:]), (-[IFPluginView dealloc]),
16613         (-[IFPluginView stop]):
16614         * Resources/plugin_document_template.html: Added.
16615         * Resources/text_document_template.html: Added.
16616         * WebKit.pbproj/project.pbxproj:
16617         * WebView.subproj/IFMainURLHandleClient.h:
16618         * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient
16619         initWithDataSource:part:]), (-[IFMainURLHandleClient dealloc]),
16620         (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]),
16621         (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]):
16622
16623 2002-04-10  Chris Blumenberg  <cblu@apple.com>
16624
16625         Cleaned up stream deallocations.
16626
16627         * Plugins.subproj/IFPluginStream.h:
16628         * Plugins.subproj/IFPluginStream.m: (-[IFPluginStream
16629         initWithURL:mimeType:notifyData:]), (-[IFPluginStream incrementOffset:]),
16630         (-[IFPluginStream dealloc]):
16631         * Plugins.subproj/IFPluginView.mm: (-[IFPluginView
16632         newStream:mimeType:notifyData:]), (-[IFPluginView
16633         IFURLHandleResourceDidCancelLoading:]), (-[IFPluginView
16634         IFURLHandle:resourceDidFailLoadingWithResult:]):
16635
16636 2002-04-10  John Sullivan  <sullivan@apple.com>
16637
16638         Fixed 2891396 -- window fills with garbage if you resize or hide/show toolbar
16639         before loading first page
16640
16641         * WebView.subproj/IFWebView.mm: (-[IFWebView drawRect:]):
16642         Made webview fill rect with white if there's no widget.
16643
16644 2002-04-09  Chris Blumenberg  <cblu@apple.com>
16645
16646         * Plugins.subproj/IFPluginView.h:
16647         * Plugins.subproj/IFPluginView.mm: (-[IFPluginView
16648         initWithFrame:plugin:url:mime:arguments:mode:]), (-[IFPluginView setWindow]),
16649         (-[IFPluginView newStream:mimeType:notifyData:]), (-[IFPluginView start]),
16650         (-[IFPluginView stop]), (-[IFPluginView dealloc]), (-[IFPluginView
16651         findSuperview:]), (-[IFPluginView sendUpdateEvent]), (-[IFPluginView drawRect:]),
16652         (-[IFPluginView isFlipped]), (-[IFPluginView viewHasMoved:]), (-[IFPluginView
16653         windowBecameKey:]), (-[IFPluginView windowResignedKey:]), (-[IFPluginView
16654         windowWillClose:]), (-[IFPluginView IFURLHandleResourceDidBeginLoading:]),
16655         (-[IFPluginView IFURLHandle:resourceDataDidBecomeAvailable:]), (-[IFPluginView
16656         IFURLHandleResourceDidFinishLoading:data:]), (-[IFPluginView
16657         IFURLHandleResourceDidCancelLoading:]), (-[IFPluginView
16658         IFURLHandle:resourceDidFailLoadingWithResult:]), (-[IFPluginView
16659         IFURLHandle:didRedirectToURL:]), (-[IFPluginView forceRedraw]), (IFPluginMake),
16660         (+[IFPluginView load]):
16661         * WebKit.pbproj/project.pbxproj:
16662         * WebView.subproj/IFLoadProgress.h:
16663
16664         Cleaned up the IFPluginView code. Moved a lot of things around. 
16665
16666         Added support for plug-in file download progress.
16667
16668 2002-04-08  Chris Blumenberg  <cblu@apple.com>
16669
16670         * Plugins.subproj/IFPluginView.h:
16671         * Plugins.subproj/IFPluginView.mm: (-[IFPluginView
16672         initWithFrame:plugin:url:mime:arguments:mode:]), (-[IFPluginView drawRect:]),
16673         (-[IFPluginView newStream:mimeType:notifyData:]), (-[IFPluginView
16674         getURLNotify:target:notifyData:]):
16675
16676         Support new stream requests from plug-ins that are relative URL's.
16677
16678 2002-04-08  Darin Adler  <darin@apple.com>
16679
16680         * WebKit.pbproj/project.pbxproj: Re-added -Wno-format-y2k.
16681
16682 2002-04-08  Richard Williamson  <rjw@apple.com>
16683
16684         Added logs for Shelley to note start and completion of document load.
16685         -WebKitLogLevel 0x1000.  Also, as a bonus, note time to load.
16686         
16687         * Misc.subproj/WebKitDebug.h:
16688         * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame startLoading]):
16689         * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _setState:]):
16690
16691 2002-04-08  Chris Blumenberg  <cblu@apple.com>
16692
16693         * Plugins.subproj/IFNullPluginView.h:
16694         * Plugins.subproj/IFNullPluginView.mm: (-[IFNullPluginView
16695         initWithFrame:mimeType:arguments:]), (-[IFNullPluginView drawRect:]):
16696         * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController
16697         pluginNotFoundForMIMEType:pluginPageURL:]):
16698         * WebView.subproj/IFWebController.h:
16699
16700         Added pluginNotFoundForMIMEType: pluginPageURL: to WebKit. This gets called
16701         by IFNullPluginView when a plug-in for a certain mime type is requested but 
16702         not installed.
16703
16704 2002-04-08  Richard Williamson  <rjw@apple.com>
16705
16706         Added frameForView:
16707         Cleaned up out-of-date comments.
16708         
16709         * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController
16710         _frameForView:fromFrame:]), (-[IFBaseWebController frameForView:]):
16711         * WebView.subproj/IFWebController.h:
16712
16713 2002-04-05  Chris Blumenberg  <cblu@apple.com>
16714
16715         * Plugins.subproj/IFNullPluginView.mm: (+[IFNullPluginView load]):
16716
16717         Enabled the below.
16718
16719 2002-04-05  Chris Blumenberg  <cblu@apple.com>
16720
16721         * Plugins.subproj/IFNullPluginView.h: Added.
16722         * Plugins.subproj/IFNullPluginView.mm: Added.
16723          (-[IFNullPluginView initWithFrame:mimeType:arguments:]), (-[IFNullPluginView
16724         findSuperview:]), (-[IFNullPluginView drawRect:]):
16725         * Resources/nullplugin.tiff: Added.
16726         * WebKit.pbproj/project.pbxproj:
16727
16728         An IFNullPluginView is now created when no plug-in for a requested
16729         mime type is found. IFNullPluginView displays a null plug-in icon
16730         and will eventually report this error to the WebController.
16731
16732 2002-04-05  Richard Williamson  <rjw@apple.com>
16733
16734         Back out some changes to lazily dealloc frame.
16735         
16736         * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame release]):
16737
16738 2002-04-05  Richard Williamson  <rjw@apple.com>
16739
16740         New method on controller to find a frame of a particular name
16741         anywhere in the frame hierarchy.
16742         
16743         * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController
16744         initWithView:provisionalDataSource:]), (-[IFBaseWebController
16745         _frameNamed:fromFrame:]), (-[IFBaseWebController frameNamed:]):
16746         * WebView.subproj/IFWebController.h:
16747
16748 2002-04-05  Darin Adler  <darin@apple.com>
16749
16750         * WebView.subproj/IFMainURLHandleClient.mm:
16751         (-[IFMainURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]):
16752         Use contentLengthReceived rather than getting the length of
16753         availableResourceData to determine how much data has arrived.
16754
16755 2002-04-05  Richard Williamson  <rjw@apple.com>
16756
16757         Implemented the same lazily deallocation scheme on frame as in controller
16758         and data source.
16759         
16760         * WebView.subproj/IFWebFrame.mm: (-[_IFFrameHolder initWithObject:]),
16761         (-[_IFFrameHolder _checkReadyToDealloc:]), (-[IFWebFrame release]):
16762
16763 2002-04-04  Richard Williamson  <rjw@apple.com>
16764
16765         Clear controller references from data source and view, as well as 
16766         frame.
16767         
16768         * WebView.subproj/IFBaseWebControllerPrivate.mm: (-[IFBaseWebControllerPrivate
16769         _clearControllerReferences:]):
16770
16771 2002-04-04  Richard Williamson  <rjw@apple.com>
16772
16773         Lazily dealloc controller and data source ONLY after all loads
16774         have completed.
16775         
16776         * WebView.subproj/IFBaseWebController.mm: (-[_IFControllerHolder
16777         initWithController:]), (-[_IFControllerHolder _checkReadyToDealloc:]),
16778         (-[IFBaseWebController dealloc]), (-[IFBaseWebController release]):
16779         * WebView.subproj/IFBaseWebControllerPrivate.mm: (-[IFBaseWebControllerPrivate
16780         _clearControllerReferences:]), (-[IFBaseWebControllerPrivate dealloc]):
16781         * WebView.subproj/IFWebDataSource.mm: (-[_IFDataSourceHolder
16782         initWithDataSource:]), (-[_IFDataSourceHolder _checkReadyToDealloc:]),
16783         (-[IFWebDataSource release]):
16784
16785 2002-04-04  Kenneth Kocienda  <kocienda@apple.com>
16786
16787         Hack to handle displaying image URLs. The trick is to sense when
16788         the main URL is an image type and wrap the URL in a small generated
16789         HTML document and hand that off to the engine to display.
16790
16791         Works like a charm! :)
16792
16793         There may be some longer-term issues, but for now, this lets us
16794         do something we could not before. It also lets us handle some iframes
16795         that contain only image URLs.
16796
16797         * Resources/image_document_template.html: Added.
16798         * WebKit.pbproj/project.pbxproj:
16799         * WebView.subproj/IFMainURLHandleClient.h:
16800         * WebView.subproj/IFMainURLHandleClient.mm: (loadImageDocumentTemplate),
16801         (-[IFMainURLHandleClient initWithDataSource:part:]), (-[IFMainURLHandleClient
16802         IFURLHandle:resourceDataDidBecomeAvailable:]):
16803
16804 2002-04-04  Chris Blumenberg  <cblu@apple.com>
16805
16806         * English.lproj/IFError.strings:
16807         * Misc.subproj/IFError.h:
16808         * Misc.subproj/IFError.m: (+[IFError initialize]):
16809         * WebKit.pbproj/project.pbxproj:
16810         * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient
16811         IFURLHandle:resourceDataDidBecomeAvailable:]):
16812
16813         Added the IFNonHTMLContentNotSupportedError to IFError.
16814
16815 2002-04-04  Richard Williamson  <rjw@apple.com>
16816
16817         Tuned and re-enabled resource layouts.
16818         
16819         * WebView.subproj/IFPreferences.mm: (+[IFPreferences load]):
16820         * WebView.subproj/IFWebFramePrivate.h:
16821         * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _scheduleLayout:]),
16822         (-[IFWebFrame _timedLayout:]):
16823
16824 2002-04-04  Darin Adler  <darin@apple.com>
16825
16826         * WebKit.pbproj/project.pbxproj: Add an Unoptimized build
16827         style: exactly like Development except without the -O.
16828
16829 2002-04-03  Richard Williamson  <rjw@apple.com>
16830
16831         Changed name of finalURL to redirectedURL.
16832         Disabled layout after resource load.  It appears to really slow us down.
16833         
16834         * WebView.subproj/IFPreferences.mm: (+[IFPreferences load]):
16835         * WebView.subproj/IFWebController.h:
16836         * WebView.subproj/IFWebDataSource.h:
16837         * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource redirectedURL]),
16838         (-[IFWebDataSource wasRedirected]):
16839         * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _isLoadComplete]):
16840
16841 2002-04-03  Richard Williamson  <rjw@apple.com>
16842
16843         Added support for finalURL and wasRedirected to datasource.
16844         Added additional layouts on resource loads.
16845         Added more implementations of frame related methods in data source.
16846         
16847         * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient
16848         IFURLHandle:didRedirectToURL:]):
16849         * WebView.subproj/IFPreferences.mm: (+[IFPreferences load]), (-[IFPreferences
16850         _resourceTimedLayoutDelay]), (-[IFPreferences _resourceTimedLayoutEnabled]):
16851         * WebView.subproj/IFPreferencesPrivate.h:
16852         * WebView.subproj/IFWebDataSource.h:
16853         * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource frameNames]),
16854         (-[IFWebDataSource findDataSourceForFrameNamed:]), (-[IFWebDataSource
16855         frameExists:]), (-[IFWebDataSource finalURL]), (-[IFWebDataSource
16856         wasRedirected]):
16857         * WebView.subproj/IFWebDataSourcePrivate.h:
16858         * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSourcePrivate dealloc]),
16859         (-[IFWebDataSource _setTitle:]), (-[IFWebDataSource _setFinalURL:]):
16860         * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _scheduleLayout:]),
16861         (-[IFWebFrame _transitionProvisionalToLayoutAcceptable]), (-[IFWebFrame
16862         _isLoadComplete]):
16863
16864 2002-04-03  Kenneth Kocienda  <kocienda@apple.com>
16865
16866         Updated debugging log messages to use new varargs macros.
16867
16868         * History.subproj/IFWebHistoryPrivate.m: (-[IFWebHistoryPrivate
16869         removeEntryForURLString:]), (-[IFWebHistoryPrivate _loadHistoryGuts:]),
16870         (-[IFWebHistoryPrivate loadHistory]), (-[IFWebHistoryPrivate _saveHistoryGuts:]),
16871         (-[IFWebHistoryPrivate saveHistory]):
16872         * Misc.subproj/WebKitDebug.h:
16873         * Misc.subproj/WebKitDebug.m: (timestamp), (WebKitLog):
16874         * Plugins.subproj/IFPluginView.mm: (-[IFPluginView
16875         initWithFrame:plugin:url:mime:arguments:mode:]), (-[IFPluginView setWindow]),
16876         (-[IFPluginView newStream:mimeType:notifyData:]), (-[IFPluginView
16877         IFURLHandle:resourceDataDidBecomeAvailable:]), (-[IFPluginView
16878         IFURLHandleResourceDidFinishLoading:data:]), (-[IFPluginView
16879         becomeFirstResponder]), (-[IFPluginView resignFirstResponder]), (-[IFPluginView
16880         sendUpdateEvent]), (-[IFPluginView mouseDown:]), (-[IFPluginView mouseUp:]),
16881         (-[IFPluginView mouseEntered:]), (-[IFPluginView mouseExited:]), (-[IFPluginView
16882         keyUp:]), (-[IFPluginView keyDown:]), (-[IFPluginView
16883         getURLNotify:target:notifyData:]), (-[IFPluginView getURL:target:]),
16884         (-[IFPluginView status:]), (-[IFPluginView stop]):
16885         * WebKit.pbproj/project.pbxproj:
16886         * WebView.subproj/IFBaseWebControllerPrivate.mm: (-[IFBaseWebController
16887         _receivedProgress:forResource:fromDataSource:]), (-[IFBaseWebController
16888         _mainReceivedProgress:forResource:fromDataSource:]):
16889         * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient
16890         IFURLHandleResourceDidBeginLoading:]), (-[IFMainURLHandleClient
16891         IFURLHandleResourceDidCancelLoading:]), (-[IFMainURLHandleClient
16892         IFURLHandleResourceDidFinishLoading:data:]), (-[IFMainURLHandleClient
16893         IFURLHandle:resourceDataDidBecomeAvailable:]), (-[IFMainURLHandleClient
16894         IFURLHandle:resourceDidFailLoadingWithResult:]), (-[IFMainURLHandleClient
16895         IFURLHandle:didRedirectToURL:]):
16896         * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource isLoading]):
16897         * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _stopLoading]):
16898         * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame
16899         _transitionProvisionalToLayoutAcceptable]), (-[IFWebFrame _timedLayout:]),
16900         (-[IFWebFrame _setState:]), (-[IFWebFrame _isLoadComplete]):
16901         * WebView.subproj/IFWebView.mm: (-[IFWebView reapplyStyles]), (-[IFWebView
16902         layout]), (-[IFWebView setNeedsDisplay:]), (-[IFWebView setNeedsLayout:]),
16903         (-[IFWebView setNeedsToApplyStyles:]), (-[IFWebView drawRect:]):
16904
16905 2002-04-02  Darin Adler  <darin@apple.com>
16906
16907         * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _setTitle:]):
16908         Update title if the page is already in the committed state.
16909
16910 2002-04-02  Darin Adler  <darin@apple.com>
16911
16912         * WebKit.pbproj/project.pbxproj: Fix flags as I did in WebFoundation.
16913
16914         * Misc.subproj/WebKitDebug.h: Turn off logging when xNDEBUG is defined.
16915         Remove unused stuff. Add checking for printf parameters.
16916         * Misc.subproj/WebKitDebug.m: Remove unused variants.
16917
16918         * Plugins.subproj/IFPluginView.mm: Change to use WebKit logging, not
16919         WebCore logging.
16920
16921         * WebView.subproj/IFMainURLHandleClient.mm:
16922         * WebView.subproj/IFWebView.mm:
16923         Fix types in log statements caught by the compiler.
16924
16925 2002-04-02  Chris Blumenberg  <cblu@apple.com>
16926
16927         * Plugins.subproj/IFPluginView.mm: (-[IFPluginView
16928         IFURLHandleResourceDidCancelLoading:]), (-[IFPluginView
16929         IFURLHandle:resourceDidFailLoadingWithResult:]), (-[IFPluginView
16930         IFURLHandle:didRedirectToURL:]):
16931
16932         Added support for the above callbacks.
16933
16934         * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient
16935         IFURLHandle:resourceDataDidBecomeAvailable:]):
16936
16937         Return an error if non-html is requested.       
16938
16939 2002-04-02  Richard Williamson  <rjw@apple.com>
16940
16941         More relaxed about invalid states.
16942         
16943         * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame
16944         _transitionProvisionalToLayoutAcceptable]):
16945
16946 2002-04-02  Darin Adler  <darin@apple.com>
16947
16948         * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _setTitle:]):
16949         Fix a leak I introduced here by copying the string in a better way.
16950
16951 2002-04-01  Richard Williamson  <rjw@apple.com>
16952
16953         Cleaned up lots of potentially stale references to controller.
16954         
16955         * WebView.subproj/IFBaseWebControllerPrivate.mm: (-[IFBaseWebControllerPrivate
16956         dealloc]):
16957         * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient
16958         initWithDataSource:part:]), (-[IFMainURLHandleClient dealloc]):
16959         * WebView.subproj/IFWebDataSource.h:
16960         * WebView.subproj/IFWebDataSource.mm:
16961         * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSourcePrivate dealloc]),
16962         (-[IFWebDataSource _setPrimaryLoadComplete:]), (-[IFWebDataSource _setTitle:]):
16963         * WebView.subproj/IFWebFramePrivate.h:
16964         * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFramePrivate dealloc]),
16965         (-[IFWebFramePrivate setDataSource:]), (-[IFWebFramePrivate
16966         setProvisionalDataSource:]), (-[IFWebFrame _setController:]), (-[IFWebFrame
16967         _transitionProvisionalToCommitted]), (-[IFWebFrame _timedLayout:]), (-[IFWebFrame
16968         _setState:]):
16969
16970 2002-04-01  Richard Williamson  <rjw@apple.com>
16971
16972         Logging changes.
16973         Changes to support correct i/frame behavior.
16974     
16975         * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController
16976         createFrameNamed:for:inParent:inScrollView:]):
16977         * WebView.subproj/IFWebController.h:
16978         * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _timedLayout:]):
16979         * WebView.subproj/IFWebViewPrivate.mm: (-[IFWebViewPrivate dealloc]),
16980         (-[IFWebView _setupScrollers]):
16981
16982 2002-04-01  John Sullivan  <sullivan@apple.com>
16983
16984         Added method for updating url, title, and/or displayTitle
16985         on existing entry.
16986
16987         * History.subproj/IFWebHistory.h:
16988         * History.subproj/IFWebHistory.m: 
16989         (-[IFWebHistory updateURL:title:displayTitle:forURL:]):
16990         Calls through to IFWebHistoryPrivate.
16991
16992         * History.subproj/IFWebHistoryPrivate.h:
16993         * History.subproj/IFWebHistoryPrivate.m: 
16994         (-[IFWebHistoryPrivate _entryForURLString:]): Broke this out
16995         from containsURL.
16996         (-[IFWebHistoryPrivate containsURL:]): Call broken-out method.
16997         (-[IFWebHistoryPrivate updateURL:title:displayTitle:forURL:]):
16998         Find existing entry (if any), change its attributes.
16999
17000 2002-04-01  Darin Adler  <darin@apple.com>
17001
17002         * Misc.subproj/IFError.h: Add the failing URL to IFError.
17003         * Misc.subproj/IFError.m: (-[IFError initWithErrorCode:]): Call through
17004         with nil for the URL.
17005         (-[IFError initWithErrorCode:failingURL:]): Retain the passed URL.
17006         (-[IFError dealloc]): Autorelease the URL.
17007         (-[IFError failingURL]): Return the URL.
17008         (-[IFError description]): Include the URL in the description.
17009
17010         * WebView.subproj/IFBaseWebControllerPrivate.mm:
17011         (-[IFBaseWebController _receivedProgress:forResource:fromDataSource:]),
17012         (-[IFBaseWebController _mainReceivedProgress:forResource:fromDataSource:]):
17013         Put the URL into the IFError.
17014
17015         * WebView.subproj/IFMainURLHandleClient.mm:
17016         (-[IFMainURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]):
17017         Put the URL into the IFError.
17018
17019 2002-04-01  Richard Williamson  <rjw@apple.com>
17020
17021         Added more logging to show time of layouts.
17022         
17023         * WebView.subproj/IFWebFramePrivate.h:
17024         * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame
17025         _transitionProvisionalToLayoutAcceptable]), (-[IFWebFrame _timedLayout:]),
17026         (-[IFWebFrame _isLoadComplete]):
17027         * WebView.subproj/IFWebView.mm: (-[IFWebView reapplyStyles]), (-[IFWebView
17028         layout]):
17029
17030 2002-04-01  Darin Adler  <darin@apple.com>
17031
17032         Added operations for JavaScript objects. Not sure if this was the best
17033         place for them, but it should be OK for now.
17034
17035         * Misc.subproj/IFCache.h:
17036         * Misc.subproj/IFCache.mm: (+[IFCache setDisabled:]), (+[IFCache
17037         javaScriptObjectsCount]), (+[IFCache garbageCollectJavaScriptObjects]):
17038         * WebKit.pbproj/project.pbxproj:
17039
17040 2002-03-30  Richard Williamson  <rjw@apple.com>
17041
17042         Corrected comments describing the new 'acceptable to layout' state
17043         transition.
17044         
17045         * WebView.subproj/IFBaseWebControllerPrivate.mm: (-[IFBaseWebController
17046         _mainReceivedProgress:forResource:fromDataSource:]):
17047
17048 2002-03-30  Darin Adler  <darin@apple.com>
17049
17050         * WebView.subproj/IFBaseWebController.mm:
17051         (-[IFBaseWebController receivedPageTitle:forDataSource:]):
17052         Remove the exception from here. This is really a "do nothing,
17053         subclasses override me" method.
17054
17055         * WebView.subproj/IFWebDataSource.mm:
17056         (-[IFWebDataSource pageTitle]): Implement.
17057
17058         * WebView.subproj/IFWebDataSourcePrivate.h: Add pageTitle
17059         and [IFWebDataSource _setTitle].
17060         * WebView.subproj/IFWebDataSourcePrivate.mm:
17061         (-[IFWebDataSourcePrivate dealloc]): autorelease pageTitle.
17062         (-[IFWebDataSource _setTitle:]): Update the title, trimming
17063         whitespace and using nil, rather than empty string, to mean
17064         no title at all. Call [receivedPageTitle: forDataSource:]
17065         as necessary too.
17066
17067         * WebView.subproj/IFMainURLHandleClient.mm: Did a gratuitious
17068         whitespace edit to force this file to recompile so everyone
17069         doesn't have to "make clean".
17070
17071 2002-03-30  Richard Williamson  <rjw@apple.com>
17072
17073         Added support for scrolling to anchor points.
17074         
17075         * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _isLoadComplete]):
17076
17077 2002-03-30  Maciej Stachowiak  <mjs@apple.com>
17078
17079         * WebKit.pbproj/project.pbxproj: Link against
17080         JavaScriptCore.framework instead of the defunct
17081         libJavaScriptCore.dylib.
17082
17083 2002-03-29  Richard Williamson  <rjw@apple.com>
17084
17085         Fixes for cancelling.  Still need to think about a better
17086         solution than putting data sources in stopped mode.
17087         
17088         * WebView.subproj/IFBaseWebControllerPrivate.mm: (-[IFBaseWebController
17089         _receivedProgress:forResource:fromDataSource:]), (-[IFBaseWebController
17090         _mainReceivedProgress:forResource:fromDataSource:]), (-[IFBaseWebController
17091         _receivedError:forResource:partialProgress:fromDataSource:]),
17092         (-[IFBaseWebController
17093         _mainReceivedError:forResource:partialProgress:fromDataSource:]):
17094         * WebView.subproj/IFWebDataSourcePrivate.h:
17095         * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _startLoading:]),
17096         (-[IFWebDataSource _isStopping]), (-[IFWebDataSource _stopLoading]):
17097         * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame setProvisionalDataSource:]):
17098
17099 2002-03-29  Richard Williamson  <rjw@apple.com>
17100
17101         Hooked up redirect.  Now we see many more ads.  :(
17102         Fixed cancel of main handle for document.
17103         Moved stop before start from frame to data source.
17104
17105         * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController
17106         locationChangeDone:forFrame:]), (-[IFBaseWebController
17107         serverRedirectTo:forDataSource:]):
17108         * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient
17109         IFURLHandleResourceDidCancelLoading:]), (-[IFMainURLHandleClient
17110         IFURLHandleResourceDidFinishLoading:data:]), (-[IFMainURLHandleClient
17111         IFURLHandle:resourceDidFailLoadingWithResult:]), (-[IFMainURLHandleClient
17112         IFURLHandle:didRedirectToURL:]):
17113         * WebView.subproj/IFWebDataSourcePrivate.h:
17114         * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSourcePrivate dealloc]),
17115         (-[IFWebDataSource _startLoading:]), (-[IFWebDataSource _stopLoading]):
17116         * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame startLoading]):
17117
17118 2002-03-29  Richard Williamson  <rjw@apple.com>
17119
17120         Added stopLoading to startLoading to cancel any pending loads before
17121         new loads start.  This doesn't work yet because of loader bugs, but will
17122         once those are fixed.
17123         
17124         Adding logging for redirects.
17125         
17126         * Misc.subproj/WebKitDebug.h:
17127         * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient
17128         IFURLHandle:didRedirectToURL:]):
17129         * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame startLoading]):
17130
17131 2002-03-29  Darin Adler  <darin@apple.com>
17132
17133         * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFramePrivate dealloc]): Deref the
17134         renderFramePart, and autorelease the provisionalDataSource.
17135         (-[IFWebFramePrivate setRenderFramePart:]): Ref renderFramePart while we hold it.
17136
17137 2002-03-28  Richard Williamson  <rjw@apple.com>
17138
17139         Increased size default for initial layout.
17140         
17141         * WebView.subproj/IFPreferences.mm: (+[IFPreferences load]):
17142
17143 2002-03-28  Richard Williamson  <rjw@apple.com>
17144
17145         Fixed big leak of any document that had a frame or iframe.
17146         
17147         * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource retain]):
17148         * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSourcePrivate dealloc]),
17149         (-[IFWebDataSource _setParent:]):
17150
17151 2002-03-28  Richard Williamson  <rjw@apple.com>
17152     
17153         Modified the initial layout policy.
17154
17155         * WebView.subproj/IFBaseWebControllerPrivate.mm: (-[IFBaseWebController
17156         _receivedProgress:forResource:fromDataSource:]), (-[IFBaseWebController
17157         _mainReceivedProgress:forResource:fromDataSource:]):
17158         * WebView.subproj/IFPreferences.mm: (+[IFPreferences load]), (-[IFPreferences
17159         _initialTimedLayoutDelay]), (-[IFPreferences _initialTimedLayoutSize]):
17160         * WebView.subproj/IFPreferencesPrivate.h:
17161         * WebView.subproj/IFWebFramePrivate.h:
17162         * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame
17163         _transitionProvisionalToLayoutAcceptable]), (-[IFWebFrame
17164         _transitionProvisionalToCommitted]), (-[IFWebFrame _initialLayout:]),
17165         (-[IFWebFrame _isLoadComplete]):
17166
17167 2002-03-28  Darin Adler  <darin@apple.com>
17168
17169         New private interface for getting at the cache.
17170
17171         * Misc.subproj/IFCache.h: New.
17172         * Misc.subproj/IFCache.mm: New.
17173         * WebKit.pbproj/project.pbxproj: Added IFCache files.
17174
17175 2002-03-28  Darin Adler  <darin@apple.com>
17176
17177         * WebView.subproj/IFBaseWebController.mm:
17178         (-[IFBaseWebController locationChangeDone:forFrame:]): Remove log of errors
17179         loading now that we have the activity viewer.
17180
17181 2002-03-28  Richard Williamson  <rjw@apple.com>
17182
17183         Modified the initial layout policy.  We now try to layout as close
17184         as possible to WebKitInitialTimedLayoutDelay seconds after the
17185         load was started, not after the provisional-to-committed transition.
17186         If the time to the provisional-to-committed transition exceeds
17187         WebKitInitialTimedLayoutDelay we layout immediately.
17188         
17189         * WebView.subproj/IFWebDataSourcePrivate.h:
17190         * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _startLoading:]),
17191         (-[IFWebDataSource _recursiveStopLoading]), (-[IFWebDataSource
17192         _loadingStartedTime]):
17193         * WebView.subproj/IFWebFramePrivate.h:
17194         * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame
17195         _transitionProvisionalToCommitted]), (-[IFWebFrame _initialLayout:]):
17196
17197 2002-03-28  John Sullivan  <sullivan@apple.com>
17198
17199         * History.subproj/IFWebHistoryPrivate.m: 
17200         (-[IFWebHistoryPrivate _loadHistoryGuts:]):
17201         Made this more robust about bad data from the disk file. I
17202         don't know how bad data could get into the disk file in normal
17203         use, but it seems to have happened to Richard.
17204
17205 2002-03-27  Richard Williamson  <rjw@apple.com>
17206
17207         Added initial-layout-after-delay-if-not-layed-out-yet feature.
17208         
17209         * Misc.subproj/WebKitDebug.h:
17210         * WebKit.pbproj/project.pbxproj:
17211         * WebView.subproj/IFBaseWebControllerPrivate.mm: (-[IFBaseWebController
17212         _mainReceivedProgress:forResource:fromDataSource:]):
17213         * WebView.subproj/IFPreferences.mm: (+[IFPreferences load]), (-[IFPreferences
17214         setPluginsEnabled:]), (-[IFPreferences _initialTimedLayoutDelay]),
17215         (-[IFPreferences _initialTimedLayoutEnabled]):
17216         * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame
17217         _transitionProvisionalToCommitted]), (-[IFWebFrame _initialLayout:]),
17218         (-[IFWebFrame _state]):
17219
17220 2002-03-27  Kenneth Kocienda  <kocienda@apple.com>
17221
17222         Changed loadProgress->bytesSoFar to use [sender contentLengthReceived]
17223         instead of the size of the chunk that was delivered in the callback.
17224         This makes the activity window data more correct than it was.
17225
17226         * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient
17227         IFURLHandle:resourceDataDidBecomeAvailable:]):
17228
17229 2002-03-27  Chris Blumenberg  <cblu@apple.com>
17230
17231         Now setting the modifier bit for the activate and cursor events.
17232
17233         * Plugins.subproj/IFPluginView.h:
17234         * Plugins.subproj/IFPluginView.mm: (-[IFPluginView drawRect:]), (-[IFPluginView
17235         windowBecameKey:]), (-[IFPluginView windowResignedKey:]), (-[IFPluginView
17236         mouseEntered:]), (-[IFPluginView mouseExited:]):
17237
17238 2002-03-27  Darin Adler  <darin@apple.com>
17239
17240         * WebView.subproj/IFPreferences.mm: (+[IFPreferences load]): Switch back
17241         to serif font, since using Luicida Grande was exposing some font bugs.
17242
17243 2002-03-26  Maciej Stachowiak  <mjs@apple.com>
17244
17245         * WebKit.pbproj/project.pbxproj: Fixed to build with standalone
17246         libJavaScriptCore.dylib.
17247
17248 2002-03-26  Kenneth Kocienda  <kocienda@apple.com>
17249
17250         Changes to help the transition to the new build system which unifies
17251         our development build setting with the settings we use to ship
17252         releases.
17253
17254         * Makefile.am:
17255         * WebKit.pbproj/kocienda.pbxuser:
17256         * WebKit.pbproj/project.pbxproj:
17257
17258 2002-03-26  Richard Williamson  <rjw@apple.com>
17259
17260         Try to ensure that display needed bits are correctly set.
17261         
17262         * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _isLoadComplete]):
17263
17264 2002-03-26  Darin Adler  <darin@apple.com>
17265
17266         * Misc.subproj/IFError.m: (+[IFError initialize]): Fix a typo where
17267         we said "unvailable".
17268         
17269         * WebView.subproj/IFPreferences.mm: (+[IFPreferences load]): Change
17270         the default sans-serif font to "Lucida Grande" to match the OS X
17271         system font, and also make that the defalt standard font.
17272
17273 2002-03-26  John Sullivan  <sullivan@apple.com>
17274
17275         * WebKit.pbproj/project.pbxproj:
17276         Marked IFProgress.h Public.
17277
17278 2002-03-25  John Sullivan  <sullivan@apple.com>
17279
17280         Broke IFLoadProgress out into its own file, and added
17281         an init method and getters, without which this class
17282         is useless in Objective-C files (but strangely usable
17283         in Objective-C++ files, see radar 2887253).
17284
17285         * WebView.subproj/IFWebController.h:
17286         * WebView.subproj/IFBaseWebController.mm:
17287         Took IFLoadProgress declaration and implementation out of here.
17288
17289         * WebView.subproj/IFLoadProgress.h,
17290         * WebView.subproj/IFLoadProgress.mm:
17291         Moved IFLoadProgress declaration and implementation to here;
17292         added -[IFLoadProgress initWithBytesSoFar:totalToLoad:type:]
17293         and getters for each field.
17294
17295         * WebKit.pbproj/project.pbxproj: Updated for new files
17296
17297 2002-03-25  Richard Williamson  <rjw@apple.com>
17298
17299         Tweaks to force layout of frames and iframes.
17300         
17301         * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _isLoadComplete]):
17302
17303 2002-03-25  Maciej Stachowiak  <mjs@apple.com>
17304
17305         * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource
17306         _startLoading:]): Just create an IFURLHandle, since it now creates
17307         the proper concrete subclass automagically.
17308
17309 2002-03-25  Chris Blumenberg  <cblu@apple.com>
17310
17311         * MIME.subproj/IFMIMEDatabase.m: (+[IFMIMEDatabase sharedMIMEDatabase]),
17312         (-[IFMIMEDatabase MIMEHandlerForMIMEType:]), (setMimeHandlers):
17313         * MIME.subproj/IFMIMEHandler.h:
17314         * MIME.subproj/IFMIMEHandler.m: (-[IFMIMEHandler
17315         initWithMIMEType:handlerType:handlerName:]), (-[IFMIMEHandler MIMEType]),
17316         (-[IFMIMEHandler MIMESupertype]), (-[IFMIMEHandler MIMESubtype]),
17317         (-[IFMIMEHandler handlerName]), (-[IFMIMEHandler handlerType]), (-[IFMIMEHandler
17318         description]):
17319
17320         Initial implementations of the above.
17321
17322 2002-03-25  Richard Williamson  <rjw@apple.com>
17323
17324         Added private API to allow browser to access the DOM tree.
17325
17326         * WebView.subproj/IFWebViewPrivate.mm: (-[IFWebView DOM::]), (+[IFWebView
17327         _nodeName:DOM::]), (+[IFWebView _nodeValue:DOM::]), (+[IFWebView
17328         _nodeHTML:DOM::]):
17329
17330 2002-03-25  Richard Williamson  <rjw@apple.com>
17331
17332         Added private API to allow browser to access the render tree.
17333         
17334         * WebView.subproj/IFWebViewPrivate.mm:
17335
17336 2002-03-24  Richard Williamson  <rjw@apple.com>
17337
17338         Changed data source to create IFURLHandle of the appropriate class.
17339         The prevented us from getting the response headers correctly.
17340         
17341         * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _startLoading:]):
17342
17343 2002-03-24  Richard Williamson  <rjw@apple.com>
17344
17345         Removed erroneous comments.
17346         
17347         * WebView.subproj/IFWebView.mm: (-[IFWebView dataSourceChanged:]), (-[IFWebView
17348         reapplyStyles]):
17349
17350 2002-03-22  Chris Blumenberg  <cblu@apple.com>
17351
17352         * MIME.subproj/IFMIMEDatabase.h:
17353         Added a list of mime type that WebKit will be capable of handling
17354
17355 2002-03-22  Chris Blumenberg  <cblu@apple.com>
17356
17357         * WebKit.pbproj/project.pbxproj:
17358         Added the MIME clases to WebKit.
17359
17360 2002-03-22  John Sullivan  <sullivan@apple.com>
17361
17362         * WebView.subproj/IFWebView.mm: (-[IFWebView reapplyStyles]):
17363         Removed stale FIXME.
17364
17365 2002-03-22  Richard Williamson  <rjw@apple.com>
17366
17367         Fixed reapplyStyles to use new KDE3 recalcStyle function.
17368         
17369         * WebView.subproj/IFWebView.mm: (-[IFWebView reapplyStyles])
17370
17371 2002-03-21  John Sullivan  <sullivan@apple.com>
17372
17373         * WebView.subproj/IFWebView.mm: (-[IFWebView reapplyStyles]):
17374         Commented out call to applyChanges that no longer exists.
17375         This was breaking the build. Live font changes are
17376         temporarily broken again.
17377
17378 2002-03-21  Richard Williamson  <rjw@apple.com>
17379
17380         Added setNeedsToApplyStyles: and reapplyStyles.  This is for dynamic preferences
17381         refresh support.
17382         
17383         * WebView.subproj/IFWebView.h:
17384         * WebView.subproj/IFWebView.mm: (-[IFWebView reapplyStyles]), (-[IFWebView
17385         layout]), (-[IFWebView setNeedsToApplyStyles:]), (-[IFWebView drawRect:]):
17386         * WebView.subproj/IFWebViewPrivate.h:
17387
17388 2002-03-21  John Sullivan  <sullivan@apple.com>
17389
17390         Cleaned up defaults registration and use. The class
17391         IFPreferences now registers the defaults at load time, early
17392         enough that Alexander doesn't have to register them separately
17393         as it had been. Also, all the defaults currently in use now
17394         have accessor cover methods, which Alexander will use
17395         exclusively.
17396         
17397         * WebView.subproj/IFPreferences.mm:
17398         New file, registers defaults and implements cover methods.
17399
17400         * WebView.subproj/IFPreferences.h:
17401         This file existed but wasn't being used (contents #ifdeffed out).
17402         Now it declares the cover methods, but still has an #ifdeffed
17403         section for possible future stuff.
17404
17405         * WebKit.pbproj/project.pbxproj: Updated for new file.
17406
17407         * WebView.subproj/IFWebDataSource.mm:
17408         (+[IFWebDataSource initialize]): removed defaults-registration
17409         from here.
17410
17411 2002-03-20  Maciej Stachowiak  <mjs@apple.com>
17412
17413         Merged the following changes from LABYRINTH_KDE_3_MERGE branch:
17414         
17415         2002-03-20  Maciej Stachowiak  <mjs@apple.com>
17416
17417                 Merged accumlated changes from HEAD, up to
17418                 MERGED_TO_KDE_3_MERGE_BRANCH tag.
17419
17420         2002-03-19  Maciej Stachowiak  <mjs@apple.com>
17421         
17422                 * WebView.subproj/IFWebView.mm: (-[IFWebView layout]):
17423                 layout() no longer takes an argument.
17424         
17425 2002-03-20  John Sullivan  <sullivan@apple.com>
17426
17427         Added displayTitle field to IFURIEntry. This is intended to hold the string
17428         used in menu items, window titles, etc. Alexander uses this to cache the
17429         center-truncated title for pages with very long titles.
17430
17431         * History.subproj/IFURIEntry.h:
17432         * History.subproj/IFURIEntry.m: (-[IFURIEntry setDisplayTitle:]), (-[IFURIEntry
17433         dictionaryRepresentation]), (-[IFURIEntry initFromDictionaryRepresentation:]):
17434
17435 2002-03-19  Richard Williamson  <rjw@apple.com>
17436
17437         Fixed IFWebView leak.
17438         
17439         * WebView.subproj/IFWebView.mm: (-[IFWebView provisionalDataSourceChanged:]):
17440
17441 2002-03-18  John Sullivan  <sullivan@apple.com>
17442
17443         Imposed age limit on history items saved to/loaded from disk.
17444         Sped up history loading by reversing list before processing entries.
17445
17446         * History.subproj/IFWebHistoryPrivate.m: 
17447         (+[IFWebHistoryPrivate initialize]): Register default for age limit.
17448         (-[IFWebHistoryPrivate _ageLimitDate]): New convenience method, returns a date older
17449         than any history entry that should be stored/loaded.
17450         (-[IFWebHistoryPrivate arrayRepresentation]): skip too-old dates.
17451         (-[IFWebHistoryPrivate _loadHistoryGuts:]), (-[IFWebHistoryPrivate _saveHistoryGuts:]): 
17452         Broke into separate methods to make timing wrapper less messy. Respect age limit.
17453         Report number of items saved/loaded in timing message.
17454         (-[IFWebHistoryPrivate loadHistory]), (-[IFWebHistoryPrivate saveHistory]):
17455         use broken-out _guts methods.
17456         * WebKit.pbproj/project.pbxproj: version wars
17457
17458 2002-03-16  Richard Williamson  <rjw@apple.com>
17459
17460         Fixed scroll bar flash.  Add provisional view to go along with
17461         provisional widget.
17462         
17463         * WebView.subproj/IFWebView.mm: (-[IFWebView provisionalDataSourceChanged:]),
17464         (-[IFWebView dataSourceChanged:]):
17465
17466 2002-03-16  Richard Williamson  <rjw@apple.com>
17467
17468         Fixed error handling.  Fixed most frame loading problems.
17469         Cleaned up frame state machine.
17470         Moved IFMainURLHandleClient from WebCore.
17471         
17472         * Misc.subproj/IFError.m: (-[IFError description]):
17473         * WebKit.pbproj/project.pbxproj:
17474         * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController
17475         receivedProgress:forResource:fromDataSource:]), (-[IFBaseWebController
17476         receivedError:forResource:partialProgress:fromDataSource:]),
17477         (-[IFBaseWebController locationChangeDone:forFrame:]):
17478         * WebView.subproj/IFBaseWebControllerPrivate.h:
17479         * WebView.subproj/IFBaseWebControllerPrivate.mm: (-[IFBaseWebController
17480         _receivedProgress:forResource:fromDataSource:]), (-[IFBaseWebController
17481         _mainReceivedProgress:forResource:fromDataSource:]), (-[IFBaseWebController
17482         _receivedError:forResource:partialProgress:fromDataSource:]),
17483         (-[IFBaseWebController
17484         _mainReceivedError:forResource:partialProgress:fromDataSource:]):
17485         * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource startLoading:]),
17486         (-[IFWebDataSource isLoading]):
17487         * WebView.subproj/IFWebDataSourcePrivate.h:
17488         * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSourcePrivate init]),
17489         (-[IFWebDataSourcePrivate dealloc]), (-[IFWebDataSource
17490         _setPrimaryLoadComplete:]), (-[IFWebDataSource _startLoading:]),
17491         (-[IFWebDataSource _stopLoading]):
17492         * WebView.subproj/IFWebFrame.h:
17493         * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame setProvisionalDataSource:]),
17494         (-[IFWebFrame startLoading]), (-[IFWebFrame reload:]), (-[IFWebFrame errors]),
17495         (-[IFWebFrame mainDocumentError]):
17496         * WebView.subproj/IFWebFramePrivate.h:
17497         * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFramePrivate dealloc]),
17498         (-[IFWebFrame _transitionProvisionalToCommitted]), (-[IFWebFrame _setState:]),
17499         (-[IFWebFrame _addError:forResource:]), (-[IFWebFrame _isLoadComplete]),
17500         (+[IFWebFrame _recursiveCheckCompleteFromFrame:]), (-[IFWebFrame
17501         _checkLoadCompleteResource:error:isMainDocument:]), (-[IFWebFrame
17502         _setMainDocumentError:]), (-[IFWebFrame _clearErrors]):
17503         * WebView.subproj/IFWebView.mm:
17504         * WebView.subproj/IFMainURLHandleClient.h: added
17505         * WebView.subproj/IFMainURLHandleClient.mm: added
17506
17507 2002-03-15  John Sullivan  <sullivan@apple.com>
17508
17509         Impose default-based limit (1000 by default) on number of history items
17510         saved/loaded. Also instrumented timing for saving/loading history.
17511
17512         * History.subproj/IFWebHistoryPrivate.m: 
17513         (+[IFWebHistoryPrivate initialize]): register default for WebKitHistoryItemLimit.
17514
17515         (-[IFWebHistoryPrivate arrayRepresentation]): respect limit
17516         (-[IFWebHistoryPrivate loadHistory]): respect limit, time the load.
17517         (-[IFWebHistoryPrivate saveHistory]): time the save.
17518
17519         * WebKit.pbproj/project.pbxproj: version wars
17520
17521 2002-03-15  John Sullivan  <sullivan@apple.com>
17522
17523         Fixed bug where history entry images weren't showing up, except by historical
17524         accident in some cases.
17525         Made IFWebHistory no longer be a singleton class; made the file location
17526         be passed in at init time.
17527
17528         * History.subproj/IFURIEntry.m: (-[IFURIEntry image]): Get the default image 
17529         a way that works with frameworks; only get the default image once.
17530
17531         * History.subproj/IFWebHistory.h:
17532         * History.subproj/IFWebHistory.m: 
17533         (+[IFWebHistory webHistoryWithFile:]): New convenience constructor that returns
17534         a new IFWebHistory object with a particular disk file.
17535         (-[IFWebHistory initWithFile:]): New init method for specifying a disk file.
17536         (-[IFWebHistory file]): New accessor for file path.
17537         (-[IFWebHistory loadHistory]),
17538         (-[IFWebHistory saveHistory]): Use file accessor.
17539         Also removed the methods that were computing a file path to use.
17540
17541         * History.subproj/IFWebHistoryPrivate.h:
17542         * History.subproj/IFWebHistoryPrivate.m: 
17543         (-[IFWebHistoryPrivate initWithFile:]),
17544         (-[IFWebHistoryPrivate dealloc]), (-[IFWebHistoryPrivate file]),
17545         (-[IFWebHistoryPrivate loadHistory]), (-[IFWebHistoryPrivate saveHistory]):
17546         Guts of implementation for file-manipulation stuff.
17547
17548         * Resources/url_icon.tiff: ran tiffUtil to premultiply the alpha channel. This
17549         was spewing error messages that I didn't notice before because they only
17550         happen on Puma and I was on Jaguar.
17551
17552         * WebKit.pbproj/project.pbxproj: not sure what change I made, maybe version wars.
17553
17554 2002-03-14  John Sullivan  <sullivan@apple.com>
17555
17556         Made history store its data in ~/Library/Application Support/<app name>/History.plist
17557
17558         * History.subproj/IFWebHistoryPrivate.m: 
17559         (GetRefPath), (FindFolderPath): Functions copied from NSSavePanel.m for using
17560         FindFolder in a POSIX sort of way. Ken plans to put some version of this in
17561         IFNSFileManagerExtensions eventually, which I'll switch to later.
17562         (-[IFWebHistoryPrivate historyFilePath]): Construct the path using FindFolderPath
17563         and the file name.
17564         (-[IFWebHistoryPrivate loadHistory]),
17565         (-[IFWebHistoryPrivate saveHistory]): failure case debug messages are now more specific.
17566
17567 2002-03-13  Richard Williamson  <rjw@apple.com>
17568
17569         Added support to stop plugins in removeFromSuperview.
17570         
17571         * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _checkLoadComplete:]):
17572         * WebView.subproj/IFWebView.mm: (-[IFWebView dealloc]), (-[IFWebView
17573         removeFromSuperview]), (-[IFWebView removeFromSuperviewWithoutNeedingDisplay]):
17574
17575 2002-03-13  Richard Williamson  <rjw@apple.com>
17576
17577         Fixed open window w/ no open windows crasher.
17578         
17579         * ChangeLog:
17580         * WebView.subproj/IFBaseWebController.mm: (-[IFObjectHolder dealloc]):
17581         * WebView.subproj/IFWebView.mm: (-[IFWebView dealloc]), (-[IFWebView layout]):
17582
17583 2002-03-13  Richard Williamson  <rjw@apple.com>
17584
17585         * ChangeLog:
17586         * WebView.subproj/IFBaseWebController.mm: (-[IFObjectHolder dealloc]):
17587         * WebView.subproj/IFWebView.mm: (-[IFWebView initWithFrame:]), (-[IFWebView
17588         dealloc]), (-[IFWebView provisionalDataSourceChanged:]), (-[IFWebView
17589         dataSourceChanged:]), (-[IFWebView layout]), (-[IFWebView isOpaque]),
17590         (-[IFWebView setNeedsDisplay:]), (-[IFWebView setNeedsLayout:]), (-[IFWebView
17591         drawRect:]), (-[IFWebView setFrame:]), (-[IFWebView windowResized:]),
17592         (-[IFWebView mouseDragged:]):
17593
17594 2002-03-12  Richard Williamson  <rjw@apple.com>
17595
17596         * WebView.subproj/IFWebView.mm: (-[IFWebView initWithFrame:]), (-[IFWebView
17597         provisionalDataSourceChanged:]), (-[IFWebView dataSourceChanged:]), (-[IFWebView
17598         layout]), (-[IFWebView isOpaque]), (-[IFWebView setNeedsDisplay:]), (-[IFWebView
17599         setNeedsLayout:]), (-[IFWebView drawRect:]), (-[IFWebView setFrame:]),
17600         (-[IFWebView windowResized:]), (-[IFWebView mouseDragged:]):
17601
17602 2002-03-12  John Sullivan  <sullivan@apple.com>
17603
17604         Added support for persistent history. Following in the grand footsteps of
17605         Ken, it currently stores data in /tmp/alexander.history
17606
17607         * Resources/url_icon.tiff: default IFURIEntry image, moved here from WebBrowser.
17608         * WebKit.pbproj/project.pbxproj: Updated to add image file.
17609
17610         * History.subproj/IFURIEntry.m: 
17611         (-[IFURIEntry image]):
17612         If there's no explicit image, return the default one.
17613
17614         (-[IFURIEntry dictionaryRepresentation]): return a representation suitable
17615         for saving to an xml file.
17616         (-[IFURIEntry initFromDictionaryRepresentation:]): init given the representation
17617         returned from dictionaryRepresentation.
17618
17619         * History.subproj/IFWebHistory.h:
17620         * History.subproj/IFWebHistory.m: (-[IFWebHistory saveHistory]):
17621         Added saveHistory call.
17622
17623         * History.subproj/IFWebHistoryPrivate.h: added saveHistory call.
17624
17625         * History.subproj/IFWebHistoryPrivate.m: 
17626         (-[IFWebHistoryPrivate arrayRepresentation]): return a representation suitable for
17627         saving to an xml file.
17628         (-[IFWebHistoryPrivate historyFilePath]): return location of history on disk.
17629         (-[IFWebHistoryPrivate loadHistory]): read history from disk.
17630         (-[IFWebHistoryPrivate saveHistory]): write history to disk.
17631
17632         (-[IFWebHistoryPrivate init]): call loadHistory
17633         (-[IFWebHistoryPrivate removeEntryForURLString:]): changed NSLog to WEBKITDEBUG
17634
17635 2002-03-11  Richard Williamson  <rjw@apple.com>
17636
17637         Fixed call back ordering problems when an error occurs.
17638         More twiddling with scroll bars.
17639         
17640         * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController
17641         createFrameNamed:for:inParent:]):
17642         * WebView.subproj/IFDynamicScrollBarsView.h:
17643         * WebView.subproj/IFDynamicScrollBarsView.m: (-[IFDynamicScrollBarsView
17644         reflectScrolledClipView:]):
17645         * WebView.subproj/IFWebFrame.h:
17646         * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame startLoading]), (-[IFWebFrame
17647         reload:]), (-[IFWebFrame reset]), (-[IFWebFrame lastError]):
17648         * WebView.subproj/IFWebFramePrivate.h:
17649         * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFramePrivate dealloc]),
17650         (-[IFWebFrame _checkLoadComplete:]), (-[IFWebFrame _setLastError:]):
17651
17652 2002-03-08  Richard Williamson  <rjw@apple.com>
17653
17654         Fixed scroll bar recursion problems.
17655 Took a long time to find a stupid typo bug in [IFBaseWebController _frameForDataSource:fromFrame:]
17656 that overwrote an input parameter that should been a local variable.  This caused a crash the
17657 second time a page that contained an iframe was loaded.
17658         
17659         * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController
17660         createFrameNamed:for:inParent:]), (-[IFBaseWebController
17661         _frameForDataSource:fromFrame:]):
17662         * WebView.subproj/IFDynamicScrollBarsView.m: (-[IFDynamicScrollBarsView
17663         reflectScrolledClipView:]):
17664         * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _checkLoadComplete:]):
17665         * WebView.subproj/IFWebView.mm: (-[IFWebView layout]):
17666         * WebView.subproj/IFWebViewPrivate.h:
17667         * WebView.subproj/IFWebViewPrivate.mm: (-[IFWebView _setFrameScrollView:]),
17668         (-[IFWebView _frameScrollView]), (-[IFWebView _setupScrollers]):
17669
17670 2002-03-07  John Sullivan  <sullivan@apple.com>
17671
17672         * Misc.subproj/IFError.m: (-[IFError errorDescription]):
17673         Removed a line of debugging spam. Oops!
17674
17675 2002-03-07  Richard Williamson  <rjw@apple.com>
17676
17677         Fixed occasional scroll bar problem in iframes.
17678         Fixed occasional problem removing scroll bar on main page.
17679         
17680         * WebView.subproj/IFDynamicScrollBarsView.m: (-[IFDynamicScrollBarsView
17681         reflectScrolledClipView:]):
17682         * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _checkLoadComplete:]):
17683         * WebView.subproj/IFWebView.mm: (-[IFWebView drawRect:]):
17684
17685 2002-03-07  John Sullivan  <sullivan@apple.com>
17686
17687         First pass at adding error strings to IFError. They are
17688         properly localized, but they don't include any parameters,
17689         and the strings haven't been made user-friendly.
17690
17691         * Misc.subproj/IFError.m: 
17692         (+[IFError initialize]): New method, set up a dictionary
17693         mapping error code to localized error string.
17694         (-[IFError errorDescription]): Read string from dictionary.
17695
17696         * English.lproj/IFError.strings: New file, auto-generated
17697         by the genstrings tool.
17698
17699         * WebKit.pbproj/project.pbxproj: Removed stray -F /symroots.
17700         This shouldn't have been in there since symroots location is
17701         no longer hardwired.
17702
17703 2002-03-07  John Sullivan  <sullivan@apple.com>
17704
17705         Defined more symbolic debug-level constants; specified ranges for use by
17706         different software levels (core/kit/client==browser) to enable easier
17707         isolation of debug messages.
17708
17709         * Misc.subproj/WebKitDebug.h: #defined new debug levels for existing uses;
17710         renamed a couple.
17711
17712         * Misc.subproj/WebKitDebug.m: (WebKitLog), (WebKitDebug): Updated for
17713         renamed debug levels.
17714
17715         * WebView.subproj/IFBaseWebController.mm: 
17716         (-[IFBaseWebController receivedProgress:forResource:fromDataSource:]):
17717         * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _stopLoading]):
17718         * WebView.subproj/IFWebView.mm: (-[IFWebView layout]), 
17719         (-[IFWebView setNeedsDisplay:]), (-[IFWebView setNeedsLayout:]), (-[IFWebView drawRect:]),
17720         (-[IFWebView mouseDragged:]):
17721         * WebView.subproj/IFWebViewPrivate.mm: (-[IFWebView _resetView]):
17722         Changed numeric debug levels to symbolic ones.
17723
17724         * WebKit.pbproj/project.pbxproj: Jaguar/Puma version war.
17725
17726 2002-03-06  Richard Williamson  <rjw@apple.com>
17727
17728         Lots of little changes to improve drawing, and dynamic scroll bar
17729         layout.  We now have NO flash between pages, however, I still need
17730         to add a transition timeout.  As currently implemented the page will not
17731         transition until the document is read.
17732         
17733         * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController
17734         locationChangeDone:forFrame:]):
17735         * WebView.subproj/IFDynamicScrollBarsView.m: (-[IFDynamicScrollBarsView
17736         reflectScrolledClipView:]):
17737         * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame
17738         _transitionProvisionalToCommitted]), (-[IFWebFrame _checkLoadComplete:]):
17739         * WebView.subproj/IFWebView.mm: (-[IFWebView initWithFrame:]), (-[IFWebView
17740         dataSourceChanged:]), (-[IFWebView layout]), (-[IFWebView isOpaque]),
17741         (-[IFWebView setNeedsDisplay:]), (-[IFWebView setNeedsLayout:]), (-[IFWebView
17742         drawRect:]), (-[IFWebView setFrame:]):
17743         * WebView.subproj/IFWebViewPrivate.h:
17744         * WebView.subproj/IFWebViewPrivate.mm: (-[IFWebView _stopPlugins]), (-[IFWebView
17745         _removeSubviews]):
17746
17747 2002-03-06  John Sullivan  <sullivan@apple.com>
17748
17749         * Misc.subproj/IFError.h: Removed stray but evil import.
17750
17751 2002-03-06  Maciej Stachowiak  <mjs@apple.com>
17752
17753         * WebKit.pbproj/project.pbxproj: Turn on -Werror.
17754
17755 2002-03-05  Richard Williamson  <rjw@apple.com>
17756
17757         Streamlined layout and drawing.  We now do the minimum amount of drawing and
17758         layout.
17759         
17760         * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _checkLoadComplete:]):
17761         * WebView.subproj/IFWebView.mm: (-[IFWebView initWithFrame:]), (-[IFWebView
17762         layout]), (-[IFWebView setNeedsDisplay:]), (-[IFWebView setNeedsLayout:]),
17763         (-[IFWebView drawRect:]), (-[IFWebView setFrame:]), (-[IFWebView
17764         windowResized:]):
17765
17766 2002-03-05  John Sullivan  <sullivan@apple.com>
17767
17768         * WebView.subproj/IFWebDataSource.mm: (+[IFWebDataSource initialize]):
17769         Tweak default font sizes so they match what algorithm used in Alexander
17770         returns.
17771
17772 2002-03-05  Richard Williamson  <rjw@apple.com>
17773
17774         Pass errors correctly to browser.
17775         Removed old notification code.
17776         Added support for IFError.
17777         Lots of little cleanups.
17778         Improved IFWebFrame state handling.
17779
17780         * Misc.subproj/IFError.h:
17781         * Misc.subproj/IFError.m: (IFErrorMake), (+[IFError load]), (-[IFError
17782         initWithErrorCode:]), (-[IFError errorCode]), (-[IFError errorDescription]):
17783         * WebKit.pbproj/project.pbxproj:
17784         * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController
17785         receivedProgress:forResource:fromDataSource:]), (-[IFBaseWebController
17786         receivedError:forResource:partialProgress:fromDataSource:]):
17787         * WebView.subproj/IFBaseWebControllerPrivate.h:
17788         * WebView.subproj/IFBaseWebControllerPrivate.mm:
17789         * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource isLoading]):
17790         * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource
17791         _startLoading:initiatedByUserEvent:]):
17792         * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame
17793         initWithName:view:provisionalDataSource:controller:]), (-[IFWebFrame
17794         setProvisionalDataSource:]):
17795         * WebView.subproj/IFWebFramePrivate.h:
17796         * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame
17797         _transitionProvisionalToCommitted]), (-[IFWebFrame _state]), (-[IFWebFrame
17798         _setState:]), (-[IFWebFrame _checkLoadComplete:]):
17799
17800 2002-03-05  John Sullivan  <sullivan@apple.com>
17801
17802         * WebView.subproj/IFWebDataSource.mm: (+[IFWebDataSource initialize]):
17803         Changed default font sizes to match scheme used in Alexander. There are
17804         some serious wackinesses with KDE engine font size handling; if and when
17805         we address those we might revisit these default sizes.
17806
17807 2002-03-05  Maciej Stachowiak  <mjs@apple.com>
17808
17809         Removed references to IFAuthenticationHandler, since that protocol
17810         now lives in WebFoundation and it's no longer quite appropriate to
17811         include as part of a controller.
17812
17813         * WebView.subproj/IFBaseWebController.mm:
17814         * WebView.subproj/IFWebController.h:
17815
17816 2002-03-04  Richard Williamson  <rjw@apple.com>
17817
17818         Changes to support 'provisional' data sources.
17819         API changes to IFBaseWebController, removed redundant methods.
17820  
17821         * Misc.subproj/WebKitDebug.h:
17822         * Plugins.subproj/IFPluginView.mm: (-[IFPluginView
17823         getURLNotify:target:notifyData:]):
17824         * WebView.subproj/IFBaseWebController.h:
17825         * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController init]),
17826         (-[IFBaseWebController initWithView:provisionalDataSource:]),
17827         (-[IFBaseWebController createFrameNamed:for:inParent:]), (-[IFBaseWebController
17828         receivedProgress:forResource:fromDataSource:]), (-[IFBaseWebController
17829         receivedError:forResource:partialProgress:fromDataSource:]),
17830         (-[IFBaseWebController locationChangeCommittedForFrame:]), (-[IFBaseWebController
17831         _frameForDataSource:fromFrame:]), (-[IFBaseWebController mainFrame]):
17832         * WebView.subproj/IFBaseWebControllerPrivate.h:
17833         * WebView.subproj/IFBaseWebControllerPrivate.mm:
17834         * WebView.subproj/IFWebController.h:
17835         * WebView.subproj/IFWebDataSource.mm: (IFWebDataSourceMake), (+[IFWebDataSource
17836         load]):
17837         * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource
17838         _startLoading:initiatedByUserEvent:]):
17839         * WebView.subproj/IFWebFrame.h:
17840         * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame init]), (-[IFWebFrame
17841         initWithName:view:provisionalDataSource:controller:]), (-[IFWebFrame
17842         setProvisionalDataSource:]), (-[IFWebFrame startLoading]), (-[IFWebFrame
17843         stopLoading]), (-[IFWebFrame reload:]):
17844         * WebView.subproj/IFWebFramePrivate.h:
17845         * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _setDataSource:]),
17846         (-[IFWebFrame _transitionProvisionalToCommitted]):
17847         * WebView.subproj/IFWebView.h:
17848         * WebView.subproj/IFWebView.mm: (-[IFWebView provisionalDataSourceChanged:]),
17849         (-[IFWebView dataSourceChanged:]):
17850         * WebView.subproj/IFWebViewPrivate.h:
17851         * WebView.subproj/IFWebViewPrivate.mm: (-[IFWebView _provisionalWidget]):
17852
17853 2002-03-04  John Sullivan  <sullivan@apple.com>
17854
17855         Changed default fonts.
17856
17857         * WebView.subproj/IFWebDataSource.mm: 
17858         (+[IFWebDataSource initialize]): Changed default fonts to ones
17859         that actually exist (this was listing "Times-Roman" where it
17860         meant either "Times" or "Times New Roman"). I'm about to check
17861         in working font preferences, so it won't matter too much if you
17862         don't like the defaults (although we should of course make sure
17863         that the defaults are sensible, which I think they are).
17864
17865 2002-03-04  John Sullivan  <sullivan@apple.com>
17866
17867         * WebView.subproj/IFWebDataSource.mm: (+[IFWebDataSource initialize]):
17868         Reverted default fonts to what they were before I accidentally
17869         checked in some debugging changes.
17870
17871 2002-03-01  Richard Williamson  <rjw@apple.com>
17872
17873         Fixed a potentially large leak in frames.  View associated w/
17874         frame was not being released.
17875         
17876         Added scaffolding for correct frame by frame load complete check.
17877         
17878         Moved private IFWebBaseController method implementations to 
17879         IFWebBaseControllerPrivate.mm.
17880         
17881         * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController
17882         createFrameNamed:for:inParent:]), (-[IFBaseWebController
17883         receivedProgress:forResource:fromDataSource:]), (-[IFBaseWebController
17884         receivedError:forResource:partialProgress:fromDataSource:]):
17885         * WebView.subproj/IFBaseWebControllerPrivate.h:
17886         * WebView.subproj/IFBaseWebControllerPrivate.mm: (-[IFBaseWebControllerPrivate
17887         dealloc]), (-[IFBaseWebController _changeLocationTo:forFrame:parent:]),
17888         (-[IFBaseWebController _changeFrame:dataSource:]), (-[IFBaseWebController
17889         _checkLoadCompleteForDataSource:]):
17890         * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSourcePrivate init]):
17891         * WebView.subproj/IFWebView.mm: (-[IFWebView dataSourceChanged:]):
17892
17893 2002-02-27  Kenneth Kocienda  <kocienda@apple.com>
17894
17895         I have changed the way that WebCore is glued to WebFoundation and WebKit. 
17896         If you used or relied upon any code in the following files, you should
17897         now use the IF* equivalents straight up.
17898
17899         - Labyrinth/WebCore/include/WCBackForwardList.h
17900         - Labyrinth/WebCore/include/WCURICache.h
17901         - Labyrinth/WebCore/include/WCURICacheData.h
17902         - Labyrinth/WebCore/include/WCURIEntry.h
17903         - Labyrinth/WebCore/include/WCURIEntry.h
17904
17905         All changes in this commit are related to making dependant code work with the new convention.
17906
17907         * History.subproj/IFURIEntry.h:
17908         * History.subproj/IFURIEntry.m:
17909         * Plugins.subproj/IFPluginView.mm: (-[IFPluginView
17910         newStream:mimeType:notifyData:]), (-[IFPluginView
17911         IFURLHandle:resourceDataDidBecomeAvailable:]), (-[IFPluginView
17912         IFURLHandleResourceDidFinishLoading:data:]), (-[IFPluginView
17913         IFURLHandleResourceDidBeginLoading:]), (-[IFPluginView
17914         IFURLHandleResourceDidCancelLoading:]), (-[IFPluginView
17915         IFURLHandle:resourceDidFailLoadingWithResult:]):
17916         * WebKit.pbproj/kocienda.pbxuser:
17917         * WebKit.pbproj/project.pbxproj:
17918
17919 2002-02-26  John Sullivan  <sullivan@apple.com>
17920
17921         * History.subproj/IFURIEntry.m: (-[IFURIEntry dealloc]):
17922         Added missing dealloc method that 'leaks' found.
17923
17924         * History.subproj/IFURIList.m: (-[IFURIList dealloc]):
17925         Added missing [super dealloc] call that 'leaks' found.
17926
17927 2002-02-22  Maciej Stachowiak  <mjs@apple.com>
17928
17929         Fix prebinding:
17930
17931         * WebKit.pbproj/project.pbxproj: Set first segment address
17932         0x4000000 to avoid colliding with apps or our other frameworks.
17933
17934         Set up some hacks to avoid link-time dependency on
17935         WebKit. Prebinding is incompatible with - undefined suppress, so
17936         we can't have WebCore depend on symbols provided by WebKit any
17937         more:
17938
17939         * Plugins.subproj/IFPluginView.mm: (IFPluginMake), (+[IFPluginView load]),
17940         (startupVolumeName):
17941         * WebView.subproj/IFBaseWebController.mm: (IFLoadProgressMake), (+[IFLoadProgress
17942         load]):
17943
17944 2002-02-22  John Sullivan  <sullivan@apple.com>
17945
17946         Updated for modified NSCalendarDate extensions API.
17947
17948         * History.subproj/IFWebHistoryPrivate.m: 
17949         (-[IFWebHistoryPrivate findIndex:forDay:]): use compareDate: instead of 
17950         daysSinceDate:, which no longer exists.
17951
17952 2002-02-22  Richard Williamson  <rjw@apple.com>
17953
17954         Added data: to IFURLHandleResourceDidFinishLoading:
17955         
17956         * WebView.subproj/IFWebDataSource.h:
17957         * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource isLoading]):
17958
17959 2002-02-22  Richard Williamson  <rjw@apple.com>
17960
17961         Implemented missing getter for provisionalDataSource.
17962         
17963         * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame provisionalDataSource]):
17964         * WebView.subproj/IFWebFramePrivate.h:
17965
17966 2002-02-22  Richard Williamson  <rjw@apple.com>
17967
17968         Normalized code paths for setMainDataSource on controller and setDataSource on frame.
17969         
17970         * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController
17971         setMainView:andMainDataSource:]), (-[IFBaseWebController
17972         createFrameNamed:for:inParent:]), (-[IFBaseWebController
17973         _changeFrame:dataSource:]):
17974         * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource
17975         _setController:]):
17976         * WebView.subproj/IFWebFrame.h:
17977         * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame init]), (-[IFWebFrame
17978         initWithName:view:dataSource:controller:]), (-[IFWebFrame setView:]),
17979         (-[IFWebFrame controller]), (-[IFWebFrame setController:]), (-[IFWebFrame
17980         setDataSource:]), (-[IFWebFrame reset]):
17981         * WebView.subproj/IFWebFramePrivate.h:
17982         * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFramePrivate setController:]),
17983         (-[IFWebFrame _setRenderFramePart:]), (-[IFWebFrame _renderFramePart]),
17984         (-[IFWebFrame _setDataSource:]):
17985
17986 2002-02-21  Richard Williamson  <rjw@apple.com>
17987
17988         Stop mostly working.
17989     
17990         * WebView.subproj/IFBaseWebController.h:
17991         * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController
17992         _frameForDataSource:fromFrame:]), (-[IFBaseWebController frameForDataSource:]):
17993         * WebView.subproj/IFWebController.h:
17994         * WebView.subproj/IFWebDataSource.h:
17995         * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource frame]),
17996         (-[IFWebDataSource frameName]), (-[IFWebDataSource stopLoading]):
17997         * WebView.subproj/IFWebDataSourcePrivate.h:
17998         * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSourcePrivate dealloc]),
17999         (-[IFWebDataSource _addURLHandle:]), (-[IFWebDataSource _removeURLHandle:]),
18000         (-[IFWebDataSource _stopLoading]), (-[IFWebDataSource
18001         _recursiveStopLoadingfromDataSource:]):
18002         * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame setDataSource:]):
18003
18004 2002-02-20  Richard Williamson  <rjw@apple.com>
18005
18006     Some groundwork to bring WebFoundation callbacks up to 
18007     WebKit.
18008     
18009         * WebView.subproj/IFBaseWebController.mm: (-[IFLoadProgress init]),
18010         (-[IFBaseWebController receivedProgress:forResource:fromDataSource:]),
18011         (-[IFBaseWebController
18012         receivedError:forResource:partialProgress:fromDataSource:]),
18013         (-[IFBaseWebController _changeFrame:dataSource:]):
18014         * WebView.subproj/IFWebController.h:
18015         * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource stopLoading]):
18016         * WebView.subproj/IFWebFrame.h:
18017         * WebView.subproj/IFWebFramePrivate.h:
18018         * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFramePrivate
18019         setProvisionalDataSource:]):
18020
18021 2002-02-20  Maciej Stachowiak  <mjs@apple.com>
18022
18023         * WebView.subproj/IFWebController.h: Fix my WebController screw-up.
18024
18025 2002-02-19  John Sullivan  <sullivan@apple.com>
18026
18027         Finished first cut at IFWebHistory implementation. All methods are implemented
18028         except the string-matching ones.
18029
18030         * History.subproj/IFURIEntry.h:
18031         * History.subproj/IFURIEntry.m: (-[IFURIEntry initWithURL:title:image:comment:]),
18032         (-[IFURIEntry lastVisitedDate]), (-[IFURIEntry setModificationDate:]),
18033         (-[IFURIEntry setLastVisitedDate:]):
18034         Changed all NSDates to be NSCalendarDates.
18035
18036         * History.subproj/IFWebHistory.h:
18037         * History.subproj/IFWebHistory.m: (-[IFWebHistory init]), (-[IFWebHistory
18038         dealloc]), (-[IFWebHistory sendEntriesChangedNotification]), (-[IFWebHistory
18039         addEntry:]), (-[IFWebHistory removeEntry:]), (-[IFWebHistory
18040         removeEntriesForDay:]), (-[IFWebHistory removeAllEntries]), (-[IFWebHistory
18041         orderedLastVisitedDays]), (-[IFWebHistory orderedEntriesLastVisitedOnDay:]),
18042         (-[IFWebHistory entriesWithAddressContainingString:]), (-[IFWebHistory
18043         entriesWithTitleOrAddressContainingString:]), (-[IFWebHistory containsURL:]):
18044         Implemented all IFWebHistory methods by calling through to IFWebHistoryPrivate object.
18045         Send a change notification each time the actual data changes. Removed all
18046         canned-data mechanisms.
18047
18048         * History.subproj/IFWebHistoryPrivate.h:
18049         * History.subproj/IFWebHistoryPrivate.m: (-[IFWebHistoryPrivate init]),
18050         (-[IFWebHistoryPrivate dealloc]), (-[IFWebHistoryPrivate findIndex:forDay:]),
18051         (-[IFWebHistoryPrivate insertEntry:atDateIndex:]), (-[IFWebHistoryPrivate
18052         removeEntryForURLString:]), (-[IFWebHistoryPrivate addEntry:]),
18053         (-[IFWebHistoryPrivate removeEntry:]), (-[IFWebHistoryPrivate
18054         removeEntriesForDay:]), (-[IFWebHistoryPrivate removeAllEntries]),
18055         (-[IFWebHistoryPrivate orderedLastVisitedDays]), (-[IFWebHistoryPrivate
18056         orderedEntriesLastVisitedOnDay:]), (-[IFWebHistoryPrivate
18057         entriesWithAddressContainingString:]), (-[IFWebHistoryPrivate
18058         entriesWithTitleOrAddressContainingString:]), (-[IFWebHistoryPrivate
18059         containsURL:]):
18060         Implemented guts of history mechanism using a dictionary for URL lookup and
18061         a sorted array of dates with entries and a sorted array of sorted arrays of 
18062         entries per date.
18063
18064         * WebKit.pbproj/project.pbxproj: Updated for new files
18065
18066 2002-02-18  John Sullivan  <sullivan@apple.com>
18067
18068         First piece of implementing IFWebHistory. None of the mutators do anything,
18069         and the accessors return canned data. But at least all the temporary hackery
18070         is hiding behind legitimate API.
18071
18072         * History.subproj/IFWebHistory.h:
18073         * History.subproj/IFWebHistory.m: 
18074
18075         (+[IFWebHistory sharedWebHistory]):
18076         Implemented sensibly.
18077
18078         (-[IFWebHistory createTestEntryWithURLString:title:date:]), 
18079         (-[IFWebHistory testDataDates]), (-[IFWebHistory testData]), 
18080         Private temporary hackery to return fake data.  
18081
18082         (-[IFWebHistory orderedLastVisitedDays]), 
18083         (-[IFWebHistory orderedEntriesLastVisitedOnDay:]):
18084         Implemented using temporary hackery.
18085
18086         (-[IFWebHistory addEntry:]),
18087         (-[IFWebHistory removeEntry:]), 
18088         (-[IFWebHistory removeAllEntries]):
18089         Unimplemented mutator methods.
18090
18091         (-[IFWebHistory entriesWithAddressContainingString:]), 
18092         (-[IFWebHistory entriesWithTitleOrAddressContainingString:]), 
18093         (-[IFWebHistory containsURL:]):
18094         Methods that we'll need eventually, currently unimplemented. We may flesh out
18095         the API a little more before we actually implement any of these.
18096
18097         (-[NSCalendarDate daysSinceDate:]): Convenience method in category; will
18098         probably move to another file soon.
18099
18100         * WebKit.pbproj/project.pbxproj: Updated for new files
18101
18102 2002-02-18  Kenneth Kocienda  <kocienda@apple.com>
18103
18104         Fixed breakge that came up when project file merged.
18105
18106         * WebKit.pbproj/project.pbxproj:
18107
18108 2002-02-18  Kenneth Kocienda  <kocienda@apple.com>
18109
18110         Changes to support building standalone Alexander with Frameworks
18111         and libraries contained inside the app package.
18112
18113         * Makefile.am:
18114         * WebKit.pbproj/kocienda.pbxuser:
18115         * WebKit.pbproj/project.pbxproj:
18116
18117 2002-02-18  Richard Williamson  <rjw@apple.com>
18118
18119         Performance measurement.
18120         
18121         * WebView.subproj/IFWebView.mm: (-[IFWebView layout]), (-[IFWebView drawRect:]):
18122
18123 2002-02-16  Richard Williamson  <rjw@apple.com>
18124
18125         * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource controller]):
18126
18127 2002-02-16  Richard Williamson  <rjw@apple.com>
18128
18129         Reminders to change frame<->datasource ownership cycle.
18130         
18131         * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource setFrame:]),
18132         (-[IFWebDataSource frame]):
18133
18134 2002-02-13  Richard Williamson  <rjw@apple.com>
18135
18136     Fixed cleanup.  Should revisit ownership graph.  Cycles may be avoidable.
18137     
18138         * WebView.subproj/IFBaseWebControllerPrivate.mm: (-[IFBaseWebControllerPrivate
18139         dealloc]):
18140         * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource setFrame:]):
18141         * WebView.subproj/IFWebFrame.m: (-[IFWebFrame reset]):
18142         * WebView.subproj/IFWebViewPrivate.h:
18143         * WebView.subproj/IFWebViewPrivate.mm: (-[IFWebView _resetWidget]):
18144
18145 2002-02-12  Richard Williamson  <rjw@apple.com>
18146
18147     Made basic forms work.
18148     
18149         * WebView.subproj/IFBaseWebController.mm:
18150         * WebView.subproj/IFWebController.h:
18151         * WebView.subproj/IFWebDataSource.mm: (+[IFWebDataSource initialize]),
18152         (-[IFWebDataSource startLoading:]):
18153         * WebView.subproj/IFWebDataSourcePrivate.h:
18154         * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource
18155         _startLoading:initiatedByUserEvent:]):
18156
18157 2002-02-11  John Sullivan  <sullivan@apple.com>
18158
18159         Fixed bug where clicking on empty browser page would crash. This could
18160         happen when the start page was empty, or failed to load.
18161
18162         * WebView.subproj/IFWebView.mm: 
18163         (-[IFWebView mouseUp:]), (-[IFWebView mouseDown:]):
18164         Checked for nil widget before dispatching mouse events.
18165
18166 2002-02-08  John Sullivan  <sullivan@apple.com>
18167
18168         Changed back & forward to goBack and goForward and made them not return
18169         a value (so signatures match those in WebBrowser). Added backEntry and
18170         forwardEntry that don't alter the list. These will be needed to ask to
18171         go to the URL at the back position without altering the back list until
18172         the change is committed.
18173
18174         * History.subproj/IFBackForwardList.h:
18175         * History.subproj/IFBackForwardList.m: (-[IFBackForwardList goBack]),
18176         (-[IFBackForwardList backEntry]), (-[IFBackForwardList currentEntry]),
18177         (-[IFBackForwardList forwardEntry]), (-[IFBackForwardList goForward]):
18178
18179 2002-02-07  Richard Williamson  <rjw@apple.com>
18180     
18181     More changes to IFLocationChangeHandler API.
18182
18183         * WebView.subproj/IFBaseWebController.mm:
18184         * WebView.subproj/IFWebController.h:
18185         * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource startLoading:]):
18186         * WebView.subproj/IFWebDataSourcePrivate.h:
18187         * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource
18188         _startLoading:initiatedByMouseEvent:]):
18189         * WebView.subproj/IFWebFramePrivate.h:
18190
18191 2002-02-07  Richard Williamson  <rjw@apple.com>
18192
18193     Update IFLocationChangeHandler API.  Added factored code for
18194     URL loading.
18195     
18196         * ChangeLog:
18197         * WebView.subproj/IFBaseWebController.h:
18198         * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController
18199         setMainView:andMainDataSource:]), (-[IFBaseWebController
18200         _changeLocationTo:forFrame:parent:]), (-[IFBaseWebController
18201         _changeFrame:dataSource:]), (-[IFBaseWebController
18202         locationChangeCommittedForFrame:]):
18203         * WebView.subproj/IFBaseWebControllerPrivate.h:
18204         * WebView.subproj/IFWebController.h:
18205         * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource startLoading:]):
18206         * WebView.subproj/IFWebFrame.h:
18207         * WebView.subproj/IFWebFrame.m: (-[IFWebFrame reset]):
18208
18209 2002-02-06  Richard Williamson  <rjw@apple.com>
18210
18211     Fixed allocation problems.  Implemented parent->child management
18212     for datasource correctly.
18213     
18214         * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController
18215         changeLocationTo:forFrame:]):
18216         * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource addFrame:]):
18217         * WebView.subproj/IFWebDataSourcePrivate.h:
18218         * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource
18219         _setController:]), (-[IFWebDataSource _part]), (-[IFWebDataSource _setParent:]):
18220         * WebView.subproj/IFWebFrame.h:
18221         * WebView.subproj/IFWebFrame.m: (-[IFWebFrame _setRenderFramePart:]),
18222         (-[IFWebFrame _renderFramePart]):
18223         * WebView.subproj/IFWebView.mm: (-[IFWebView dataSourceChanged:]):
18224
18225 2002-02-05  Richard Williamson  <rjw@apple.com>
18226
18227     Updated controller API to reflect frames.
18228     
18229         * WebView.subproj/IFBaseWebController.h:
18230         * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController
18231         initWithView:dataSource:]), (-[IFBaseWebController
18232         setMainView:andMainDataSource:]), (-[IFBaseWebController
18233         createFrameNamed:for:inParent:]), (-[IFBaseWebController mainFrame]),
18234         (-[IFBaseWebController mainView]), (-[IFBaseWebController mainDataSource]),
18235         (-[IFBaseWebController changeLocationTo:forFrame:]), (-[IFBaseWebController
18236         locationChangeStartedForFrame:]), (-[IFBaseWebController
18237         locationChangeInProgressForFrame:]), (-[IFBaseWebController
18238         locationChangeDone:forFrame:]):
18239         * WebView.subproj/IFBaseWebControllerPrivate.h:
18240         * WebView.subproj/IFBaseWebControllerPrivate.mm: (-[IFBaseWebControllerPrivate
18241         init]), (-[IFBaseWebControllerPrivate dealloc]):
18242         * WebView.subproj/IFWebController.h:
18243         * WebView.subproj/IFWebDataSource.h:
18244         * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource initWithURL:]),
18245         (-[IFWebDataSource setFrame:]), (-[IFWebDataSource frame]), (-[IFWebDataSource
18246         frameName]):
18247         * WebView.subproj/IFWebDataSourcePrivate.h:
18248         * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSourcePrivate dealloc]),
18249         (-[IFWebDataSource _part]):
18250         * WebView.subproj/IFWebFrame.h:
18251         * WebView.subproj/IFWebFrame.m: (-[IFWebFrame dealloc]), (-[IFWebFrame
18252         dataSource]), (-[IFWebFrame setDataSource:]):
18253         * WebView.subproj/IFWebView.h:
18254         * WebView.subproj/IFWebView.mm: (-[IFWebView dataSourceChanged:]):
18255
18256 2002-02-05  Maciej Stachowiak  <mjs@apple.com>
18257
18258         Remove old obsolete cache code from tree and build.
18259
18260         * Cache.subproj/NSURICache.h:
18261         * Cache.subproj/NSURICache.m:
18262         * Cache.subproj/NSURICacheData.h:
18263         * Cache.subproj/NSURICacheData.m:
18264         * Cache.subproj/NSURILoad.h:
18265         * Cache.subproj/NSURILoad.m:
18266         * Cache.subproj/NSURILoadReallyPrivate.h:
18267         * Cache.subproj/_NSURICacheQueue.h:
18268         * Cache.subproj/_NSURICacheQueue.m:
18269         * Misc.subproj/WebKitReallyPrivate.h:
18270         * Misc.subproj/_NSMonitor.h:
18271         * Misc.subproj/_NSMonitor.m:
18272         * WebKit.pbproj/project.pbxproj:
18273
18274 2002-02-05  Richard Williamson  <rjw@apple.com>
18275
18276     Changes to support dynamic scroll bars in frames/iframes.
18277
18278         * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController
18279         createFrameNamed:for:inParent:]):
18280         * WebView.subproj/IFWebView.mm: (-[IFWebView dataSourceChanged]):
18281         * WebView.subproj/IFWebViewPrivate.mm: (-[IFWebView _setFrameScrollView:]):
18282
18283 2002-02-04  Maciej Stachowiak  <mjs@apple.com>
18284
18285         Rename all classes from WK prefix to IF prefix.
18286
18287         * Cache.subproj/IFLoadChunk.h:
18288         * Cache.subproj/IFWebCache.h:
18289         * Cache.subproj/IFWebCacheClient.h:
18290         * Cache.subproj/IFWebContentType.h:
18291         * History.subproj/IFAttributedURL.h:
18292         * History.subproj/IFBackForwardList.h:
18293         * History.subproj/IFBackForwardList.m: (-[IFBackForwardList init]),
18294         (-[IFBackForwardList addEntry:]), (-[IFBackForwardList back]),
18295         (-[IFBackForwardList currentEntry]), (-[IFBackForwardList forward]),
18296         (-[IFBackForwardList description]):
18297         * History.subproj/IFURIEntry.h:
18298         * History.subproj/IFURIEntry.m: (WCCreateURIEntry), (-[IFURIEntry isEqual:]),
18299         (-[IFURIEntry description]):
18300         * History.subproj/IFURIList.h:
18301         * History.subproj/IFURIList.m: (newURIListNode), (freeNode), (-[IFURIList
18302         dealloc]), (-[IFURIList addEntry:]), (-[IFURIList removeURL:]), (-[IFURIList
18303         removeEntry:]), (-[IFURIList entryForURL:]), (-[IFURIList entryAtIndex:]),
18304         (-[IFURIList removeEntryAtIndex:]), (-[IFURIList removeEntriesToIndex:]):
18305         * Misc.subproj/IFException.h:
18306         * Misc.subproj/IFException.m:
18307         * WebKit.pbproj/project.pbxproj:
18308         * WebView.subproj/IFBaseWebController.h:
18309         * WebView.subproj/IFBaseWebController.mm: (+[IFObjectHolder holderWithObject:]),
18310         (-[IFBaseWebController init]), (-[IFBaseWebController initWithView:dataSource:]),
18311         (-[IFBaseWebController setDirectsAllLinksToSystemBrowser:]),
18312         (-[IFBaseWebController directsAllLinksToSystemBrowser]), (-[IFBaseWebController
18313         setView:andDataSource:]), (-[IFBaseWebController
18314         createFrameNamed:for:inParent:]), (-[IFBaseWebController viewForDataSource:]),
18315         (-[IFBaseWebController dataSourceForView:]), (-[IFBaseWebController mainView]),
18316         (-[IFBaseWebController mainDataSource]), (-[IFBaseWebController
18317         setStatusText:forDataSource:]), (-[IFBaseWebController
18318         statusTextForDataSource:]), (-[IFBaseWebController authenticate:]),
18319         (-[IFBaseWebController receivedProgress:forResource:fromDataSource:]),
18320         (-[IFBaseWebController
18321         receivedError:forResource:partialProgress:fromDataSource:]),
18322         (-[IFBaseWebController locationWillChangeTo:]), (-[IFBaseWebController
18323         locationChangeStartedForDataSource:]), (-[IFBaseWebController
18324         locationChangeInProgressForDataSource:]), (-[IFBaseWebController
18325         locationChangeDone:forDataSource:]), (-[IFBaseWebController
18326         receivedPageTitle:forDataSource:]), (-[IFBaseWebController
18327         serverRedirectTo:forDataSource:]):
18328         * WebView.subproj/IFBaseWebControllerPrivate.h:
18329         * WebView.subproj/IFBaseWebControllerPrivate.mm:
18330         * WebView.subproj/IFDynamicScrollBarsView.h:
18331         * WebView.subproj/IFDynamicScrollBarsView.m:
18332         * WebView.subproj/IFGrabBag.h:
18333         * WebView.subproj/IFPreferences.h:
18334         * WebView.subproj/IFWebController.h:
18335         * WebView.subproj/IFWebDataSource.h:
18336         * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource _commonInitialization]),
18337         (-[IFWebDataSource initWithURL:]), (-[IFWebDataSource frameName]),
18338         (-[IFWebDataSource isMainDocument]), (-[IFWebDataSource parent]),
18339         (-[IFWebDataSource children]), (-[IFWebDataSource addFrame:]), (-[IFWebDataSource
18340         frameNamed:]), (-[IFWebDataSource frameNames]), (-[IFWebDataSource
18341         findDataSourceForFrameNamed:]), (-[IFWebDataSource frameExists:]),
18342         (-[IFWebDataSource openURL:inFrameNamed:]), (-[IFWebDataSource
18343         openURL:inIFrame:]), (-[IFWebDataSource controller]), (-[IFWebDataSource
18344         inputURL]), (-[IFWebDataSource finalURL]), (-[IFWebDataSource wasRedirected]),
18345         (-[IFWebDataSource stopLoading]), (-[IFWebDataSource isLoading]),
18346         (-[IFWebDataSource base]), (-[IFWebDataSource baseTarget]), (-[IFWebDataSource
18347         encoding]), (-[IFWebDataSource setUserStyleSheetFromURL:]), (-[IFWebDataSource
18348         setUserStyleSheetFromString:]), (-[IFWebDataSource icon]), (-[IFWebDataSource
18349         isPageSecure]), (-[IFWebDataSource pageTitle]):
18350         * WebView.subproj/IFWebDataSourcePrivate.h:
18351         * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSourcePrivate dealloc]),
18352         (-[IFWebDataSource _setController:]), (-[IFWebDataSource _part]),
18353         (-[IFWebDataSource _setFrameName:]):
18354         * WebView.subproj/IFWebFrame.h:
18355         * WebView.subproj/IFWebFrame.m: (-[IFWebFrame initWithName:view:dataSource:]),
18356         (-[IFWebFrame dataSource]):
18357         * WebView.subproj/IFWebView.h:
18358         * WebView.subproj/IFWebView.mm: (-[IFWebView initWithFrame:]), (-[IFWebView
18359         controller]), (-[IFWebView dataSourceChanged]), (-[IFWebView layout]),
18360         (-[IFWebView stopAnimations]), (-[IFWebView setFontSizes:]), (-[IFWebView
18361         fontSizes]), (-[IFWebView resetFontSizes]), (-[IFWebView setStandardFont:]),
18362         (-[IFWebView standardFont]), (-[IFWebView setFixedFont:]), (-[IFWebView
18363         fixedFont]), (-[IFWebView setCanDragFrom:]), (-[IFWebView setCanDragTo:]),
18364         (-[IFWebView defaultContextMenuItemsForNode:]), (-[IFWebView
18365         setContextMenusEnabled:]), (-[IFWebView deselectText]), (-[IFWebView
18366         searchFor:direction:caseSensitive:]), (-[IFWebView selectedText]), (-[IFWebView
18367         setNeedsLayout:]), (-[IFWebView drawRect:]), (-[IFWebView setIsFlipped:]),
18368         (-[IFWebView isFlipped]), (-[IFWebView mouseUp:]), (-[IFWebView mouseDown:]):
18369         * WebView.subproj/IFWebViewPrivate.h:
18370         * WebView.subproj/IFWebViewPrivate.mm: (-[IFWebViewPrivate dealloc]),
18371         (-[IFWebView _setController:]), (-[IFWebView _widget]), (-[IFWebView
18372         _setFrameScrollView:]), (-[IFWebView _frameScrollView]):
18373
18374 2002-02-04  Maciej Stachowiak  <mjs@apple.com>
18375
18376         Rename all WK files to IF (classes not renamed yet).
18377
18378         * Cache.subproj/IFLoadChunk.h:
18379         * Cache.subproj/IFWebCache.h:
18380         * Cache.subproj/IFWebCacheClient.h:
18381         * Cache.subproj/IFWebContentType.h:
18382         * Cache.subproj/WKLoadChunk.h:
18383         * Cache.subproj/WKWebCache.h:
18384         * Cache.subproj/WKWebCacheClient.h:
18385         * Cache.subproj/WKWebContentType.h:
18386         * History.subproj/IFAttributedURL.h:
18387         * History.subproj/IFBackForwardList.h:
18388         * History.subproj/IFBackForwardList.m:
18389         * History.subproj/IFURIEntry.h:
18390         * History.subproj/IFURIEntry.m:
18391         * History.subproj/IFURIList.h:
18392         * History.subproj/IFURIList.m:
18393         * History.subproj/WKAttributedURL.h:
18394         * History.subproj/WKBackForwardList.h:
18395         * History.subproj/WKBackForwardList.m:
18396         * History.subproj/WKURIEntry.h:
18397         * History.subproj/WKURIEntry.m:
18398         * History.subproj/WKURIList.h:
18399         * History.subproj/WKURIList.m:
18400         * Misc.subproj/WKException.h:
18401         * Misc.subproj/WKException.m:
18402         * WebKit.pbproj/project.pbxproj:
18403         * WebView.subproj/IFBaseWebController.h:
18404         * WebView.subproj/IFBaseWebController.mm:
18405         * WebView.subproj/IFBaseWebControllerPrivate.h:
18406         * WebView.subproj/IFBaseWebControllerPrivate.mm:
18407         * WebView.subproj/IFDefaultWebController.h:
18408         * WebView.subproj/IFDefaultWebController.mm:
18409         * WebView.subproj/IFDefaultWebControllerPrivate.h:
18410         * WebView.subproj/IFDefaultWebControllerPrivate.mm:
18411         * WebView.subproj/IFDynamicScrollBarsView.m:
18412         * WebView.subproj/IFGrabBag.h:
18413         * WebView.subproj/IFPreferences.h:
18414         * WebView.subproj/IFWebController.h:
18415         * WebView.subproj/IFWebDataSource.h:
18416         * WebView.subproj/IFWebDataSource.mm:
18417         * WebView.subproj/IFWebDataSourcePrivate.h:
18418         * WebView.subproj/IFWebDataSourcePrivate.mm:
18419         * WebView.subproj/IFWebFrame.h:
18420         * WebView.subproj/IFWebFrame.m:
18421         * WebView.subproj/IFWebView.h:
18422         * WebView.subproj/IFWebView.mm:
18423         * WebView.subproj/IFWebViewPrivate.h:
18424         * WebView.subproj/IFWebViewPrivate.mm:
18425         * WebView.subproj/WKDefaultWebController.h:
18426         * WebView.subproj/WKDefaultWebController.mm:
18427         * WebView.subproj/WKDefaultWebControllerPrivate.h:
18428         * WebView.subproj/WKDefaultWebControllerPrivate.mm:
18429         * WebView.subproj/WKDynamicScrollBarsView.h:
18430         * WebView.subproj/WKDynamicScrollBarsView.m:
18431         * WebView.subproj/WKGrabBag.h:
18432         * WebView.subproj/WKPreferences.h:
18433         * WebView.subproj/WKWebController.h:
18434         * WebView.subproj/WKWebDataSource.h:
18435         * WebView.subproj/WKWebDataSource.mm:
18436         * WebView.subproj/WKWebDataSourcePrivate.h:
18437         * WebView.subproj/WKWebDataSourcePrivate.mm:
18438         * WebView.subproj/WKWebFrame.h:
18439         * WebView.subproj/WKWebFrame.m:
18440         * WebView.subproj/WKWebView.h:
18441         * WebView.subproj/WKWebView.mm:
18442         * WebView.subproj/WKWebViewPrivate.h:
18443         * WebView.subproj/WKWebViewPrivate.mm:
18444
18445 2002-02-01  Richard Williamson  <rjw@apple.com>
18446
18447     Changes for dynamic scrolling frames.  Added notification of complete
18448     load.
18449     
18450         * WebView.subproj/WKDefaultWebController.mm: (-[WKDefaultWebController
18451         createFrameNamed:for:inParent:]), (-[WKDefaultWebController
18452         locationChangeDone:forDataSource:]):
18453         * WebView.subproj/WKWebController.h:
18454         * WebView.subproj/WKWebView.mm: (-[WKWebView dataSourceChanged]):
18455         * WebView.subproj/WKWebViewPrivate.h:
18456         * WebView.subproj/WKWebViewPrivate.mm: (-[WKWebViewPrivate dealloc]),
18457         (-[WKWebView _widget]), (-[WKWebView _setFrameScrollView:]), (-[WKWebView
18458         _frameScrollView]):
18459
18460 2002-02-01  John Sullivan  <sullivan@apple.com>
18461
18462         Added call to examine the entry at the current index in
18463         the back/forward list without modifying the list. I needed
18464         this to save context data (in my case, scroll position)
18465         on the currently-viewed entry.
18466
18467         * History.subproj/WKBackForwardList.h:
18468         * History.subproj/WKBackForwardList.m: 
18469         (-[WKBackForwardList currentEntry]):
18470         Just returns the entry at the current index.
18471
18472 2002-01-31  John Sullivan  <sullivan@apple.com>
18473
18474         * History.subproj/WKURIList.m: (newURIListNode):
18475         retain entries before adding them to list. The node-freeing
18476         routine was releasing, but the node-adding routine wasn't
18477         retaining. Bad asymmetry, made up for by WebViewTest not
18478         autoreleasing. I fixed that too.
18479
18480 2002-01-31  John Sullivan  <sullivan@apple.com>
18481
18482         * WebKit.pbproj: Removed -O0, so it will now get all the same
18483         warnings as pbxbuild gets.
18484
18485 2002-01-31  Kenneth Kocienda  <kocienda@apple.com>
18486
18487         Removed dependency on WC versions of these files
18488         
18489         * History.subproj/WKBackForwardList.h:
18490         * History.subproj/WKBackForwardList.m:
18491         * History.subproj/WKURIEntry.h:
18492         * History.subproj/WKURIEntry.m:
18493         * WebKit.pbproj/project.pbxproj:
18494
18495 2002-01-31  John Sullivan  <sullivan@apple.com>
18496
18497         * WebKit.pbproj:
18498         Marked WKURIList.h as a public header
18499
18500 2002-01-30  Richard Williamson  <rjw@apple.com>
18501
18502         * WebView.subproj/WKDefaultWebController.mm: (-[WKDefaultWebController
18503         createFrameNamed:for:inParent:]):
18504         * WebView.subproj/WKWebDataSource.mm: (-[WKWebDataSource documentTextFromDOM]):
18505
18506 2002-01-30  Richard Williamson  <rjw@apple.com>
18507
18508     Cleaned up API w/ respect to frames.
18509     
18510         * WebView.subproj/WKDefaultWebController.h:
18511         * WebView.subproj/WKDefaultWebController.mm: (-[WKDefaultWebController
18512         setView:andDataSource:]), (-[WKDefaultWebController
18513         createFrameNamed:for:inParent:]):
18514         * WebView.subproj/WKWebController.h:
18515         * WebView.subproj/WKWebDataSource.h:
18516
18517 2002-01-30  Kenneth Kocienda  <kocienda@apple.com>
18518
18519         Added *.lo, *.la, Icon, and .libs to .cvsignore files
18520         
18521         * .cvsignore:
18522
18523 2002-01-29  Richard Williamson  <rjw@apple.com>
18524
18525         * ChangeLog:
18526         * WebView.subproj/WKDefaultWebController.h:
18527         * WebView.subproj/WKDefaultWebController.mm: (-[WKDefaultWebController
18528         setView:andDataSource:]), (-[WKDefaultWebController dataSourceForView:]):
18529
18530 2002-01-29  Richard Williamson  <rjw@apple.com>
18531
18532         * WebView.subproj/WKDefaultWebController.mm: (-[WKDefaultWebController
18533         setView:andDataSource:]):
18534
18535 2002-01-29  Richard Williamson  <rjw@apple.com>
18536
18537     First pass at frame code.  Still needs lots of cleanup.
18538     
18539         * WebKit.pbproj/project.pbxproj:
18540         * WebView.subproj/WKDefaultWebController.h:
18541         * WebView.subproj/WKDefaultWebController.mm: (-[WKDefaultWebController init]):
18542         * WebView.subproj/WKWebDataSource.h:
18543         * WebView.subproj/WKWebDataSource.mm: (-[WKWebDataSource dealloc]),
18544         (-[WKWebDataSource frameName]), (-[WKWebDataSource parent]), (-[WKWebDataSource
18545         children]), (-[WKWebDataSource addFrame:]), (-[WKWebDataSource frameNamed:]):
18546         * WebView.subproj/WKWebDataSourcePrivate.h:
18547         * WebView.subproj/WKWebDataSourcePrivate.mm: (-[WKWebDataSourcePrivate init]),
18548         (-[WKWebDataSourcePrivate dealloc]), (-[WKWebDataSource _setController:]),
18549         (-[WKWebDataSource _setFrameName:]):
18550         * WebView.subproj/WKWebView.mm: (-[WKWebView mouseUp:]):
18551         * WebView.subproj/WKWebViewPrivate.h:
18552         * WebView.subproj/WKWebViewPrivate.mm: (-[WKWebViewPrivate dealloc]),
18553         (-[WKWebView _setController:]), (-[WKWebView _widget]):
18554
18555 2002-01-29  Kenneth Kocienda  <kocienda@apple.com>
18556
18557         WebKit now links with WebFoundation
18558         
18559         * WebKit.pbproj/kocienda.pbxuser:
18560         * WebKit.pbproj/project.pbxproj:
18561
18562
18563 2002-01-23  Ken Kocienda  <kocienda@apple.com>
18564
18565         Took out @executable_path hack added for Alexander demo.
18566         This should clear up a class of crash-on-launch issues.
18567
18568         * WebKit.pbproj/project.pbxproj:
18569
18570 2002-01-21  John Sullivan  <sullivan@apple.com>
18571
18572         * WebView.subproj/WKWebController.h:
18573         * WebView.subproj/WKWebView.h:
18574         Changed WKConcreteWebController to WKDefaultWebController in a
18575         couple of comments.
18576
18577 2002-01-18  Richard Williamson  <rjw@apple.com>
18578
18579     First pass at new view/datasource/controller API.
18580     
18581         * Misc.subproj/WKException.h:
18582         * Misc.subproj/WKException.m:
18583         * WebKit.pbproj/project.pbxproj:
18584         * WebView.subproj/WKDefaultWebController.h:
18585         * WebView.subproj/WKDefaultWebController.mm: (+[WKObjectHolder
18586         holderWithObject:]), (-[WKObjectHolder initWithObject:]), (-[WKObjectHolder
18587         dealloc]), (-[WKObjectHolder copyWithZone:]), (-[WKObjectHolder hash]),
18588         (-[WKObjectHolder object]), (-[WKObjectHolder isEqual:]),
18589         (-[WKDefaultWebController initWithView:dataSource:]), (-[WKDefaultWebController
18590         dealloc]), (-[WKDefaultWebController setDirectsAllLinksToSystemBrowser:]),
18591         (-[WKDefaultWebController directsAllLinksToSystemBrowser]),
18592         (-[WKDefaultWebController setView:andDataSource:]), (-[WKDefaultWebController
18593         viewForDataSource:]), (-[WKDefaultWebController dataSourceForView:]),
18594         (-[WKDefaultWebController mainView]), (-[WKDefaultWebController mainDataSource]),
18595         (-[WKDefaultWebController createViewForDataSource:inFrameNamed:]),
18596         (-[WKDefaultWebController createViewForDataSource:inIFrame:]),
18597         (-[WKDefaultWebController setStatusText:forDataSource:]),
18598         (-[WKDefaultWebController statusTextForDataSource:]), (-[WKDefaultWebController
18599         authenticate:]), (-[WKDefaultWebController
18600         receivedProgress:forResource:fromDataSource:]), (-[WKDefaultWebController
18601         receivedError:forResource:partialProgress:fromDataSource:]),
18602         (-[WKDefaultWebController locationWillChangeTo:]), (-[WKDefaultWebController
18603         locationChangeStartedForDataSource:]), (-[WKDefaultWebController
18604         locationChangeInProgressForDataSource:]), (-[WKDefaultWebController
18605         locationChangeDone:forDataSource:]), (-[WKDefaultWebController
18606         receivedPageTitle:forDataSource:]), (-[WKDefaultWebController
18607         serverRedirectTo:forDataSource:]):
18608         * WebView.subproj/WKDefaultWebControllerPrivate.h:
18609         * WebView.subproj/WKDefaultWebControllerPrivate.mm:
18610         (-[WKDefaultWebControllerPrivate init]), (-[WKDefaultWebControllerPrivate
18611         dealloc]):
18612         * WebView.subproj/WKWebController.h:
18613         * WebView.subproj/WKWebController.mm:
18614         * WebView.subproj/WKWebDataSource.h:
18615         * WebView.subproj/WKWebDataSource.mm: (-[WKWebDataSource _commonInitialization]),
18616         (-[WKWebDataSource initWithURL:]), (-[WKWebDataSource parent]),
18617         (-[WKWebDataSource isMainDocument]), (-[WKWebDataSource children]),
18618         (-[WKWebDataSource frameNames]), (-[WKWebDataSource
18619         findDataSourceForFrameNamed:]), (-[WKWebDataSource frameExists:]),
18620         (-[WKWebDataSource openURL:inFrameNamed:]), (-[WKWebDataSource
18621         openURL:inIFrame:]), (-[WKWebDataSource controller]), (-[WKWebDataSource
18622         inputURL]), (-[WKWebDataSource finalURL]), (-[WKWebDataSource wasRedirected]),
18623         (-[WKWebDataSource startLoading:]), (-[WKWebDataSource stopLoading]),
18624         (-[WKWebDataSource isLoading]), (-[WKWebDataSource documentText]),
18625         (-[WKWebDataSource base]), (-[WKWebDataSource baseTarget]), (-[WKWebDataSource
18626         encoding]), (-[WKWebDataSource setUserStyleSheetFromURL:]), (-[WKWebDataSource
18627         setUserStyleSheetFromString:]), (-[WKWebDataSource icon]), (-[WKWebDataSource
18628         isPageSecure]), (-[WKWebDataSource pageTitle]):
18629         * WebView.subproj/WKWebDataSourcePrivate.h:
18630         * WebView.subproj/WKWebDataSourcePrivate.mm: (-[WKWebDataSourcePrivate init]),
18631         (-[WKWebDataSourcePrivate dealloc]), (-[WKWebDataSource _setController:]),
18632         (-[WKWebDataSource _part]):
18633         * WebView.subproj/WKWebView.h:
18634         * WebView.subproj/WKWebView.mm: (-[WKWebView initWithFrame:]), (-[WKWebView
18635         dealloc]), (-[WKWebView controller]), (-[WKWebView dataSourceChanged]),
18636         (-[WKWebView layout]), (-[WKWebView stopAnimations]), (-[WKWebView
18637         setFontSizes:]), (-[WKWebView fontSizes]), (-[WKWebView resetFontSizes]),
18638         (-[WKWebView setStandardFont:]), (-[WKWebView standardFont]), (-[WKWebView
18639         setFixedFont:]), (-[WKWebView fixedFont]), (-[WKWebView setCanDragFrom:]),
18640         (-[WKWebView canDragFrom]), (-[WKWebView setCanDragTo:]), (-[WKWebView
18641         canDragTo]), (-[WKWebView defaultContextMenuItemsForNode:]), (-[WKWebView
18642         setContextMenusEnabled:]), (-[WKWebView deselectText]), (-[WKWebView
18643         searchFor:direction:caseSensitive:]), (-[WKWebView selectedText]), (-[WKWebView
18644         delayLayout:]), (-[WKWebView notificationReceived:]), (-[WKWebView
18645         setNeedsLayout:]), (-[WKWebView drawRect:]), (-[WKWebView setIsFlipped:]),
18646         (-[WKWebView isFlipped]), (-[WKWebView setFrame:]), (-[WKWebView mouseUp:]),
18647         (-[WKWebView mouseDown:]), (-[WKWebView mouseDragged:]):
18648         * WebView.subproj/WKWebViewPrivate.h:
18649         * WebView.subproj/WKWebViewPrivate.mm: (-[WKWebViewPrivate init]),
18650         (-[WKWebViewPrivate dealloc]), (-[WKWebView _resetView]), (-[WKWebView
18651         _setController:]):
18652
18653 2002-01-14  Maciej Stachowiak  <mjs@apple.com>
18654
18655         Convert build system to automake
18656
18657         * Makefile.am: Add this
18658         * Makefile.in: Remove this (now autogenerated)
18659         * .cvsignore: Fix ignores
18660         * WebKit.pbproj/project.pbxproj: Twiddle link flags
18661
18662 2001-12-21  John Sullivan  <sullivan@apple.com>
18663
18664         * .cvsignore:
18665         * WebKit.pbproj/.cvsignore:
18666         Added files that were showing up on my machine to .cvsignores.
18667
18668 2001-12-18  Kenneth Kocienda  <kocienda@apple.com>
18669
18670         Deleted one little word
18671
18672         * Documentation/WebKit-White-Paper/WebKit-White-Paper.html:
18673
18674 2001-12-18  Richard Williamson  <rjw@apple.com>
18675
18676         Restructing of headers in prepartion for implementation.  Added new WK*
18677         headers to PB project description.
18678
18679         * ChangeLog:
18680         * WebKit.pbproj/project.pbxproj:
18681         * WebView.subproj/NSWebPageDataSource.h:
18682         * WebView.subproj/NSWebPageDataSource.mm:
18683         * WebView.subproj/NSWebPageDataSourcePrivate.h:
18684         * WebView.subproj/NSWebPageView.h:
18685         * WebView.subproj/NSWebPageView.mm:
18686         * WebView.subproj/NSWebPageViewPrivate.h:
18687         * WebView.subproj/WKWebController.h:
18688         * WebView.subproj/WKWebController.mm:
18689         * WebView.subproj/WKWebDataSource.h:
18690         * WebView.subproj/WKWebDataSource.mm: (+[WKWebDataSource initialize]):
18691         * WebView.subproj/WKWebDataSourcePrivate.h:
18692         * WebView.subproj/WKWebView.h:
18693         * WebView.subproj/WKWebView.mm:
18694         * WebView.subproj/WKWebViewPrivate.h:
18695
18696 2001-12-18  Kenneth Kocienda  <kocienda@apple.com>
18697
18698         Updated the white paper text and graphics.
18699         
18700         * Documentation/WebKit-White-Paper/WebKit-White-Paper.html:
18701         * Documentation/WebKit-White-Paper/images/webkit-cache-loader.jpg:
18702         * Documentation/WebKit-White-Paper/images/webkit-classes.jpg:
18703
18704 2001-12-18  Kenneth Kocienda  <kocienda@apple.com>
18705
18706         Merged "Changes" information into individual files
18707
18708         * Cache.subproj/WKLoadChunk.h:
18709         * Cache.subproj/WKWebCache.h:
18710         * Cache.subproj/WKWebCacheClient.h:
18711         * Cache.subproj/WKWebContentType.h:
18712
18713 2001-12-17  Kenneth Kocienda  <kocienda@apple.com>
18714
18715         Fixed small cpp glitch in WKWebCache.
18716         Added WKAttributedURL header.
18717         Updated WKBackForwardList with ifdef'ed out new design.
18718         
18719         * Cache.subproj/WKWebCache.h:
18720         * History.subproj/WKAttributedURL.h:
18721         * History.subproj/WKBackForwardList.h:
18722
18723 2001-12-17  Kenneth Kocienda  <kocienda@apple.com>
18724
18725         Added header files by chopping up the CacheAPI.h document I have been working on.
18726
18727         * Cache.subproj/WKLoadChunk.h:
18728         * Cache.subproj/WKWebCache.h:
18729         * Cache.subproj/WKWebCacheClient.h:
18730         * Cache.subproj/WKWebContentType.h:
18731
18732 2001-12-17  Kenneth Kocienda  <kocienda@apple.com>
18733
18734         Did some verb tense cleanup.
18735
18736         * Documentation/WebKit-White-Paper/WebKit-White-Paper.html:
18737
18738 2001-12-17  Kenneth Kocienda  <kocienda@apple.com>
18739
18740         Added the current draft of the WebKit white paper.
18741         
18742         * Documentation/WebKit-White-Paper/WebKit-White-Paper.html:
18743         * Documentation/WebKit-White-Paper/images/webkit-cache-loader.jpg:
18744
18745 2001-12-14  Richard Williamson  <rjw@apple.com>
18746
18747         Remove WKContextMenuHandler for want of a better way to describe the
18748         not-yet-existing WKDOMNode.  We can't think of any initial clients that want
18749         to override the default behavior anyway.  Put it in WKGrabBag.h for now.
18750
18751         * WebView.subproj/WKWebController.h:   
18752
18753 2001-12-14  Richard Williamson  <rjw@apple.com>
18754         
18755         Remove explicit API to get/set the selection range.  This will be postponed until we
18756         have a DOM API that allows us to express selection ranges correctly.  Instead we have API
18757         that should support searching and getting a NSAttributedString that corresponds to
18758         the selected text.
18759
18760         Added the following methods:
18761             - (void)searchFor: (NSString *)string direction: (BOOL)forward caseSensitive: (BOOL)case
18762             - deselectText;
18763             - (NSAttributedString *)selectedText;
18764        
18765         * WebView.subproj/WKWebView.h:    
18766
18767         Moved search API to WKWebView.
18768         
18769         Moved WKPreferences to a new file, WKPreferences.h.  We are still discussing
18770         this item and it will not make it into the white paper.
18771                     
18772         Minor naming changes.
18773
18774         * WebView.subproj/WKDataSource.h:        
18775
18776 2001-12-14  Maciej Stachowiak  <mjs@apple.com>
18777
18778         Simplified WKLocationChangeHandler and updated
18779         WKAuthenticationHandler.
18780
18781         * WebView.subproj/WKWebController.h:
18782         (WKWebDataSource): Renamed methods to be forDataSource, not
18783         byDataSource.
18784         (-[WKWebDataSource locationChangeInProgressForDataSource:]): Added.
18785         (-[WKWebDataSource locationChangeDone:forDataSource:]): Added as a
18786         collapsed version of locationChangeCancelled:,
18787         locationChangeStopped: and locationChangeFinished:.
18788         (WKSimpleAuthenticationResult, WKSimpleAuthenticationRequest):
18789         made these interfaces instead of structs.
18790         
18791 2001-12-14  Maciej Stachowiak  <mjs@apple.com>
18792
18793         Minor cleanups, mostly for naming consistency.
18794         
18795         * WebView.subproj/WKWebController.h: 
18796         (WKSimpleAuthenticationRequest) name field `url', not `uri'.
18797         (-[WKWebDataSourceErrorHandler receivedError:forDataSource:]):
18798         renamed from `error:inDataSource:' so that it's a verb phrase.
18799         
18800         * WebView.subproj/WKWebDataSource.h:
18801         (-[WKWebDataSource initWithURL:]): Rename `inputUrl' argument to
18802         `inputURL'.
18803         (-[WKWebDataSource initWithLoader:]): Change argument type from
18804         `WKURILoader' to `WKLoader'.
18805         (-[WKWebDataSource wasRedirected]): Renamed from `isRedirected',
18806         the past tense seems more appropriate here.
18807         (-[WKWebDataSource setJavaEnabled:]): Add missing semicolon.
18808         (-[WKWebDataSource pluginsEnabled:]): renamed from `pluginEnabled'
18809         for consistency with `setPluginsEnabled:'.
18810
18811         * WebView.subproj/WKWebView.h:
18812         (-[WKWebView fontSizes]): renamed from `fontSize' for sonsistency
18813         with `setFontSizes:'.
18814         (-[WKWebView setContextMenusEnabled]): renamed from
18815         'setEnableContextMenus:' for consistency with
18816         `contextMenusenabled'.
18817
18818 2001-12-14  Maciej Stachowiak  <mjs@apple.com>
18819
18820         After discussion with Don, Removed all methods relating to
18821         resolved URLs, since browsers don't actually treat aliases
18822         specially.
18823         
18824         * WebView.subproj/WKWebController.h: removed inputURLresolvedTo: methods.
18825         * WebView.subproj/WKWebDataSource.h: remove resolvedURL method,
18826         and mentions of it in comments.
18827
18828 2001-12-13  Richard Williamson  <rjw@apple.com>
18829   
18830         Removed WKFrameSetHandler, placed that functionality on WKWebDataSource.
18831         
18832         Changed WKLocationChangeHandler to add a parameter specifying the data source
18833         that sent the message.
18834
18835         * WebView.subproj/WKWebController.h:
18836
18837 2001-12-13  Maciej Stachowiak  <mjs@apple.com>
18838
18839         Warning fixes and support to pass the http headers along with
18840         cache data items
18841
18842         * Cache.subproj/NSURICacheData.h, Cache.subproj/NSURICacheData.m:
18843         (+[NSURICacheData
18844         dataWithURL:status:error:headers:data:size:notificationString:userData:],
18845         -[NSURICacheData
18846         initWithURL:status:error:headers:data:size:notificationString:userData:]),
18847         -[NSURICacheData dealloc], -[NSURICacheData error],
18848         -[NSURICacheData headers]: 
18849         NSURICacheData now carries a copy of the response headers
18850         dictionary.
18851         * Cache.subproj/NSURICache.m: include "WCURICache.h" to fix warnings.
18852         (-[NSURICache requestWithURL:requestor:userData:]): 
18853         Handle headers in CacheData.
18854         * Cache.subproj/NSURILoad.h, Cache.subproj/NSURILoad.m:
18855         (-[NSURILoad __NSURILoadReadStreamCallback:event:data:],
18856         -[NSURILoad headers], -[NSURILoad dealloc], -[NSURILoad done]): 
18857         An NSURILoad object now carries the response headers associated
18858         with its connection, if any.
18859
18860         * History.subproj/WKBackForwardList.m: include WCBackForwardList.h
18861         to fix warning.
18862         * History.subproj/WKURIEntry.m: include WCURIEntry.h to fix
18863         warning.
18864         * Misc.subproj/WebKitDebug.h: Use (void) for C prototypes, not ().
18865         * WebView.subproj/NSWebPageDataSource.mm: (+[NSWebPageDataSource
18866         initialize]): Remove unused variable to fix warning.
18867         * WebKit.pbproj/project.pbxproj: Enable many warning flags and -Werror
18868
18869 2001-12-13  Maciej Stachowiak  <mjs@apple.com>
18870
18871         * WebView.subproj/WKWebController.h: Defined initial version of
18872         WKAuthenticationHandler interface, and associated
18873         WKSimpleAuthenticationRequest and WKSimpleAuthenticationResult
18874         structs.
18875
18876 2001-12-13  Richard Williamson  <rjw@apple.com>
18877     
18878         Remove setBase: and setBaseTarget:
18879         
18880         Changed return type of baseTarget to (NSString *)
18881         
18882         Added the following two methods:
18883             - (WKDataSource *)parent;
18884             - (NSArry *)children;
18885             - (BOOL)isMainDocument;
18886   
18887         Added the following methods:
18888         
18889             - (NSArray *)frameNames;
18890             - (WKWebDataSource) findDataSourceForFrameNamed: (NSString *)name;
18891             - (BOOL)frameExists: (NSString *)name;
18892             - (void)openURL: (NSURL *)url inFrameNamed: (NSString *)frameName;
18893             - (void)openURL: (NSURL *)url inIFrame: (id)iFrameIdentifier;
18894
18895         * WebView.subproj/WKWebDataSource.h:
18896
18897 2001-12-12  Richard Williamson  <rjw@apple.com>
18898
18899         Changed WKConcreteWebController to WKDefaultWebController.
18900         
18901         Changed WKLocationChangedHandler naming, replace "loadingXXX" with
18902         "locationChangeXXX".
18903
18904         Changed loadingStopped in WKLocationChangedHandler to locationChangeStopped:(WKError *).
18905
18906         Changed loadingCancelled in WKLocationChangedHandler to locationChangeCancelled:(WKError *).
18907         
18908         Changed loadedPageTitle in WKLocationChangedHandler to receivedPageTitle:.
18909
18910         Added inputURL:(NSURL *) resolvedTo: (NSURL *) to WKLocationChangedHandler.
18911         
18912         Added the following two methods to WKLocationChangedHandler:
18913         
18914             - (void)inputURL: (NSURL *)inputURL resolvedTo: (NSURL *)resolvedURL;
18915             - (void)serverRedirectTo: (NSURL *)url;
18916        
18917         Put locationWillChangeTo: back on WKLocationChangedHandler.
18918         
18919         Changed XXXforLocation in WKLoadHandler to XXXforResource.
18920         
18921         Changed timeoutForLocation: in WKLoadHandler to receivedError:forResource:partialProgress:
18922         
18923         Added the following two methods to WKDefaultWebController:
18924         
18925             - setDirectsAllLinksToSystemBrowser: (BOOL)flag
18926             - (BOOL)directsAllLinksToSystemBrowser;
18927             
18928         Removed WKError.  This will be described in WKError.h.
18929
18930         * WebView.subproj/WKWebController.h:
18931
18932 2001-12-12  Richard Williamson  <rjw@apple.com>
18933     
18934         After group discussion we decided to classify API as :
18935         Tier 1:  Needed by our browser (or Sherlock).
18936         Tier 2:  Nedded by Apple internal clients (Mail, Help, PB, other TBD).
18937         Tier 3:  Third party software vendors.
18938     
18939         Added finalURL and isRedirected.
18940         
18941         * WebView.subproj/WKWebDataSource.h:
18942
18943 2001-12-11  Chris Blumenberg  <cblu@apple.com>
18944
18945         * ChangeLog:
18946         * WebView.subproj/NSWebPageDataSource.mm: (+[NSWebPageDataSource initialize]):
18947
18948 2001-12-11  Chris Blumenberg  <cblu@apple.com>
18949
18950         * WebView.subproj/NSWebPageDataSource.mm: (+[NSWebPageDataSource initialize]):
18951
18952 2001-12-10  John Sullivan  <sullivan@apple.com>
18953
18954         * WebView.subproj/WKWebController.h:
18955         * WebView.subproj/WKWebDataSource.h:
18956         * WebView.subproj/WKWebView.h:
18957
18958         Fixed some typos and misspellings.
18959
18960 2001-12-07  Richard Williamson  <rjw@apple.com>
18961
18962         * WebView.subproj/NSWebPageDataSource.h:
18963         * WebView.subproj/NSWebPageDataSourcePrivate.h:
18964         * WebView.subproj/NSWebPageView.h:
18965         
18966         First pass at API for WKWebView and WKWebDataSource.  Note
18967         that we have to change names from NS to WK!  The new API is conditionally
18968         excluded #ifdef READY_FOR_PRIMETIME
18969         
18970         Added these files:
18971         
18972         * WebView.subproj/WKWebDataSource.h:
18973         * WebView.subproj/WKWebView.h:
18974         * WebView.subproj/WKWebController.h:
18975
18976 2001-12-06  Maciej Stachowiak  <mjs@apple.com>
18977
18978         * Cache.subproj/NSURICacheData.m: (+[NSURICacheData
18979         dataWithURL:status:error:data:size:notificationString:userData:]),
18980         (-[NSURICacheData
18981         initWithURL:status:error:data:size:notificationString:userData:]):
18982         Remove redundant semicolons between the end of the prototype and
18983         the open brace, because they confuse the changelog script.
18984