2002-12-03 Trey Matteson Re-fix of 3113393 - Clients side redirects shouldn't always add item to back/forward list Fix 3116980 - REGRESSION: Back button goes back twice Fix 3099631 - assertion failure at http://www.calendarlive.com/ when pop-up blocking is off The earlier fix for the first bug was to consider any redirect happening within one second as a continuation of the previous load. To fix the regressions I re-cast that fix using a similar, pre-existing mechanism. Reviewed by: Richwill * WebView.subproj/WebFramePrivate.h: Nuke shortRedirectComing, rename instantRedirectComing to quickRedirectComing. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _createOrUpdateItem]): Remove code related to shortRedirectComing, the fix that brought the regressions. (-[WebFrame _setState:]): Don't cache the page we're leaving if we're doing a redirect (since we don't want the redirecting page in the cache). (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:request:]): Above rename. (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): Above rename. (-[WebFrame _loadURL:intoChild:]): Comment fix. (-[WebFrame _clientRedirectedTo:delay:fireDate:]): Use 1 second instead of 0 seconds as the metric of a client redirect. Do not consider whether the frame state is completed as part of the decision. (-[WebFrame _clientRedirectCancelled]): Above rename. 2002-12-03 John Sullivan Reviewed by: Darin - REALLY changed the default state for block pop-ups to be off. * WebView.subproj/WebPreferences.m: (+[WebPreferences load]): change default for letting JavaScript open windows automatically to YES 2002-12-03 Darin Adler - fixed 3117135 -- world leak: drag any image, get a leak of 1 WebFrame Reviewed by John. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView mouseDragged:]): Retain the URL of the dragged image, not the entire element dictionary. The element dictionary creates a reference cycle since it includes a reference to the WebFrame. (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Use the URL rather than extracting it from the dictionary with a WebElementImageURLKey. * WebView.subproj/WebHTMLViewPrivate.h: URL, not element dictionary. * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLViewPrivate dealloc]): Release the URL, not the element dictionary. 2002-12-03 Richard Williamson Added a preference to change the page cache size, i.e.: Alexander.app/Contents/MacOS/Alexander -WebKitPageCacheSizePreferenceKey 4 Reviewed by: hyatt * History.subproj/WebBackForwardList.m: (+[WebBackForwardList setPageCacheSize:]): (+[WebBackForwardList pageCacheSize]): * WebView.subproj/WebPreferences.m: (+[WebPreferences load]): (-[WebPreferences _initialTimedLayoutSize]): (-[WebPreferences _pageCacheSize]): * WebView.subproj/WebPreferencesPrivate.h: 2002-12-03 Richard Williamson Fixed 3019986. Use an array of font families instead of a single font family to support CSS family lists. r=hyatt * Misc.subproj/WebKitNSStringExtras.m: (-[NSString _web_widthForString:font:]): * Misc.subproj/WebStringTruncator.m: (+[WebStringTruncator rightTruncateString:toWidth:withFont:]): (+[WebStringTruncator centerTruncateString:toWidth:withFont:]): * WebCoreSupport.subproj/WebTextRenderer.h: * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer substituteFontForString:families:]): (-[WebTextRenderer substituteFontForCharacters:length:families:]): (-[WebTextRenderer widthForCharacters:length:]): (-[WebTextRenderer drawCharacters:stringLength:fromCharacterPosition:toCharacterPosition:atPoint:withPadding:withTextColor:backgroundColor:rightToLeft:letterSpacing:wordSpacing:fontFamilies:]): (-[WebTextRenderer floatWidthForCharacters:stringLength:characterPosition:]): (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:]): (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:letterSpacing:wordSpacing:fontFamilies:]): (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:fontFamilies:]): * WebCoreSupport.subproj/WebTextRendererFactory.h: * WebCoreSupport.subproj/WebTextRendererFactory.m: (-[WebTextRendererFactory fontWithFamilies:traits:size:]): (-[WebTextRendererFactory fontWithFamily:traits:size:]): (+[WebTextRendererFactory fallbackFontWithTraits:size:]): (-[WebTextRendererFactory cachedFontFromFamily:traits:size:]): (-[WebTextRendererFactory cachedFontFromFamilies:traits:size:]): (-[WebTextRendererFactory rendererWithFamilies:traits:size:]): 2002-12-03 Chris Blumenberg Fixed: 3115073 - REGRESSION: plants.com is crashing in WebIconDB with bad retain count 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. We now consider icons without retain counts to not exist even if they're on disk. * Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase _updateFileDatabase]): (-[WebIconDatabase _setIconURL:forSiteURL:]): 2002-12-03 Chris Blumenberg Fixed: 3112477 - REGRESSION: dropping image within window loads image in current window Fix: Unregister the parent webview for dragging when the drag starts, reregister after the drag ends. 3116423 - Dragged images sometimes have the wrong promised-file file type Fix: Make the - [NSView_web_dragPromisedImage...] method take a file type rather than deriving the file type from the URL 3115768 - REGRESSION: contextual menu item "copy url to clipboard" doesn't work Fix: In [NSPastboard _web_writeURL:andTitle:withOwner:] adding pboard types doesn't work for the general pasteboard, have to redeclare. 3116594 - Image on the drag pasteboard shouldn't have applied transparency and scaling Fix: In - [NSView_web_dragPromisedImage...] put the original image on the pboard Reviewed by John. * Misc.subproj/WebNSPasteboardExtras.m: (-[NSPasteboard _web_writeURL:andTitle:withOwner:]): don't use addTypes as it doesn't work as I expected * Misc.subproj/WebNSViewExtras.h: * Misc.subproj/WebNSViewExtras.m: (-[NSView _web_dragPromisedImage:origin:URL:fileType:title:event:]): put the original image on the pboard, not the drag image * WebView.subproj/WebHTMLView.m: (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]): (-[WebHTMLView mouseDragged:]): call _web_dragPromisedImage (-[WebHTMLView draggedImage:endedAt:operation:]): call -[WebView _reregisterDraggedTypes] * WebView.subproj/WebImageView.m: (-[WebImageView mouseDragged:]): call _web_dragPromisedImage (-[WebImageView draggedImage:endedAt:operation:]): call -[WebView _reregisterDraggedTypes] * WebView.subproj/WebView.m: (-[WebView initWithFrame:]): call _reregisterDraggedTypes (-[WebView draggingEntered:]): simplified, don't need to check drag source * WebView.subproj/WebViewPrivate.h: * WebView.subproj/WebViewPrivate.m: (-[WebView _reregisterDraggedTypes]): 2002-12-03 Darin Adler - fixed 3114796 -- WORLD LEAKS: 1 WebFrame leaked on trivial source file with tag only (probably fixed a ton of other bugs too, since this always leaks) Reviewed by Chris. * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _elementAtPoint:]): Added a missing autorelease. 2002-12-03 Darin Adler Reviewed by Maciej. * WebView.subproj/WebView.m: Fixed a pair of strings that conflict. * English.lproj/Localizable.strings: Regenerated. * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes. 2002-12-02 Trey Matteson Refined bookmark notifications to be more detailed. We now have added, removed, willChange and didChange. * Bookmarks.subproj/WebBookmarkGroup.h: New API. * Bookmarks.subproj/WebBookmarkGroup.m: (-[WebBookmarkGroup _sendNotification:forBookmark:children:]): (-[WebBookmarkGroup _setTopBookmark:]): (-[WebBookmarkGroup _bookmarkWillChange:]): (-[WebBookmarkGroup _bookmarkDidChange:]): (-[WebBookmarkGroup _bookmarkChildren:wereAddedToParent:]): (-[WebBookmarkGroup _bookmarkChildren:wereRemovedToParent:]): All just small pieces of flow control for posting the notes. * Bookmarks.subproj/WebBookmarkGroupPrivate.h: Internal methods for posting the notes. * Bookmarks.subproj/WebBookmarkLeaf.m: (-[WebBookmarkLeaf setTitle:]): Post da note (-[WebBookmarkLeaf setURLString:]): Post da note (-[WebBookmarkLeaf description]): Added for debugging. * Bookmarks.subproj/WebBookmarkList.m: (-[WebBookmarkList setTitle:]): Post da note (-[WebBookmarkList removeChild:]): Post da note (-[WebBookmarkList insertChild:atIndex:]): Post da note * Bookmarks.subproj/WebBookmarkProxy.m: (-[WebBookmarkProxy setTitle:]): Post da note * English.lproj/StringsNotToBeLocalized.txt: New strings. * WebKit.exp: New strings. 2002-12-02 Maciej Stachowiak - added original URL field to action dictionary so that policy delegates can avoid prompting over and over on redirects. * WebKit.exp: * WebView.subproj/WebControllerPolicyDelegate.h: * WebView.subproj/WebControllerPolicyDelegate.m: * WebView.subproj/WebDataSource.m: (-[WebDataSource initWithRequest:]): * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _startLoading:]): * WebView.subproj/WebFrame.m: (-[WebFrame loadRequest:]): * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebFramePrivate.m: (-[WebFrame _actionInformationForNavigationType:event:originalURL:]): (-[WebFrame _checkNavigationPolicyForRequest:dataSource:andCall:withSelector:]): (-[WebFrame _addExtraFieldsToRequest:]): (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): (-[WebFrame _postWithURL:data:contentType:triggeringEvent:]): 2002-11-28 Darin Adler * Downloads.subproj/WebDownloadHandler.m: (-[WebDownloadHandler createFileIfNecessary]): Add a FIXME. (-[WebDownloadHandler writeDataForkData:resourceForkData:]): Notify that the file system has changed so the Finder can respond to the size change. (-[WebDownloadHandler finishedLoading]): Notify that the file system has changed now that the download has completed and the files are closed (may be redundant now that we have the above, but will do no harm). * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): Use _web_isCaseInsensitiveEqualToString instead of lowercaseString. * Misc.subproj/WebNSViewExtras.m: Tweak formatting. 2002-11-27 Richard Williamson Fixed 3113393. Client side redirects that happen <= 1 second update the current back/forward item, rather than creating a new one. * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebFramePrivate.m: (-[WebFrame _addBackForwardItemClippedAtTarget:]): (-[WebFrame _createOrUpdateItem]): (-[WebFrame _createItemTreeWithTargetFrame:clippedAtTarget:]): (-[WebFrame _transitionToCommitted:]): (-[WebFrame _clientRedirectedTo:delay:fireDate:]): (-[WebFrame _clientRedirectCancelled]): 2002-11-27 Richard Williamson Fixed measurement error for Ahem font (and any font that has a tiny fractional value). 3112745, 3112742 * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer initWithFont:]): 2002-11-26 Chris Blumenberg Fixed: 3090834 - Launch WMP (Window Media Player) when encountering WMP content Added contentURL to WebPluginError. * Plugins.subproj/WebNetscapePluginDocumentView.m: (-[WebNetscapePluginDocumentView setDataSource:]): * Plugins.subproj/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage initWithPath:]): * Plugins.subproj/WebNullPluginView.m: (-[WebNullPluginView viewDidMoveToWindow]): * Plugins.subproj/WebPluginError.h: * Plugins.subproj/WebPluginError.m: (-[WebPluginErrorPrivate dealloc]): (-[WebPluginError dealloc]): * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]): (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURL:]): === Alexander-34 === 2002-11-26 Richard Williamson Only cache page if the load has completed. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _setState:]): 2002-11-26 Chris Blumenberg Removed some logging. * WebView.subproj/WebControllerPrivate.m: (+[WebController _supportedImageMIMETypes]): 2002-11-26 Chris Blumenberg Fixed: 3112003 - Show standalone tiffs using AppKit not QT plug-in We now dynamically check NSImage for supported image types when registering WebImageView's and WebImageRepresentation's supported MIME types. * WebView.subproj/WebControllerPrivate.h: * WebView.subproj/WebControllerPrivate.m: (+[WebController _supportedImageMIMETypes]): convert NSImage types to mime types * WebView.subproj/WebDataSourcePrivate.m: (+[WebDataSource _repTypes]): use _supportedImageMIMETypes to register mime types of WebImageRepresentation * WebView.subproj/WebViewPrivate.m: (+[WebView _viewTypes]): use _supportedImageMIMETypes to register mime types of WebImageView 2002-11-26 Chris Blumenberg Fixed: 3061174 - javascript: URLs sent by plugins don't work For "Javascript:" URLs. * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): lowercase the scheme 2002-11-26 Richard Williamson More work on back/forward cache. It's ready for more general testing. Although, to be safe I've left it disabled by default for tomorrow's release. It will log when a page is save and restored from the page cache. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge saveDocumentToPageCache:]): * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _startLoading:]): (-[WebDataSource _commitIfReady:]): (-[WebDataSource _loadIcon]): * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionToCommitted:]): (-[WebFrame _setState:]): (-[WebFrame _loadItem:fromItem:withLoadType:]): (-[WebFrame _continueLoadRequestAfterNavigationPolicy:request:]): (-[WebFrame _setProvisionalDataSource:]): 2002-11-25 Richard Williamson Cleanup leaking objects in page cache. Cleaned up API a bit. * History.subproj/WebBackForwardList.h: * History.subproj/WebBackForwardList.m: (-[WebBackForwardList dealloc]): (+[WebBackForwardList setUsesPageCache:]): (+[WebBackForwardList usesPageCache]): (+[WebBackForwardList setPageCacheSize:]): (+[WebBackForwardList pageCacheSize]): * History.subproj/WebHistoryItem.h: * History.subproj/WebHistoryItem.m: (-[WebHistoryItem setHasPageCache:]): * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge saveDocumentToPageCache:]): * WebKit.exp: * WebView.subproj/WebFramePrivate.m: (-[WebFrame _canCachePage]): (-[WebFrame _purgePageCache]): (-[WebFrame _setState:]): (-[WebFrame _continueLoadRequestAfterNavigationPolicy:request:]): 2002-11-25 Richard Williamson Changed ordering of cachability check. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _setState:]): 2002-11-25 Richard Williamson Changes fro back/forward cache. * History.subproj/WebHistoryItem.h: * History.subproj/WebHistoryItem.m: (+[WebHistoryItem setUsePageCache:]): (+[WebHistoryItem usePageCache]): * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge saveDocumentToPageCache:]): * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebFramePrivate.m: (-[WebFrame _detachFromParent]): (-[WebFrame _canCachePage]): (-[WebFrame _setState:]): 2002-11-25 Chris Blumenberg Fixed 2 drag-related crashes. Oops. * Misc.subproj/WebNSViewExtras.m: (-[NSView _web_dragPromisedImage:fromOrigin:withURL:title:event:]): put nil at the end of the array list. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView mouseDragged:]): retain self before drag 2002-11-25 Chris Blumenberg - Allow missing icons to be restored when going to the page of the missing icon. * Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase _setIconURL:forSiteURL:]): 2002-11-25 Richard Williamson Changes for back/forward. Currently disabled. * History.subproj/WebHistoryItem.h: * History.subproj/WebHistoryItem.m: (-[WebHistoryItem dealloc]): (-[WebHistoryItem setPageCacheEnabled:]): (-[WebHistoryItem pageCache]): * Misc.subproj/WebKitLogging.h: * Misc.subproj/WebKitLogging.m: * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge saveDocumentToPageCache:]): * WebView.subproj/WebDataSource.m: (-[WebDataSource startLoading]): * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _startLoading:]): (-[WebDataSource _startLoading]): (-[WebDataSource _commitIfReady:]): (-[WebDataSource _commitIfReady]): (-[WebDataSource _setStoredInPageCache:]): (-[WebDataSource _storedInPageCache]): * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionToCommitted:]): (-[WebFrame _canCachePage]): (-[WebFrame _purgePageCache]): (-[WebFrame _setState:]): (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:request:]): (-[WebFrame _continueLoadRequestAfterNavigationPolicy:request:]): 2002-11-25 Richard Williamson Fixed exception thrown often when creating mouseover status text (3110186). * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _elementAtPoint:]): 2002-11-25 Darin Adler - fixed a problem I discovered in testing where multiple identical bookmarks confuse us * Bookmarks.subproj/WebBookmarkList.m: (-[WebBookmarkList removeChild:]): Use indexOfObjectIdenticalTo: and removeObjectIdenticalTo: instead of containsObject: and removeObject:. (-[WebBookmarkList insertChild:atIndex:]): Use indexOfObjectIdenticalTo: instead of containsObject: in the assertion. 2002-11-25 Chris Blumenberg Fixed: 3084350 - No URL flavors provided for images * Misc.subproj/WebNSViewExtras.h: * Misc.subproj/WebNSViewExtras.m: (-[NSView _web_dragPromisedImage:fromOrigin:withURL:title:event:]): renamed, simplifies dragging an image (-[WebFilePromiseDragSource initWithSource:]): subclass of NSFilePromiseDragSource, to be used later (-[WebFilePromiseDragSource draggingSource]): (-[WebFilePromiseDragSource dealloc]): * WebView.subproj/WebHTMLView.m: (-[WebHTMLView mouseDragged:]): call _web_dragPromisedImage:fromOrigin:withURL:title:event:, retain self (-[WebHTMLView draggedImage:endedAt:operation:]): added, release self * WebView.subproj/WebImageView.m: (-[WebImageView mouseDragged:]): call _web_dragPromisedImage:fromOrigin:withURL:title:event:, retain self (-[WebImageView draggedImage:endedAt:operation:]): added, release self * WebView.subproj/WebView.m: (-[WebView isDocumentHTML]): call isKindOfClass instead of className (-[WebView draggingEntered:]): check for WebFilePromiseDragSource 2002-11-24 Trey Matteson Added URLString method to WebHistoryItem to avoid silly conversions between NSURL and NSString. When the dust settles with our plans for NSURL we can rationalize this API with the rest of WebKit. * History.subproj/WebHistoryItem.h: * History.subproj/WebHistoryItem.m: (-[WebHistoryItem URLString]): 2002-11-24 Chris Blumenberg 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. * WebView.subproj/WebController.h: * WebView.subproj/WebController.m: * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _elementAtPoint:]): 2002-11-24 Chris Blumenberg Fixed: 3109945 - Assertion failure in -[WebIconDatabase_largestIconFromDictionary:] Added error strings for download decoding errors. * English.lproj/Localizable.strings: Added error strings for download decoding errors * English.lproj/StringsNotToBeLocalized.txt: * Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase _loadIconDictionaries]): tweak (-[WebIconDatabase _updateFileDatabase]): more error checking to prevent assert (-[WebIconDatabase _setIconURL:forSiteURL:]): added asserts to prevent a site URL <-> icon URL mapping without a icon URL -> icon mapping (-[WebIconDatabase _largestIconFromDictionary:]): tweak * Misc.subproj/WebNSPasteboardExtras.m: (-[NSPasteboard _web_writeURL:andTitle:withOwner:]): declare pboard types if none have been declared, else append types * WebView.subproj/WebView.m: (+[WebView initialize]): Added error strings for download decoding errors 2002-11-24 Maciej Stachowiak - fixed 3067939 - no support for window.document.lastModified * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _commitIfReady]): Pass last modified date to WebCore. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:request:]): Pass nil last modified date. 2002-11-23 Chris Blumenberg Fixed: 3109835 - Download errors aren't communicated to client Cleaned-up WebMainResourceClient and WebBaseResourceHandleDelegate a little. * Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase defaultIconWithSize:]): tweak (-[WebIconDatabase releaseIconForSiteURL:]): don't retain site URL here (-[WebIconDatabase _setIcon:forIconURL:]): tweak (-[WebIconDatabase _setIconURL:forSiteURL:]): tweak (-[WebIconDatabase _releaseIconForIconURLString:]): retain site URL here (-[WebIconDatabase _releaseFutureIconForSiteURL:]): tweak (-[WebIconDatabase _sendNotificationForSiteURL:]): tweak * WebView.subproj/WebBaseResourceHandleDelegate.h: * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate cancelWithError:]): made public (-[WebBaseResourceHandleDelegate cancel]): cancel downloads too, call cancelWithError (-[WebBaseResourceHandleDelegate cancelQuietly]): call cancelWithError (-[WebBaseResourceHandleDelegate cancelledError]): tweak (-[WebBaseResourceHandleDelegate notifyDelegatesOfInterruptionByPolicyChange]): tweak * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient receivedError:]): stop downloadHandler if downloading, else notify controller (-[WebMainResourceClient cancel]): call receivedError (-[WebMainResourceClient checkContentPolicyForResponse:andCallSelector:]): tweak (-[WebMainResourceClient handle:didReceiveData:]): stop load for download errors, report error (-[WebMainResourceClient handleDidFinishLoading:]): call didFailLoadingWithError is download error (-[WebMainResourceClient handle:didFailLoadingWithError:]): call receivedError 2002-11-22 Darin Adler * Misc.subproj/WebCoreStatistics.h: * Misc.subproj/WebCoreStatistics.m: (+[WebCoreStatistics javaScriptRootObjectClasses]): Update for name change -- root object classes, not all live object classes. 2002-11-22 Chris Blumenberg Fixed assertion while loading local files. * Misc.subproj/WebIconDatabase.m: we don't have icon URLs for files * WebView.subproj/WebDataSourcePrivate.m: (-[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. 2002-11-22 Chris Blumenberg * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient continueAfterContentPolicy:response:]): Added a FIXME around saveFilenameForResponse:andRequest: because the API expects a path but is asking for a filename. 2002-11-22 Chris Blumenberg Fixed: 3104693 - QT movie doesn't show video while still downloading The initial size of plug-in should be 0,0 instead of 1,1 or else we don't get the layout * Plugins.subproj/WebNetscapePluginDocumentView.m: (-[WebNetscapePluginDocumentView initWithFrame:]): 2002-11-22 Chris Blumenberg Fixed: 3078737 - Crash in -[WebHistoryItem dealloc] after closing last window * Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase releaseIconForSiteURL:]): retain the site URL string because it may get released from beneath (-[WebIconDatabase _updateFileDatabase]): tweak (-[WebIconDatabase _iconsForIconURLString:]): disable timings for deployment build (-[WebIconDatabase _setIconURL:forSiteURL:]): tweak (-[WebIconDatabase _releaseIconForIconURLString:]): tweak (-[WebIconDatabase _scaleIcon:toSize:]): disable timings for deployment build * Misc.subproj/WebIconDatabasePrivate.h: * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _updateIconDatabaseWithURL:]): new, does the db binding (-[WebDataSource _loadIcon]): call _updateIconDatabaseWithURL 2002-11-22 Chris Blumenberg Attempt to fix: 3078737 - Crash in -[WebHistoryItem dealloc] after closing last window 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. * Misc.subproj/WebIconDatabase.h: * Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase init]): (-[WebIconDatabase iconForSiteURL:withSize:cache:]): (-[WebIconDatabase iconForSiteURL:withSize:]): (-[WebIconDatabase retainIconForSiteURL:]): (-[WebIconDatabase releaseIconForSiteURL:]): (-[WebIconDatabase delayDatabaseCleanup]): (-[WebIconDatabase allowDatabaseCleanup]): (-[WebIconDatabase _iconDictionariesAreGood]): (-[WebIconDatabase _loadIconDictionaries]): (-[WebIconDatabase _updateFileDatabase]): (-[WebIconDatabase _hasIconForSiteURL:]): (-[WebIconDatabase _iconsForIconURLString:]): (-[WebIconDatabase _iconForFileURL:withSize:]): (-[WebIconDatabase _setIcon:forIconURL:]): (-[WebIconDatabase _setIconURL:forSiteURL:]): (-[WebIconDatabase _retainIconForIconURLString:]): (-[WebIconDatabase _releaseIconForIconURLString:]): (-[WebIconDatabase _retainFutureIconForSiteURL:]): (-[WebIconDatabase _releaseFutureIconForSiteURL:]): (-[WebIconDatabase _releaseOriginalIconsOnDisk]): (-[WebIconDatabase _sendNotificationForSiteURL:]): (-[WebIconDatabase _addObject:toSetForKey:inDictionary:]): (-[WebIconDatabase _largestIconFromDictionary:]): (-[WebIconDatabase _iconsBySplittingRepresentationsOfIcon:]): (-[WebIconDatabase _iconFromDictionary:forSize:cache:]): (-[WebIconDatabase _scaleIcon:toSize:]): * Misc.subproj/WebIconDatabasePrivate.h: * WebKit.exp: * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _loadIcon]): 2002-11-22 Richard Williamson Fixed rendering issues associated with 3100120. We now correctly map surrogate pairs in UTF-16. khtml still has issues dealing with characters outside BMP. These are tracked with 3109251 and 3109258. Surrogate pairs are treated as exceptions and have their own character to glyph map. * Misc.subproj/WebUnicode.h: * Misc.subproj/WebUnicode.m: (shapedString): * WebCoreSupport.subproj/WebTextRenderer.h: * WebCoreSupport.subproj/WebTextRenderer.m: (glyphForUnicodeCharacter): (findLengthOfCharacterCluster): (-[WebTextRenderer substituteFontForString:]): (-[WebTextRenderer convertUnicodeCharacters:length:toGlyphs:]): (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:]): (-[WebTextRenderer extendUnicodeCharacterToGlyphMapToInclude:]): (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]): 2002-11-22 John Sullivan * Resources/url_icon.tiff: new generic URL icon -- little blue globe, pretty nice * WebKit.exp: removed symbol for WebTextRendererFactory which was in here to support an obsolete SPI hack 2002-11-22 Trey Matteson Added more detailed notifications on history changes. All changes below are just posting the new notes at the right time. * English.lproj/StringsNotToBeLocalized.txt: * History.subproj/WebHistory.h: * History.subproj/WebHistory.m: (-[WebHistory _sendNotification:entries:]): (-[WebHistory addEntry:]): (-[WebHistory removeEntry:]): (-[WebHistory removeEntries:]): (-[WebHistory removeAllEntries]): (-[WebHistory addEntries:]): (-[WebHistory loadHistory]): * WebKit.exp: 2002-11-22 Richard Williamson Changed NSString category methods to include _web_ prefix. * Misc.subproj/WebKitNSStringExtras.h: * Misc.subproj/WebKitNSStringExtras.m: (-[NSString _web_widthForString:font:]): 2002-11-22 Richard Williamson Simplified drawing and measuring SPI for use by Alex. * Misc.subproj/WebKitNSStringExtras.h: Added. * Misc.subproj/WebKitNSStringExtras.m: Added. (-[NSString widthForString:font:]): * WebKit.pbproj/project.pbxproj: 2002-11-21 Chris Blumenberg Removed workaround for: 3093170 - Handle clients receive data with length 0 as it's now fixed. * Downloads.subproj/WebDownloadHandler.m: (-[WebDownloadHandler receivedData:]): remove workaround * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient handle:didReceiveData:]): added asserts 2002-11-21 Richard Williamson A different fix to 3078065 that doesn't depend on the appkit's idea of fixed pitch font. The fix is to adjust the width of all characters that have the same width as the space character to match the adjustment of the space character. This has the slight downside that non-monospace fonts that contain glyphs with the same width as the space character will have an extra adjustment. In practice this is not noticeable as the adjustment is always sub-pixel. Nor of course does this cause any mislayout, as it's done at the lowest level for both measurement and drawing. Until we move kthml internals to floats this will be just fine. * WebCoreSupport.subproj/WebTextRenderer.h: * WebCoreSupport.subproj/WebTextRenderer.m: (widthForGlyph): (-[WebTextRenderer initWithFont:]): (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:]): tAfterNavigationPolicy:request:]): 2002-11-21 Maciej Stachowiak * Makefile.am: Pass symroots for this tree to pbxbuild. 2002-11-21 Chris Blumenberg Fixed: 3009881 - plugins get mouse-overs even when mouse is in menus Fixed: 3108240 - Loading datasource sometimes doesn't have cancelled error when cancelled * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView sendNullEvent]): check if menus are showing (-[WebBaseNetscapePluginView restartNullEvents]): tweak * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _stopLoading]): set cancelled error if main handle is gone === Alexander-33 === 2002-11-20 Darin Adler * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): Unescape the string before executing it, so we don't suffer from bug 3083043 here in the javascript: URLs that come from plug-ins. * English.lproj/StringsNotToBeLocalized.txt: Update. 2002-11-20 Chris Blumenberg Fixed: 3079134 - Throttle plug-ins while in background * Plugins.subproj/WebBaseNetscapePluginView.h: * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView sendNullEvent]): new (-[WebBaseNetscapePluginView stopNullEvents]): stops timer (-[WebBaseNetscapePluginView restartNullEvents]): stops timer if there is one, and starts a new one based on window activation state (-[WebBaseNetscapePluginView start]): call restartNullEvents (-[WebBaseNetscapePluginView stop]): call stopNullEvents (-[WebBaseNetscapePluginView windowBecameKey:]): call restartNullEvents (-[WebBaseNetscapePluginView windowResignedKey:]): call restartNullEvents (-[WebBaseNetscapePluginView windowDidMiniaturize:]): call stopNullEvents (-[WebBaseNetscapePluginView windowDidDeminiaturize:]): call restartNullEvents * Plugins.subproj/WebNetscapePluginNullEventSender.h: Removed. No need for another class, use a timer. * Plugins.subproj/WebNetscapePluginNullEventSender.m: Removed. No need for another class, use a timer. * WebKit.pbproj/project.pbxproj: 2002-11-20 Richard Williamson Fixed 3107007. Letter-spacing is causing width to be miscalculated. This also fixed some selection problems. * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:]): 2002-11-20 Richard Williamson Fixed mono spaced fonts to always render with mono spacing! (3078065) * WebCoreSupport.subproj/WebTextRenderer.h: * WebCoreSupport.subproj/WebTextRenderer.m: (widthForGlyph): (-[WebTextRenderer initWithFont:]): 2002-11-20 Chris Blumenberg Fixed: 3074926 - crash in BitsToPix() trying to print cnet page * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView drawRect:]): disable experimental plug-in printing code. 2002-11-20 Chris Blumenberg Minor clean-up, logging and more error checking in plug-in code. * Plugins.subproj/WebBaseNetscapePluginStream.m: (-[WebBaseNetscapePluginStream setResponse:]): (-[WebBaseNetscapePluginStream receivedData:]): (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): * Plugins.subproj/npapi.m: (NPN_UserAgent): (NPN_MemFree): (NPN_MemFlush): (NPN_ReloadPlugins): 2002-11-20 Chris Blumenberg Fixed: 3061174 - javascript: URLs sent by plugins don't work * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): 2002-11-20 Darin Adler * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes. 2002-11-19 Chris Blumenberg Fixed: 3106061 - REGRESSION: Copy in text view copies all text not just selection * Misc.subproj/WebSearchableTextView.m: (-[WebSearchableTextView copy:]): 2002-11-19 Chris Blumenberg Fixed: 3092588 - redraw errors in QT controller if window is in background We need to send update events after we activate/deactivate after all. * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView windowBecameKey:]): (-[WebBaseNetscapePluginView windowResignedKey:]): 2002-11-19 Chris Blumenberg Fixed: 3020720 - dropping a folder in the page address makes the folder open in Finder, empties the field * Misc.subproj/WebNSPasteboardExtras.m: (-[NSPasteboard _web_bestURL]): Don't accept directories. 2002-11-19 Chris Blumenberg Fixed: 3068112 - extra line breaks when copying from source window * Misc.subproj/WebSearchableTextView.m: (-[WebSearchableTextView copy:]): Convert CRLF to LF 2002-11-19 David Hyatt Make sure that if the scrollers are shown/hidden that we force an immediate layout, since if we don't, an intervening display can cause us to show scrollbars when they really shouldn't be there. * WebView.subproj/WebDynamicScrollBarsView.m: (-[WebDynamicScrollBarsView updateScrollers]): 2002-11-19 Chris Blumenberg Fixed: 3100597 - repro NSArray exception using contextual menu * Misc.subproj/WebNSPasteboardExtras.m: (-[NSPasteboard _web_writeURL:andTitle:withOwner:]): more error checking 2002-11-19 Trey Matteson Just a tweak to the description printout. * History.subproj/WebHistoryItem.m: (-[WebHistoryItem description]): 2002-11-18 Chris Blumenberg Real fix for: 3104183 - Assert loading www.louisvuitton.com 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 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. * Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginStream start]): (-[WebNetscapePluginStream cancel]): (-[WebNetscapePluginStream handleDidFinishLoading:]): (-[WebNetscapePluginStream handle:didFailLoadingWithError:]): * WebView.subproj/WebBaseResourceHandleDelegate.h: * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate _releaseResources]): (-[WebBaseResourceHandleDelegate setDataSource:]): (-[WebBaseResourceHandleDelegate handle:willSendRequest:]): (-[WebBaseResourceHandleDelegate handleDidFinishLoading:]): (-[WebBaseResourceHandleDelegate handle:didFailLoadingWithError:]): (-[WebBaseResourceHandleDelegate _cancelWithError:]): * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSourcePrivate dealloc]): (-[WebDataSource _stopLoading]): (-[WebDataSource _makeHandleDelegates:deferCallbacks:]): (-[WebDataSource _defersCallbacksChanged]): 2002-11-18 Chris Blumenberg Fixed: 3104183 - Assert loading www.louisvuitton.com We need to treat plug-in streams like subresources except they don't change the loading state of the data source. * Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginStream start]): call _addPluginStream (-[WebNetscapePluginStream cancel]): call _removePluginStream (-[WebNetscapePluginStream handleDidFinishLoading:]): call _removePluginStream (-[WebNetscapePluginStream handle:didFailLoadingWithError:]): call _removePluginStream * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSourcePrivate dealloc]): release pluginStreams (-[WebDataSource _addPluginStream:]): just like addSubresourceClient except don't change the loading state. (-[WebDataSource _removePluginStream:]): just like removeSubresourceClient except don't change the loading state. (-[WebDataSource _stopLoading]): stop plug-ins streams (-[WebDataSource _makeHandleDelegates:deferCallbacks:]): (-[WebDataSource _defersCallbacksChanged]): call _makeHandleDelegates:deferCallbacks: for subresources and plug-in streams. 2002-11-18 Richard Williamson Check for usesBackForwardList was excluding all load types. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionToCommitted]): 2002-11-18 Chris Blumenberg Fixed: 3098767 - REGRESSION: standalone quicktime content just shows blank window Check the instance not the class for the class type. * Plugins.subproj/WebNetscapePluginRepresentation.m: (-[WebNetscapePluginRepresentation receivedData:withDataSource:]): 2002-11-18 Ken Kocienda Added feature to import bookmarks/favorites from MSIE. This fixes Radar 2961230 (import Mac IE bookmarks). * Bookmarks.subproj/WebBookmarkImporter.h: Added. * Bookmarks.subproj/WebBookmarkImporter.m: Added. (_breakStringIntoLines): (_HREFRangeFromSpec): (_HREFTextFromSpec): (_linkTextRangeFromSpec): (_linkTextFromSpec): (-[WebBookmarkImporter initWithPath:group:]): (-[WebBookmarkImporter topBookmark]): (-[WebBookmarkImporter error]): (-[WebBookmarkImporter dealloc]): * Bookmarks.subproj/WebBookmarkList.m: (-[WebBookmarkList init]): Create the bookmark list object. This was not created with the -init initializer, causing bookmark lists to fail. * English.lproj/Localizable.strings: * English.lproj/StringsNotToBeLocalized.txt: * WebKit.exp: * WebKit.pbproj/project.pbxproj: 2002-11-17 Trey Matteson Code cleanup to make some internal methods return autoreleased objects. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _addBackForwardItemClippedAtTarget:]): (-[WebFrame _createItem]): (-[WebFrame _createItemTreeWithTargetFrame:clippedAtTarget:]): (-[WebFrame _transitionToCommitted]): 2002-11-17 Trey Matteson Fixed 3102076 - REGRESSION: infinite recursion involving bridge end Fixed 3100929 - REGRESSION: serverRedirectedForDataSource: not sent on server redirects Fixed 3103381 - REGRESSION: Going back from anchor doesn't restore scroll position * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate handle:willSendRequest:]): Return the copy of the request that we make instead of the original. * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient handle:willSendRequest:]): Call super after we make our mods to the request, so the copy that super makes for us includes those mods. * WebView.subproj/WebFramePrivate.h: Added new state, WebFrameStateCompleting. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionToLayoutAcceptable]): Completing state is a NOP. (-[WebFrame _transitionToCommitted]): Completing state is a NOP. (-[WebFrame _isLoadComplete]): Go to Completing state before calling [bridge end]. Go to Completed state afterwards, only if no new loads started in the meantime. (-[WebFrame _loadItem:fromItem:withLoadType:]): When doing anchor nav to get to the item, save and restore scroll state, and set the current item. (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:request:]): Reorder the steps so the right scroll state gets saved to the right place. Also, don't add a backForward item if we're doing a client redirect to an anchor. 2002-11-17 David Hyatt Back out my previous fix. I have a better one that is confined to WebCore. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _isLoadComplete]): 2002-11-17 David Hyatt The needsdisplay is necessary even for HTML documents. I over-optimized here. Fixes the directory.apple.com regression and the santa clara library regression. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _isLoadComplete]): 2002-11-17 Darin Adler - update for change to WebCore API so it never uses NSURL * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge createWindowWithURL:frameName:]): Take NSString instead of NSURL. (-[WebBridge startLoadingResource:withURL:]): Ditto. (-[WebBridge objectLoadedFromCacheWithURL:response:size:]): Ditto. (-[WebBridge reportClientRedirectToURL:delay:fireDate:]): Ditto. (-[WebBridge setIconURL:]): Ditto. (-[WebBridge setIconURL:withType:]): Ditto. (-[WebBridge loadURL:reload:triggeringEvent:isFormSubmission:]): Ditto. (-[WebBridge postWithURL:data:contentType:triggeringEvent:]): Ditto. (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]): Ditto. (-[WebBridge userAgentForURL:]): Ditto. (-[WebBridge requestedURL]): Return NSString instead of NSURL. (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]): Take NSString instead of NSURL. (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURL:]): Take NSString instead of NSURL. * WebCoreSupport.subproj/WebCookieAdapter.m: (-[WebCookieAdapter cookiesForURL:]): Take NSString instead of NSURL. (-[WebCookieAdapter setCookies:forURL:policyBaseURL:]): Ditto. * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _commitIfReady]): Pass NSString instead of NSURL. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:request:]): Pass NSString instead of NSURL (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): Turn bridge URL into NSURL so we can call _web_URLByRemovingFragment on it. * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _elementAtPoint:]): Convert NSString to NSURL when making the WebKit element dictionary. 2002-11-17 Maciej Stachowiak - fixed 2949193 - implement onKeyDown, onKeyPress, and onKeyUp event handlers * WebView.subproj/WebHTMLViewPrivate.h: * WebView.subproj/WebHTMLViewPrivate.m: (+[WebHTMLView load]): Pose as NSWindow too now. (-[WebHTMLView _interceptKeyEvent:toView:]): Pass event to WebCore and see if WebCore wants to block it. (-[WebNSWindow sendEvent:]): For all key events that would go to a subview of a WebHTMLView, let the WebHTMLView take a first crack at it. 2002-11-15 Darin Adler - fixed 3079214 -- text/plain page shows up slowly, a few pages at a time * WebView.subproj/WebTextView.m: (-[WebTextView initWithFrame:]): Remove unneeded setWidthTracksTextView:, because that's the default. (-[WebTextView dataSourceUpdated:]): Replace the thing each time in the RTF case. (-[WebTextView viewDidMoveToSuperview]): Here's where we resize, but only the width. Resizing the height was causing the bug. (-[WebTextView layout]): Do nothing. (-[WebTextView setAcceptsDrags:]): Update to new name. Since we weren't importing WebDocument.h, we never noticed that this file got out of sync. (-[WebTextView acceptsDrags]): Ditto. (-[WebTextView setAcceptsDrops:]): Ditto. (-[WebTextView acceptsDrops]): Ditto. * WebView.subproj/WebDocument.h: Fix typo. It said setAcceptsDrags: twice. 2002-11-15 Darin Adler * WebView.subproj/WebFramePrivate.m: Removed a bunch of tabs and fixed indenting. 2002-11-15 Maciej Stachowiak - fixed 3102016 - REGRESSION: Command-clicking on a link can open _two_ windows. * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _setJustOpenedForTargetedLink:]): (-[WebDataSource _justOpenedForTargetedLink]): * WebView.subproj/WebFrame.m: (-[WebFrame findOrCreateFramedNamed:]): * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebFramePrivate.m: (-[WebFrame _continueAfterNavigationPolicy:]): (-[WebFrame _loadDataSource:withLoadType:]): (-[WebFrame _downloadRequest:toPath:]): (-[WebFrame _setJustOpenedForTargetedLink:]): 2002-11-15 Darin Adler * WebView.subproj/WebFramePrivate.m: (-[WebFrame _checkNavigationPolicyForRequest:dataSource:andCall:withSelector:]): Give the listener a slightly longer lifetime, to make this API a bit more foolproof. 2002-11-15 Maciej Stachowiak Fix world leak I introduced, and also add an early return when needed. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _invalidatePendingPolicyDecisionCallingDefaultAction:]): (-[WebFrame _checkNavigationPolicyForRequest:dataSource:andCall:withSelector:]): 2002-11-15 Maciej Stachowiak Make navigation policy asynchronous for real. * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebControllerPolicyDelegate.h: * WebView.subproj/WebControllerPolicyDelegate.m: (-[WebPolicyDecisionListenerPrivate initWithTarget:action:]): (-[WebPolicyDecisionListenerPrivate dealloc]): (-[WebPolicyDecisionListener usePolicy:]): (-[WebPolicyDecisionListener _initWithTarget:action:]): (-[WebPolicyDecisionListener dealloc]): (-[WebPolicyDecisionListener _invalidate]): * WebView.subproj/WebControllerPolicyDelegatePrivate.h: Added. * WebView.subproj/WebDefaultPolicyDelegate.m: (-[WebDefaultPolicyDelegate decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]): * WebView.subproj/WebFrame.m: (-[WebFrame stopLoading]): * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebFramePrivate.m: (-[WebFramePrivate dealloc]): (-[WebFrame _invalidatePendingPolicyDecisionCallingDefaultAction:]): (-[WebFrame _checkNavigationPolicyForRequest:dataSource:andCall:withSelector:]): (-[WebFrame _continueAfterNavigationPolicy:]): (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): (-[WebFrame _loadDataSource:withLoadType:]): 2002-11-15 Maciej Stachowiak Wrap content policy invocation to look asynchronous. * WebView.subproj/WebBaseResourceHandleDelegate.h: * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient continueAfterContentPolicy:response:]): (-[WebMainResourceClient checkContentPolicyForResponse:andCallSelector:]): (-[WebMainResourceClient handle:didReceiveResponse:]): 2002-11-15 Maciej Stachowiak Refactor so that all invocations of navigation policy are set up to be asynchronous. However, the actually delegate method is not async yet. * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebFramePrivate.m: (-[WebFrame _checkNavigationPolicyForRequest:dataSource:andCall:withSelector:]): (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:request:]): (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): (-[WebFrame _continueLoadRequestAfterNavigationPolicy:request:]): (-[WebFrame _loadDataSource:withLoadType:]): * WebView.subproj/WebMainResourceClient.h: * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient stopLoadingForPolicyChange]): (-[WebMainResourceClient continueAfterNavigationPolicy:request:]): (-[WebMainResourceClient handle:willSendRequest:]): (-[WebMainResourceClient handle:didReceiveResponse:]): 2002-11-14 Maciej Stachowiak Refactor things a bit so all loads bottleneck through a single method (_loadDataSource:withLoadType:). * WebView.subproj/WebFrame.m: (-[WebFrame loadRequest:]): (-[WebFrame reload]): * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebFramePrivate.m: (-[WebFrame _loadItem:fromItem:withLoadType:]): (-[WebFrame _loadRequest:triggeringAction:loadType:]): (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): (-[WebFrame _postWithURL:data:contentType:triggeringEvent:]): (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]): (-[WebFrame _loadDataSource:withLoadType:]): (-[WebFrame _downloadRequest:toPath:]): 2002-11-14 Maciej Stachowiak Change things so the public interface to loading is loadRequest: and everything else is private. * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): * Plugins.subproj/WebPluginController.m: (-[WebPluginController showURL:inFrame:]): * WebView.subproj/WebController.h: * WebView.subproj/WebController.m: (-[WebController init]): * WebView.subproj/WebControllerPrivate.m: (-[WebController _createFrameNamed:inParent:allowsScrolling:]): (-[WebController _downloadURL:toPath:]): * WebView.subproj/WebFrame.h: * WebView.subproj/WebFrame.m: (-[WebFrame init]): (-[WebFrame initWithName:webView:controller:]): (-[WebFrame loadRequest:]): (-[WebFrame reload]): * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebFramePrivate.m: (-[WebFrame _timedLayout:]): (-[WebFrame _clearProvisionalDataSource]): (-[WebFrame _loadItem:fromItem:withLoadType:]): (-[WebFrame _loadRequest:triggeringAction:]): (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]): (-[WebFrame _itemForRestoringDocState]): (-[WebFrame _setProvisionalDataSource:]): (-[WebFrame _startLoading]): (-[WebFrame _downloadRequest:toPath:]): * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient handle:willSendRequest:]): (-[WebMainResourceClient stopLoadingAfterContentPolicy]): (-[WebMainResourceClient handle:didReceiveResponse:]): * WebView.subproj/WebView.m: (-[WebView concludeDragOperation:]): 2002-11-14 David Hyatt Move text measurement and layout beyond onload. This shoudl speed up i-bench substantially and morrison's PLT test slightly. Note that the adjustFrames layout stuff has been removed from isLoadComplete. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _timedLayout:]): (-[WebFrame _isLoadComplete]): 2002-11-14 Darin Adler * English.lproj/Localizable.strings: Updated to include the new error messages that Maciej just added. I wonder what effect this will have if we see those errors in Alex-32? === Alexander-32 === 2002-11-14 Don Melton * WebView.subproj/WebControllerPolicyDelegate.h: Added missing semi-colon in definition of WebPolicyDecisionListener to fix build error. 2002-11-14 Maciej Stachowiak Combined file URL policy with content policy. We don't actually bother to ask earlier for file URLs yet, since that will make things more complicated. * Misc.subproj/WebKitErrors.h: * WebView.subproj/WebControllerPolicyDelegate.h: * WebView.subproj/WebDefaultPolicyDelegate.m: * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebFramePrivate.m: (-[WebFrame _handleUnimplementablePolicy:errorCode:forURL:]): (-[WebFrame _continueAfterNavigationPolicyForRequest:dataSource:]): * WebView.subproj/WebMainResourceClient.h: * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient stopLoadingAfterContentPolicy]): (-[WebMainResourceClient handle:didReceiveResponse:]): * WebView.subproj/WebView.m: (+[WebView initialize]): 2002-11-14 Darin Adler - fixed 3099240 -- REGRESSION: repro assert d->m_doc->parsing Make the reload flag pass across the bridge. * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _commitIfReady]): Pass a reload flag, based on the load type, to the bridge. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): Pass a reload flag of NO in the anchor case. Preserve reload load types even when doing client redirects (have to talk with Trey about this tomorrow). 2002-11-14 Darin Adler - fixed 3100235 -- nil-deference in khtml::RenderTable at money.cnn.com * WebView.subproj/WebHTMLView.m: (-[WebHTMLView drawRect:]): If the WebCore side needs layout, then do layout before trying to draw. 2002-11-13 Trey Matteson Fixed client redirects, some more. The upshot is that they do not generate two items in the back-forward list. iBench still works. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge reportClientRedirectTo:delay:fireDate:]): Call straight to the frame for all impl. (-[WebBridge reportClientRedirectCancelled]): Call straight to the frame for all impl. (-[WebBridge loadURL:reload:triggeringEvent:isFormSubmission:]): clientRedirect param removed when sending _loadURL: to frame. * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebFramePrivate.m: (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): clientRedirect param removed. Check our own ivar to know if we are in client redirect case. (-[WebFrame _loadURL:intoChild:]): clientRedirect param removed when sending _loadURL: . (-[WebFrame _clientRedirectedTo:delay:fireDate:]): Note that we are doing a redirect if time=0 and we're not completed. Also includes previous impl moved from Bridge. (-[WebFrame _clientRedirectCancelled]): Previous impl moved from Bridge. 2002-11-13 Maciej Stachowiak Pass mime type instead of full response to content policy delegate method, in preparation for merging it with the file URL policy. * WebView.subproj/WebControllerPolicyDelegate.h: * WebView.subproj/WebDefaultPolicyDelegate.m: * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient handle:didReceiveResponse:]): 2002-11-13 Darin Adler - fixed 3083982 -- Logging into AOL gives null view Turns out AOL was using a refresh header, which we were not supporting. * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _commitIfReady]): Call openURL: and pass headers in. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _loadURL:loadType:clientRedirect:triggeringEvent:isFormSubmission:]): Pass nil for headers in this case, since we know it's just an anchor change. - other things * WebCoreSupport.subproj/WebBridge.h: Remove dataSourceChanged and dataSource methods. We try to keep the bridge methods down to actual bridging. * WebCoreSupport.subproj/WebBridge.m: Remove dataSourceChanged altogether, and move dataSource up in the file. * WebView.subproj/WebHTMLRepresentation.m: (-[WebHTMLRepresentation setDataSource:]): Keep the data source around, so we don't need to ask the bridge for it. (-[WebHTMLRepresentation documentSource]): Use it here. 2002-11-13 Trey Matteson Fixed 3100084 - REGRESSION: web page is not first responder after visiting web page * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _commitIfReady]): Make the rep before _transitionToCommitted. This is the way it used to be. (-[WebDataSource _makeRepresentation]): Don't make the docView here. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionToCommitted]): Make the docView here, after we save the scroll state but before notifying the delegate. 2002-11-13 Darin Adler - fixed 3100013 -- REGRESSION: Can't get results from i-Bench anymore * WebView.subproj/WebFramePrivate.m: (-[WebFrame _isLoadComplete]): Don't set the state to WebFrameStateComplete if it has already been set to WebFrameStateProvisional. If it has, that means we already began a new load; that one is not yet complete. 2002-11-13 John Sullivan - fixed 3099922 -- REGRESSION: Back button always pops up menu * Misc.subproj/WebNSViewExtras.h: * Misc.subproj/WebNSViewExtras.m: (-[NSView _web_dragShouldBeginFromMouseDown:withExpiration:xHysteresis:yHysteresis:]: Fixed a copy/paste error I made yesterday -- this method was never noticing the mouse-up events because it was checking the event type against the wrong number. Also changed the hysteresis values from unsigneds to floats (unsigned was just wrong). 2002-11-13 Maciej Stachowiak - fixed 3050447 - Policy handlers have no way of telling client that the proposed navigation is a form post Now we pass form submissions through all the normal policy steps. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge loadURL:reload:triggeringEvent:isFormSubmission:]): (-[WebBridge postWithURL:data:contentType:triggeringEvent:]): (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]): * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSourcePrivate dealloc]): (-[WebDataSource _setTriggeringAction:]): (-[WebDataSource _triggeringAction]): (-[WebDataSource _lastCheckedRequest]): (-[WebDataSource _setLastCheckedRequest:]): * WebView.subproj/WebFrame.m: (-[WebFrame setProvisionalDataSource:]): * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebFramePrivate.m: (-[WebFrame _shouldShowRequest:]): (-[WebFrame _loadRequest:triggeringAction:]): (-[WebFrame _actionInformationForNavigationType:event:]): (-[WebFrame _continueAfterNavigationPolicyForRequest:dataSource:]): (-[WebFrame _loadURL:loadType:clientRedirect:triggeringEvent:isFormSubmission:]): (-[WebFrame _loadURL:intoChild:]): (-[WebFrame _postWithURL:data:contentType:triggeringEvent:]): 2002-11-12 Maciej Stachowiak Combine click policy and URL policy into navigation policy. * WebView.subproj/WebControllerPolicyDelegate.h: * WebView.subproj/WebDefaultPolicyDelegate.h: * WebView.subproj/WebDefaultPolicyDelegate.m: (-[WebDefaultPolicyDelegate navigationPolicyForAction:andRequest:inFrame:]): * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebFramePrivate.m: (-[WebFrame _shouldShowRequest:]): (-[WebFrame _actionInformationForNavigationType:event:]): (-[WebFrame _continueAfterFileURLPolicyForRequest:]): (-[WebFrame _continueAfterNavigationPolicyForRequest:event:]): (-[WebFrame _loadURL:loadType:clientRedirect:triggeringEvent:]): 2002-11-12 Trey Matteson fixed 3096030 - Crash in -[WebBackForwardList goToEntry:] when playing with SnapBack and dictionary.com * WebView.subproj/WebFramePrivate.m: (-[WebFrame _isLoadComplete]): Set state=completed only after we tell the bridge to end the load. This allows client redirects to be processed before we think we're complete. (-[WebFrame _loadURL:loadType:clientRedirect:triggeringEvent:]): Only process client redirects as such if we are not already complete. This makes JS driven navigations after load-time work like the user would expect, as normal navigations. 2002-11-12 Maciej Stachowiak - fixed 3099487 - REGRESSION: dragging an image always puts it in the download directory * WebView.subproj/WebControllerPrivate.h: * WebView.subproj/WebControllerPrivate.m: (-[WebController _downloadURL:]): Call _downloadURL:toPath: with nil path. (-[WebController _downloadURL:toPath:]): New method that predetermines the path to download to (needed for DnD). * WebView.subproj/WebHTMLView.m: (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Use _downloadURL:toPath: * WebView.subproj/WebImageView.m: (-[WebImageView namesOfPromisedFilesDroppedAtDestination:]): Use _downloadURL:toPath: * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient handle:didReceiveResponse:]): Don't ask delegate for download path if we already have one. 2002-11-12 Richard Williamson Fixed likely cause of 3099047 (and others). Width buffer could underrun in some situations. * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:]): 2002-11-12 John Sullivan * Misc.subproj/WebNSViewExtras.h: * Misc.subproj/WebNSViewExtras.m: (-[NSView _web_dragShouldBeginFromMouseDown:withExpiration:xHysteresis:yHysteresis:]): new method (-[NSView _web_dragShouldBeginFromMouseDown:withExpiration:]): now calls the new method, passing the default hysteresis values 2002-11-12 Richard Williamson Implemented letter-spacing and word-spacing CSS properties. * Misc.subproj/WebStringTruncator.m: (+[WebStringTruncator rightTruncateString:toWidth:withFont:]): (+[WebStringTruncator centerTruncateString:toWidth:withFont:]): * WebCoreSupport.subproj/WebTextRenderer.h: * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer widthForCharacters:length:]): (-[WebTextRenderer drawCharacters:stringLength:fromCharacterPosition:toCharacterPosition:atPoint:withPadding:withTextColor:backgroundColor:rightToLeft:letterSpacing:wordSpacing:]): (-[WebTextRenderer floatWidthForCharacters:stringLength:characterPosition:]): (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:]): (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:letterSpacing:wordSpacing:]): (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:]): 2002-11-12 Maciej Stachowiak Removed policy classes and instead use the policy enums directly, since we no longer hold the path in the enum. * Downloads.subproj/WebDownloadHandler.m: * WebKit.exp: * WebKit.pbproj/project.pbxproj: * WebView.subproj/WebControllerPolicyDelegate.h: * WebView.subproj/WebControllerPolicyDelegate.m: * WebView.subproj/WebControllerPolicyDelegatePrivate.h: Removed. * WebView.subproj/WebControllerPrivate.m: * WebView.subproj/WebDefaultPolicyDelegate.h: * WebView.subproj/WebDefaultPolicyDelegate.m: (+[WebDefaultPolicyDelegate defaultURLPolicyForRequest:]): (-[WebDefaultPolicyDelegate URLPolicyForRequest:inFrame:]): (-[WebDefaultPolicyDelegate fileURLPolicyForMIMEType:andRequest:inFrame:]): (-[WebDefaultPolicyDelegate unableToImplementPolicy:error:forURL:inFrame:]): (-[WebDefaultPolicyDelegate clickPolicyForAction:andRequest:inFrame:]): * WebView.subproj/WebFramePrivate.m: (-[WebFrame handleUnimplementablePolicy:errorCode:forURL:]): (-[WebFrame _shouldShowRequest:]): (-[WebFrame _continueAfterClickPolicyForEvent:request:]): * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient handle:didReceiveResponse:]): 2002-11-12 Maciej Stachowiak Keep the triggering event around on the data source, so it can be used with redirects. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _loadRequest:triggeringEvent:]): (-[WebFrame _loadURL:loadType:clientRedirect:triggeringEvent:]): (-[WebFrame _postWithURL:data:contentType:]): 2002-11-12 Darin Adler - improved the code that manages observing the window and superview * WebView.subproj/WebHTMLView.m: (-[WebHTMLView addSuperviewObservers]): Added. (-[WebHTMLView removeSuperviewObservers]): Added. (-[WebHTMLView addWindowObservers]): Added. (-[WebHTMLView removeWindowObservers]): Added. (-[WebHTMLView viewWillMoveToSuperview:]): Call removeSuperviewObservers. (-[WebHTMLView viewDidMoveToSuperview]): Call addSuperviewObservers. (-[WebHTMLView viewWillMoveToWindow:]): Call removeWindowObservers and removeSuperviewObservers. (-[WebHTMLView viewDidMoveToWindow]): Call addWindowObservers and addSuperviewObservers. 2002-11-11 Maciej Stachowiak Remove contentPolicy parameter from _downloadURL, and remove remaining traces of path from policy object. * WebView.subproj/WebControllerPolicyDelegate.h: * WebView.subproj/WebControllerPolicyDelegate.m: (-[WebPolicyPrivate dealloc]): (+[WebURLPolicy webPolicyWithURLAction:]): (+[WebFileURLPolicy webPolicyWithFileAction:]): (+[WebContentPolicy webPolicyWithContentAction:]): (+[WebClickPolicy webPolicyWithClickAction:]): * WebView.subproj/WebControllerPolicyDelegatePrivate.h: * WebView.subproj/WebControllerPrivate.h: * WebView.subproj/WebControllerPrivate.m: (-[WebController _downloadURL:]): * WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultContextMenuDelegate downloadURL:]): * WebView.subproj/WebDefaultPolicyDelegate.m: (-[WebDefaultPolicyDelegate clickPolicyForAction:andRequest:inFrame:]): * WebView.subproj/WebFramePrivate.m: (-[WebFrame _continueAfterClickPolicyForEvent:request:]): * WebView.subproj/WebHTMLView.m: (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): * WebView.subproj/WebImageView.m: (-[WebImageView namesOfPromisedFilesDroppedAtDestination:]): * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient handle:didReceiveResponse:]): 2002-11-11 Darin Adler * Plugins.subproj/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage load]): Use fileSystemRepresentationWithPath, not cString, to turn a path into something to pass to FSPathMakeRef. * English.lproj/StringsNotToBeLocalized.txt: Update. 2002-11-11 Darin Adler - tighten up cursor handling a bit more * WebView.subproj/WebDynamicScrollBarsView.m: * WebView.subproj/WebHTMLView.m: (-[WebHTMLView addMouseMovedObserver]): Call _frameOrBoundsChanged so we emit a mouse moved event right away. (-[WebHTMLView viewWillMoveToSuperview:]): Remove the colon since I removed the parameter from _frameOrBoundsChanged. * WebView.subproj/WebHTMLViewPrivate.h: Declare _frameOrBoundsChanged. * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _frameOrBoundsChanged]): Remove parameter. 2002-11-11 Trey Matteson Fixed 3015884 - Reloading a page should remember the scroll position * WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionToCommitted]): Save scroll position on reload (-[WebFrame _isLoadComplete]): Restore position on reload 2002-11-11 Trey Matteson * History.subproj/WebBackForwardList.m: (-[WebBackForwardList addEntry:]): Yank code to avoid adding a duplicate entry, to catch the refresh case. That's dealt with in WebFramePrivate now. (-[WebBackForwardList description]): Enhanced to print more info. * History.subproj/WebHistoryItem.h: History items now hold an array of subitems to mirror the frame tree. One item in the tree is designated the target of the navigation. * History.subproj/WebHistoryItem.m: (-[WebHistoryItem dealloc]): Release new ivars. (-[WebHistoryItem isTargetItem]): (-[WebHistoryItem setIsTargetItem:]): New setter and setter. (-[WebHistoryItem _recurseToFindTargetItem]): (-[WebHistoryItem targetItem]): Search the tree to find the target item. (-[WebHistoryItem children]): (-[WebHistoryItem addChildItem:]): (-[WebHistoryItem childItemWithName:]): Maintain and search new child item list. (-[WebHistoryItem description]): Enhanced to print out the tree of items. (-[WebHistoryItem dictionaryRepresentation]): (-[WebHistoryItem initFromDictionaryRepresentation:]): Save and load the new state. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge generateFrameName]): New call from KWQ, just forwards to Frame. (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]): Call new frame method dedicated to this case. (-[WebBridge saveDocumentState:]): (-[WebBridge documentState]): Call frame methods to get the right item to save/restore to/from. * WebView.subproj/WebController.m: (-[WebController _goToItem:withLoadType:]): Stop any current loading before going to a new item. (-[WebController goBack]): (-[WebController goForward]): (-[WebController goBackOrForwardToItem:]): Name change of private method (for consistency) * WebView.subproj/WebDataSourcePrivate.h: ProvisionalItem and PreviousItem are moved back up to WebFrame, where we know more about the state transitions that happen during loading. * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSourcePrivate dealloc]): Don't release removed ivars. (-[WebDataSource _commitIfReady]): Make the view representations -after- the transition to committed. This allows us to save away the scroll location successfully, since making the view was resetting it. * WebView.subproj/WebFrame.h: * WebView.subproj/WebFrame.m: (-[WebFrame setProvisionalDataSource:]): Saving the scroll location has moved elsewhere to handle frames. (-[WebFrame stopLoading]): Skip all the work if we're already state=complete. * WebView.subproj/WebFramePrivate.h: The frame now holds a ref to the current, previous and provisional back-forward items. * WebView.subproj/WebFramePrivate.m: (-[WebFramePrivate dealloc]): Release new state. (-[WebFramePrivate setProvisionalItem:]): (-[WebFramePrivate setPreviousItem:]): (-[WebFramePrivate setCurrentItem:]): New setters (1 line getters were missed by script) (-[WebFrame _addBackForwardItemClippedAtTarget:]): Adds a BF item to the top of the BF list. (-[WebFrame _createItem]): Create a single BF item. (-[WebFrame _createItemTreeWithTargetFrame:clippedAtTarget:]): Create a tree of BF items, which mirror the frame tree. (-[WebFrame _immediateChildFrameNamed:]): New frame search utility (doesn't recurse) (-[WebFrame _detachFromParent]): Save the scroll position when detaching a frame. (-[WebFrame _transitionToCommitted]): Maintain new item ivars. Save scroll position when appropriate. Hook up items for child frames to their parent, as they are created. (-[WebFrame _setState:]): Clear previousItem whenever we reach committed. (-[WebFrame _isLoadComplete]): Clear previousItem if we are committed. (-[WebFrame _childFramesMatchItem:]): Does the frame's frame tree match the one held by the item? (-[WebFrame _loadItem:fromItem:withLoadType:]): Only do simple anchor navigation if the frame has no children (fixes oddball corner case with a frame reloading itself). Set provisional item. (-[WebFrame _recursiveGoToItem:fromItem:withLoadType:]): Heart of returning to an item that had frames. We either find that the existing content is good, or initiate a load. (-[WebFrame _goToItem:withLoadType:]): Adjust the BF list cursor, and recurse to do the work. (-[WebFrame _loadURL:loadType:clientRedirect:triggeringEvent:]): Only do anchor-style nav if the destination URL has a fragment. Save scroll position. (-[WebFrame _loadURL:intoChild:]): If returning to an item with frames, possibly replace the new content with the stuff that was there at the time, substituting the URL. (-[WebFrame _saveScrollPositionToItem:]): Don't croak on nil item or view. (-[WebFrame _restoreScrollPosition]): Do croak (ASSERT) on nil item. (-[WebFrame _scrollToTop]): Nit cleanup. (-[WebFrame _addFramePathToString:]): Add a component for our frame to the frame name we're generating. (-[WebFrame _generateFrameName]): Generate a frame name that is repeatable. (-[WebFrame _itemForSavingDocState]): Returns correct item to use for formstate save. (-[WebFrame _itemForRestoringDocState]): Returns correct item to use for formstate restore 2002-11-11 Maciej Stachowiak Store path and the fact that we're downloading in the data source, instead of storing the content policy. * Downloads.subproj/WebDownloadHandler.m: (-[WebDownloadHandler cleanUpAfterFailure]): (-[WebDownloadHandler createFileIfNecessary]): (-[WebDownloadHandler finishedLoading]): * WebView.subproj/WebControllerPrivate.m: (-[WebController _downloadURL:withContentPolicy:]): * WebView.subproj/WebDataSource.h: * WebView.subproj/WebDataSource.m: (+[WebDataSource registerRepresentationClass:forMIMEType:]): (-[WebDataSource isDownloading]): (-[WebDataSource downloadPath]): * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSourcePrivate dealloc]): (-[WebDataSource _commitIfReady]): (-[WebDataSource _setIsDownloading:]): (-[WebDataSource _setDownloadPath:]): * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient receivedError:]): (-[WebMainResourceClient handle:didReceiveResponse:]): (-[WebMainResourceClient handleDidFinishLoading:]): 2002-11-11 Maciej Stachowiak Don't ask for the content policy any more if the previous policies said to save - in effect this means to ask only if the previous policies said to use the content policy. Also, remove now-useless previous content policy parameter from content policy delegate. * WebView.subproj/WebControllerPolicyDelegate.h: * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _setContentPolicy:]): Retain new policy before releasing the old one. * WebView.subproj/WebDefaultPolicyDelegate.m: * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient handle:didReceiveResponse:]): Don't ask for content policy if the delegate already decided to save. 2002-11-11 Maciej Stachowiak Added new policy delegate callback to get the filename - this won't be up to the content policy any more. * WebView.subproj/WebControllerPolicyDelegate.h: * WebView.subproj/WebDefaultPolicyDelegate.m: (-[WebDefaultPolicyDelegate saveFilenameForResponse:andRequest:]): * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient handle:didReceiveResponse:]): 2002-11-11 Darin Adler - made some improvements to cursor setting for greater speed and correctness * WebView.subproj/WebDynamicScrollBarsView.m: (-[WebDynamicScrollBarsView setCursor:]): Just use setDocumentCursor: instead of our own logic. This allows us to remove code and may fix some bugs or anomalies as well. (-[WebDynamicScrollBarsView dealloc]): Release the cursor. I think we were leaking before. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView viewWillMoveToSuperview:]): Use _frameOrBoundsChanged: method now, which has been moved into the private file. (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]): Don't bother finding topmost WebHTMLView to call _updateMouseoverWithEvent: on; now it works fine no matter which level it's called at. * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _frameOrBoundsChanged:]): Moved the code here that was formerly in the _setNeedsLayoutIfSizeChanged method, also added code that does _updateMouseoverWithEvent: so that we get properly updated cursor when we scroll. (-[WebHTMLView _updateMouseoverWithEvent:]): Remove unneeded assert. This method works equally well no matter which WebHTMLView calls it; everything is done at the window and controller level. * WebView.subproj/WebControllerPrivate.h: Added lastElementWasNotNil field and _mouseDidMoveOverElement:modifierFlags: method. * WebView.subproj/WebControllerPrivate.m: (-[WebController _mouseDidMoveOverElement:modifierFlags:]): Call through to the delegate, but don't do multiple calls if they are all nil. * WebCoreSupport.subproj/WebBridge.m: Remove unused modifierTrackingEnabled method. * WebView.subproj/WebHTMLViewPrivate.h: Remove unused _setModifierTrackingEnabled and _modifierTrackingEnabled methods. 2002-11-10 Darin Adler * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes. 2002-11-10 Chris Blumenberg Fixed: 3021681 - downloaded files' creation and modification dates are not set * Downloads.subproj/WebDownloadHandler.m: (-[WebDownloadHandler createFileIfNecessary]): call [response creationDate] and [response lastModifiedDate] when setting file attributes. * Plugins.subproj/WebBaseNetscapePluginStream.m: (-[WebBaseNetscapePluginStream setResponse:]): call [response lastModifiedDate] when giving content to plug-ins. 2002-11-10 Darin Adler * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes. 2002-11-09 Darin Adler - fixed 3095156 -- reproducible leak of WebDataSource due to bad URL in stylesheet * WebCoreSupport.subproj/WebSubresourceClient.m: (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]): Check for errors by looking at the return value from loadWithRequest: rather than making a separate call to canInitWithRequest. * WebView.subproj/WebBaseResourceHandleDelegate.h: Add boolean success/failure result loadWithRequest:. * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate loadWithRequest:]): Return NO if we fail to make a handle. * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _startLoading]): Check result of loadWithRequest: and complain if it's NO. * WebView.subproj/WebMainResourceClient.m: Tweak whitespace. 2002-11-09 Chris Blumenberg Fixed: 2991610 - Alexander should support services, including Speech * WebView.subproj/WebHTMLView.m: (+[WebHTMLView initialize]): register for service types (-[WebHTMLView dealloc]): moved to top of file (-[WebHTMLView copy:]): call _writeSelectionToPasteboard (-[WebHTMLView writeSelectionToPasteboard:types:]): call _writeSelectionToPasteboard (-[WebHTMLView validRequestorForSendType:returnType:]): return self for our pboard types * WebView.subproj/WebHTMLViewPrivate.h: * WebView.subproj/WebHTMLViewPrivate.m: (+[WebHTMLView _pasteboardTypes]): new, returns the array of supported pboard types (-[WebHTMLView _writeSelectionToPasteboard:]): new, adds data to pboard * WebView.subproj/WebImageView.m: (-[WebImageView initialize]): register for service types (-[WebImageView validateUserInterfaceItem:]): respond to copy (-[WebImageView validRequestorForSendType:returnType:]): return self for images (-[WebImageView writeImageToPasteboard:]): writes image data to pboard (-[WebImageView copy:]): calls writeImageToPasteboard (-[WebImageView writeSelectionToPasteboard:types:]): calls writeImageToPasteboard 2002-11-08 Darin Adler * History.subproj/WebHistoryItem.m: (-[WebHistoryItem setTitle:]): Use display title if it matches, so we don't end up with two identical strings, as when reading from the property list. (-[WebHistoryItem setDisplayTitle:]): The same thing, the other way round. 2002-11-08 Darin Adler - fixed 3095078 -- image loop counts still not handled right * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer blockHasGIFExtensionSignature:length:]): Look for the tag "NETSCAPE2.0", not "NETSCAPE1.0". (-[WebImageRenderer nextFrame:]): Remove special handling for last frames with a duration of 0. That was just a misunderstanding. 2002-11-08 Darin Adler * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _setRequest:]): Slightly better fix. Essentially just take out the assert. 2002-11-08 Darin Adler - fixed an assert I am seeing a lot * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _setRequest:]): Oops. 2002-11-08 Richard Williamson Solved missing glyph problem, but it's very slow, so it's disabled for now. I'll turn back on after extending the character to glyph map in each renderer to include substituted font. * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer substituteFontForString:]): (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:]): 2002-11-08 Darin Adler - separate WebBaseNetscapePluginStream more cleanly from its subclasses by making most fields private * Plugins.subproj/WebBaseNetscapePluginStream.m: (-[WebBaseNetscapePluginStream setResponse:]): * Plugins.subproj/WebNetscapePluginStream.h: * Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]): (-[WebNetscapePluginStream dealloc]): (-[WebNetscapePluginStream start]): (-[WebNetscapePluginStream handle:didReceiveData:]): (-[WebNetscapePluginStream handle:didFailLoadingWithError:]): * WebCoreSupport.subproj/WebSubresourceClient.m: (-[WebSubresourceClient handle:didReceiveResponse:]): (-[WebSubresourceClient handle:didReceiveData:]): (-[WebSubresourceClient handleDidFinishLoading:]): (-[WebSubresourceClient handle:didFailLoadingWithError:]): (-[WebSubresourceClient cancel]): * WebView.subproj/WebBaseResourceHandleDelegate.h: * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate handle:willSendRequest:]): (-[WebBaseResourceHandleDelegate handle:didFailLoadingWithError:]): (-[WebBaseResourceHandleDelegate _cancelWithError:]): (-[WebBaseResourceHandleDelegate cancel]): (-[WebBaseResourceHandleDelegate cancelQuietly]): (-[WebBaseResourceHandleDelegate cancelledError]): (-[WebBaseResourceHandleDelegate notifyDelegatesOfInterruptionByPolicyChange]): * WebView.subproj/WebMainResourceClient.h: * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient cancel]): (-[WebMainResourceClient handle:willSendRequest:]): (-[WebMainResourceClient notifyDelegatesOfInterruptionByPolicyChange]): (-[WebMainResourceClient handle:didReceiveResponse:]): (-[WebMainResourceClient handle:didReceiveData:]): (-[WebMainResourceClient handleDidFinishLoading:]): 2002-11-08 Darin Adler - changed persistent dictionaries to use NSString instead of NSURL because of impact on memory footprint Also changed WebIconDatabase code to verify what it reads from disk, and ignore it if it can't verify the format. * Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase iconForSiteURL:withSize:cache:]): (-[WebIconDatabase retainIconForSiteURL:]): (-[WebIconDatabase releaseIconForSiteURL:]): (-[WebIconDatabase _iconDictionariesAreGood]): (-[WebIconDatabase _loadIconDictionaries]): (-[WebIconDatabase _updateFileDatabase]): (-[WebIconDatabase _hasIconForSiteURL:]): (-[WebIconDatabase _iconsForIconURLString:]): (-[WebIconDatabase _setIcon:forIconURL:]): (-[WebIconDatabase _setIconURL:forSiteURL:]): (-[WebIconDatabase _setBuiltInIconAtPath:forHost:]): (-[WebIconDatabase _retainIconForIconURLString:]): (-[WebIconDatabase _releaseIconForIconURLString:]): (-[WebIconDatabase _retainFutureIconForSiteURL:]): (-[WebIconDatabase _releaseFutureIconForSiteURL:]): (-[WebIconDatabase _retainOriginalIconsOnDisk]): (-[WebIconDatabase _releaseOriginalIconsOnDisk]): (-[NSEnumerator _web_isAllStrings]): * Panels.subproj/WebStandardPanels.m: (-[WebStandardPanels didStartLoadingURL:inWindow:]): (-[WebStandardPanels didStopLoadingURL:inWindow:]): (-[WebStandardPanels _didStartLoadingURL:inController:]): (-[WebStandardPanels _didStopLoadingURL:inController:]): (-[WebStandardPanels frontmostWindowLoadingURL:]): 2002-11-08 Darin Adler - fixed crash on boot that Don was seeing * History.subproj/WebHistoryItem.m: (-[WebHistoryItem URL]): Make this work when _URLString is nil. (-[WebHistoryItem initFromDictionaryRepresentation:]): Make this work for nil URL. - my own private war on the cString method * Downloads.subproj/WebDownloadHandler.m: (-[WebDownloadHandler initWithDataSource:]): Use %@ in LOG to avoid cString. (-[WebDownloadHandler finishedLoading]): Ditto. * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _commitIfReady]): Ditto. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _timedLayout:]): Ditto. (-[WebFrame _setState:]): More of the same. (-[WebFrame _isLoadComplete]): Ditto. 2002-11-08 Ken Kocienda Fix deployment build breaker: a variable was used only in a LOG statement, causing the variable to become usused when building with the Deployment build style. * Downloads.subproj/WebDownloadHandler.m: (-[WebDownloadHandler finishedLoading]) 2002-11-07 Darin Adler * History.subproj/WebHistoryItem.h: Replace _URL with _URLString. * History.subproj/WebHistoryItem.m: (-[WebHistoryItem _retainIconInDatabase:]): Get the URL with [self URL]. (-[WebHistoryItem initWithURL:target:parent:title:]): Set up _URLString. (-[WebHistoryItem dealloc]): Release _URLString. (-[WebHistoryItem URL]): Make a URL from _URLString. (-[WebHistoryItem icon]): Use [self URL] instead of _URL. (-[WebHistoryItem setURL:]): Store a URL string. (-[WebHistoryItem hash]): Use the URL string's hash. (-[WebHistoryItem isEqual:]): Compare the URL strings. (-[WebHistoryItem description]): Use _URLString. (-[WebHistoryItem dictionaryRepresentation]): Use _URLString. (-[WebHistoryItem initFromDictionaryRepresentation:]): Call through to the other init functions so we have only one designated initializer. Leave the date as nil if there's no date in the dictionary instead of setting the date to 0. 2002-11-07 Maciej Stachowiak Removed SaveAndOpenExternally policy. * Downloads.subproj/WebDownloadHandler.m: (-[WebDownloadHandler finishedLoading]): * WebView.subproj/WebControllerPolicyDelegate.h: * WebView.subproj/WebFramePrivate.m: (-[WebFrame _continueAfterClickPolicyForEvent:request:]): * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient receivedError:]): (-[WebMainResourceClient handle:didReceiveResponse:]): (-[WebMainResourceClient handleDidFinishLoading:]): 2002-11-07 Chris Blumenberg * WebKit.pbproj/project.pbxproj: 2002-11-07 Richard Williamson * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer stopAnimation]): 2002-11-07 Maciej Stachowiak - fixed 3095628 - REGRESSION: exception when clicking on link to load content into iframe * WebView.subproj/WebFramePrivate.m: (-[WebFrame _actionInformationForNavigationType:event:]): Get the element info from the HTML view where the click originally happened, not the current document view. Add some asserts to make sure this is working. 2002-11-07 Richard Williamson Tweaks * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer convertCharacters:length:toGlyphs:skipControlCharacters:]): (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:]): === Alexander-31 === 2002-11-07 Maciej Stachowiak - fixed 3094778 - REGRESSION: Assert on logout from schwab.com (probably fixed it anyway - I'm flying blind on this one) * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge createWindowWithURL:frameName:]): Use a nil request if the URL was nil, instead of making a request that contains a nil URL. 2002-11-07 Maciej Stachowiak Changed things so that creating a window takes a request rather than a URL and referrer. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge createWindowWithURL:frameName:]): * WebView.subproj/WebControllerPrivate.h: * WebView.subproj/WebControllerPrivate.m: (-[WebController _openNewWindowWithRequest:behind:]): * WebView.subproj/WebDataSourcePrivate.h: * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSourcePrivate dealloc]): (-[WebDataSource _setTriggeringEvent:]): (-[WebDataSource _triggeringEvent]): * WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultContextMenuDelegate openNewWindowWithURL:]): * WebView.subproj/WebFrame.m: (-[WebFrame setProvisionalDataSource:]): (-[WebFrame findOrCreateFramedNamed:]): * WebView.subproj/WebFramePrivate.m: (-[WebFrame _continueAfterClickPolicyForEvent:request:]): * WebView.subproj/WebWindowOperationsDelegate.h: 2002-11-06 Darin Adler - fixed problem where files small enough to fit entirely in the buffer (8K or less) would not be decoded * Downloads.subproj/WebDownloadHandler.m: (-[WebDownloadHandler decodeData:]): Added. Moved most of the code from receivedData into here. (-[WebDownloadHandler receivedData:]): Changed to call decodeData. (-[WebDownloadHandler finishedLoading]): Call decodeData on any remaining bytes rather than writing them straight out to the data fork. 2002-11-06 Richard Williamson More work on rendering scripts. Now most complex scripts render correctly. Working new features include: bidi, diacriticals, cursive forms, and arabic ligatures. Selection of text rendered in these scripts, is however, not working. Also, line height is incorrect when renderering combined below glyphs. ajami is, sadly, horrendously broken. * Misc.subproj/WebUnicode.m: (glyphVariantLogical): (shapedString): * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer drawCharacters:stringLength:fromCharacterPosition:toCharacterPosition:atPoint:withPadding:withTextColor:backgroundColor:rightToLeft:]): (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:]): 2002-11-06 John Sullivan * Bookmarks.subproj/WebBookmark.m: (+[WebBookmark bookmarkOfType:]): made this handle WebBookmarkTypeProxy 2002-11-06 Darin Adler - fixed bug that affected BinHex-encoded files with no resource fork * Downloads.subproj/WebBinHexDecoder.m: (-[WebBinHexDecoder decodeData:dataForkData:resourceForkData:]): Don't decode the resource fork unless done with the data fork. * Downloads.subproj/WebDownloadHandler.m: (-[WebDownloadHandler receivedData:]): Set the forks to nil before calling through. 2002-11-06 Darin Adler * Downloads.subproj/WebMacBinaryDecoder.m: (+[WebMacBinaryDecoder canDecodeHeaderData:]): Fix == 129 check that was supposed to be <= 129. * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes. 2002-11-06 Darin Adler * Downloads.subproj/WebBinHexDecoder.m: (-[WebBinHexDecoder decodeIntoBuffer:size:]): Fix an off-by-one error handling repeat counts. * WebKit.pbproj/project.pbxproj: Fix group name I accidentally mangled. 2002-11-06 Darin Adler - added a BinHex decoder and did a little work on the MacBinary decoder I'm not supposed to be working on this, but I didn't feel like doing "real" work. * Downloads.subproj/WebBinHexDecoder.h: Added. * Downloads.subproj/WebBinHexDecoder.m: Added. * WebKit.pbproj/project.pbxproj: Added WebBinHexDecoder. * Downloads.subproj/WebDownloadDecoder.h: Added WEB_DOWNLOAD_DECODER_MINIMUM_HEADER_LENGTH. * Downloads.subproj/WebDownloadHandler.m: (-[WebDownloadHandler closeFile]): Check to be sure we don't close the same file twice. * Downloads.subproj/WebMacBinaryDecoder.h: Added _scriptCode. * Downloads.subproj/WebMacBinaryDecoder.m: (+[WebMacBinaryDecoder canDecodeHeaderData:]): Added check of MacBinary version field. (-[WebMacBinaryDecoder decodeData:dataForkData:resourceForkData:]): Added MacBinary III part that gets the script code. (-[WebMacBinaryDecoder filename]): Use the script code. 2002-11-06 Maciej Stachowiak Took URL field out of click policy - open in new window policy will always open the request URL. * WebView.subproj/WebControllerPolicyDelegate.h: * WebView.subproj/WebControllerPolicyDelegate.m: (-[WebPolicyPrivate dealloc]): (+[WebURLPolicy webPolicyWithURLAction:]): (+[WebFileURLPolicy webPolicyWithFileAction:]): (+[WebContentPolicy webPolicyWithContentAction:andPath:]): * WebView.subproj/WebDefaultPolicyDelegate.m: (-[WebDefaultPolicyDelegate clickPolicyForAction:andRequest:inFrame:]): * WebView.subproj/WebFramePrivate.m: (-[WebFrame _continueAfterClickPolicyForEvent:request:]): 2002-11-06 Chris Blumenberg Support MacBinary I by checking that bytes 99-127 are 0. Also check byte 82 for all formats. * Downloads.subproj/WebMacBinaryDecoder.m: (+[WebMacBinaryDecoder canDecodeHeaderData:]): 2002-11-06 Ken Kocienda Call new WebHTTPResourceRequest method to set the amount of time to cache a 404 response when trying to fetch a favicon. This change helps to fix this bug: Radar 3004422 (Loader should cache misses) * Misc.subproj/WebIconLoader.m: (-[WebIconLoader startLoading]) 2002-11-05 Maciej Stachowiak Reworked clickPolicy arguments to be closer to proposed version. * WebKit.exp: * WebView.subproj/WebControllerPolicyDelegate.h: * WebView.subproj/WebControllerPolicyDelegate.m: * WebView.subproj/WebDefaultPolicyDelegate.m: (-[WebDefaultPolicyDelegate clickPolicyForAction:andRequest:inFrame:]): * WebView.subproj/WebFramePrivate.h: * WebView.subproj/WebFramePrivate.m: (-[WebFrame _actionInformationForNavigationType:event:]): (-[WebFrame _continueAfterClickPolicyForEvent:request:]): 2002-11-05 Darin Adler * WebCoreSupport.subproj/WebTextRenderer.m: Made a slightly simpler and faster version of the new "lose precision" CEIL_TO_INT macro. 2002-11-05 Richard Williamson Fixed a couple of issues that Dave highlighted w/ his whitespace fixes. CG sometimes introduces very small 'error' in metrics, specifically we saw character widths of 20.0000019 that should have been 20. As a work-around we loose precision beyond the 1000th place. Also, always ceil spaces. * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:]): 2002-11-05 Darin Adler - fixed 3084704 -- crash in HTMLTokenizer on page with JavaScript HTMLDocument::Close inside a