WebKit:
authorsullivan <sullivan@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 31 Mar 2004 23:39:37 +0000 (23:39 +0000)
committersullivan <sullivan@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 31 Mar 2004 23:39:37 +0000 (23:39 +0000)
        - fixed <rdar://problem/3577917>: API: mechanism for displaying error
        page for failed page load

        This was not commented on for a week in macosx-api-reviewers, so it
        has the silent rubber stamp of approval.

        Note that it isn't guarded by "Tiger only" availability macros because
        we (probably) want to use it in Panther for Safari. Maybe what we should
        do is guard the API with "Tiger only" macros but add an SPI version
        that Safari uses?

        Reviewed by Dave.

        * WebView.subproj/WebDataSource.h:
        moved unreachableURL to here
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource unreachableURL]):
        moved this from private category to main section

        * WebView.subproj/WebDataSourcePrivate.h:
        removed unreachableURL from here

        * WebView.subproj/WebFrame.h:
        moved loadAlternateHTMLString... to here
        * WebView.subproj/WebFrame.m:
        (-[WebFrame loadAlternateHTMLString:baseURL:forUnreachableURL:]):
        moved this from private category to main section

        * WebView.subproj/WebFramePrivate.h:
        removed unreachableURL from here

WebBrowser:

        Reviewed by Dave.

        * BrowserDocument.m:
        removed #import of WebDataSourcePrivate now that error-page stuff is API
        * BrowserWebController.m:
        ditto
        * BrowserWindowController.m:
        ditto
        * LoadProgressMonitor.m:
        ditto

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@6287 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebKit/ChangeLog
WebKit/WebView.subproj/WebDataSource.h
WebKit/WebView.subproj/WebDataSource.m
WebKit/WebView.subproj/WebDataSourcePrivate.h
WebKit/WebView.subproj/WebFrame.h
WebKit/WebView.subproj/WebFrame.m
WebKit/WebView.subproj/WebFramePrivate.h

index 2e948725301c8881f198c817c665db4b528ab0ba..e71e9d39d2058e2de539eb69e544f07dd14206e6 100644 (file)
@@ -1,3 +1,36 @@
+2004-03-31  John Sullivan  <sullivan@apple.com>
+
+        - fixed <rdar://problem/3577917>: API: mechanism for displaying error 
+        page for failed page load
+        
+        This was not commented on for a week in macosx-api-reviewers, so it
+        has the silent rubber stamp of approval.
+        
+        Note that it isn't guarded by "Tiger only" availability macros because
+        we (probably) want to use it in Panther for Safari. Maybe what we should
+        do is guard the API with "Tiger only" macros but add an SPI version
+        that Safari uses?
+
+        Reviewed by Dave.
+
+        * WebView.subproj/WebDataSource.h:
+        moved unreachableURL to here
+        * WebView.subproj/WebDataSource.m:
+        (-[WebDataSource unreachableURL]):
+        moved this from private category to main section
+        
+        * WebView.subproj/WebDataSourcePrivate.h:
+        removed unreachableURL from here
+        
+        * WebView.subproj/WebFrame.h:
+        moved loadAlternateHTMLString... to here
+        * WebView.subproj/WebFrame.m:
+        (-[WebFrame loadAlternateHTMLString:baseURL:forUnreachableURL:]):
+        moved this from private category to main section
+        
+        * WebView.subproj/WebFramePrivate.h:
+        removed unreachableURL from here
+
 2004-03-31  Richard Williamson   <rjw@apple.com>
 
        Changed to reflect NP_runtime.h to npruntime.h.
index 797e1586855b0f33b6e811a9f5d4135e60562804..1ad8259d1c38f9d734cde816735902f6a1c89cfc 100644 (file)
 */
 - (NSString *)pageTitle;
 
+/*!
+    @method unreachableURL
+    @discussion This will be non-nil only for dataSources created by calls to the 
+    WebFrame method loadAlternateHTMLString:baseURL:forUnreachableURL:.
+    @result returns the unreachableURL for which this dataSource is showing alternate content, or nil
+*/
+- (NSURL *)unreachableURL;
+
 @end
index b9fd5077dbfccd20365829714be0a96fb850ba87..be18ac8879af1dc82941bda88ce66e7e36644854 100644 (file)
     return _private->subresources;
 }
 
-- (NSURL *)unreachableURL
-{
-    return [_private->originalRequest _webDataRequestUnreachableURL];
-}
-
 - (NSFileWrapper *)_fileWrapperForURL:(NSURL *)URL
 {
     if ([URL isFileURL]) {
     return [[self representation] title];
 }
 
+- (NSURL *)unreachableURL
+{
+    return [_private->originalRequest _webDataRequestUnreachableURL];
+}
+
 @end
index 0e85ed3319da7e9a37e43bfa1984d74a6d22c83f..ec8768fb7419a57e3c37a633c44447f5ddde2278 100644 (file)
 - (void)addSubresource:(WebResource *)subresource;
 - (void)addSubresources:(NSArray *)subresources;
 
-/*!
-    @method unreachableURL
-    @discussion This will be non-nil only for dataSources created by calls to the 
-    WebFrame method loadAlternateHTMLString:baseURL:forUnreachableURL:.
-    @result returns the unreachableURL for which this dataSource is showing alternate content, or nil
- */
-- (NSURL *)unreachableURL;
-
 // Other private methods
 - (NSDictionary *)_subresourcesDictionary;
 - (NSFileWrapper *)_fileWrapperForURL:(NSURL *)URL;
index f5615f9b7ad71d4b0ac498a70802f5bade4c8b91..973365073ae50ba762b8f609ce7286d3ad6d2b68 100644 (file)
 */
 - (void)loadHTMLString:(NSString *)string baseURL:(NSURL *)URL;
 
+/*!
+    @method loadAlternateHTMLString:baseURL:forUnreachableURL:
+    @abstract Loads a page to display as a substitute for a URL that could not be reached.
+    @discussion This allows clients to display page-loading errors in the webview itself.
+    This is typically called while processing the WebFrameLoadDelegate method
+    -webView:didFailProvisionalLoadWithError:forFrame: or one of the the WebPolicyDelegate methods
+    -webView:decidePolicyForMIMEType:request:frame:decisionListener: or
+    -webView:unableToImplementPolicyWithError:frame:. If it is called from within one of those
+    three delegate methods then the back/forward list will be maintained appropriately.
+    @param string The string to use for the main page of the document.
+    @param baseURL The baseURL to apply to relative URLs within the document.
+    @param unreachableURL The URL for which this page will serve as alternate content.
+*/
+- (void)loadAlternateHTMLString:(NSString *)string baseURL:(NSURL *)baseURL forUnreachableURL:(NSURL *)unreachableURL;
+
 /*!
     @method dataSource
     @discussion Returns the committed data source.  Will return nil if the
index 240ae901a9a99c2acd92bffb96901ad55ca9f852..47899a74c00a4e9f70db367383cc0e0bf0c53e9c 100644 (file)
@@ -254,11 +254,6 @@ NSString *WebPageCacheDocumentViewKey = @"WebPageCacheDocumentViewKey";
 
 @implementation WebFrame (WebPrivate)
 
-- (void)loadAlternateHTMLString:(NSString *)string baseURL:(NSURL *)URL forUnreachableURL:(NSURL *)unreachableURL
-{
-    [self _loadHTMLString:string baseURL:URL unreachableURL:unreachableURL];
-}
-
 - (void)loadWebArchive:(WebArchive *)webArchive
 {
     WebResource *mainResource = [webArchive mainResource];
@@ -2618,6 +2613,11 @@ static CFAbsoluteTime _timeOfLastCompletedLoad;
     [self _loadHTMLString:string baseURL:URL unreachableURL:nil];
 }
 
+- (void)loadAlternateHTMLString:(NSString *)string baseURL:(NSURL *)URL forUnreachableURL:(NSURL *)unreachableURL
+{
+    [self _loadHTMLString:string baseURL:URL unreachableURL:unreachableURL];
+}
+
 - (void)stopLoading
 {
     // If this method is called from within this method, infinite recursion can occur (3442218). Avoid this.
index 986de6e81ae74cbe31aefb90b949726fd22b703a..1efcad61b5730f1aa02eb9b5ec153b1cf92ab64a 100644 (file)
@@ -120,21 +120,6 @@ extern NSString *WebPageCacheDocumentViewKey;
 // API Considerations:
 - (void)loadWebArchive:(WebArchive *)webArchive;
 
-/*!
-    @method loadAlternateHTMLString:baseURL:forUnreachableURL:
-    @abstract Loads a page to display as a substitute for a URL that could not be reached.
-    @discussion This allows clients to display page-loading errors in the webview itself.
-    This is typically called while processing the WebFrameLoadDelegate method
-    -webView:didFailProvisionalLoadWithError:forFrame: or one of the the WebPolicyDelegate methods
-    -webView:decidePolicyForMIMEType:request:frame:decisionListener: or
-    -webView:unableToImplementPolicyWithError:frame:. If it is called from within one of those
-    three delegate methods then the back/forward list will be maintained appropriately.
-    @param string The string to use for the main page of the document.
-    @param baseURL The baseURL to apply to relative URLs within the document.
-    @param unreachableURL The URL for which this page will serve as alternate content.
-*/
-- (void)loadAlternateHTMLString:(NSString *)string baseURL:(NSURL *)baseURL forUnreachableURL:(NSURL *)unreachableURL;
-
 // Other private methods
 - (NSURLRequest *)_webDataRequestForData:(NSData *)data MIMEType:(NSString *)MIMEType textEncodingName:(NSString *)encodingName baseURL:(NSURL *)URL unreachableURL:(NSURL *)unreachableURL;
 - (void)_loadRequest:(NSURLRequest *)request subresources:(NSArray *)subresources;