diff options
author | darin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-04 17:36:55 +0000 |
---|---|---|
committer | darin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-04 17:36:55 +0000 |
commit | 7ccddb8cc40f885a50541c4f45afc4253ce3c065 (patch) | |
tree | a82976f8905298f6c320ff72331fd41697bc1aa5 /chrome/renderer/render_view.h | |
parent | b881ade17222078ce4e0c4dc6cb296ac34ee7387 (diff) | |
download | chromium_src-7ccddb8cc40f885a50541c4f45afc4253ce3c065.zip chromium_src-7ccddb8cc40f885a50541c4f45afc4253ce3c065.tar.gz chromium_src-7ccddb8cc40f885a50541c4f45afc4253ce3c065.tar.bz2 |
Move alternate 404 error page loading out of WebFrame and into RenderView.
This involved adding a new method on WebViewDelegate to allow the embedder to
intercept data being loaded for a document.
I also had to plumb a few more FrameLoaderClient notifications through
WebViewDelegate. See DidReceiveResponse and DidFinishLoading.
R=tony
BUG=15648
TEST=covered by errorpage_uitest.cc
Review URL: http://codereview.chromium.org/160578
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22389 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer/render_view.h')
-rw-r--r-- | chrome/renderer/render_view.h | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/chrome/renderer/render_view.h b/chrome/renderer/render_view.h index 37c40a0..255c7a5 100644 --- a/chrome/renderer/render_view.h +++ b/chrome/renderer/render_view.h @@ -186,6 +186,8 @@ class RenderView : public RenderWidget, const WebKit::WebURLError& error, const std::string& html, bool replace); + virtual void DidReceiveDocumentData(WebFrame* frame, const char* data, + size_t data_len); virtual void DidCommitLoadForFrame(WebView* webview, WebFrame* frame, bool is_new_navigation); virtual void DidReceiveTitle(WebView* webview, @@ -216,9 +218,13 @@ class RenderView : public RenderWidget, virtual void WillCloseFrame(WebView* webview, WebFrame* frame); virtual void WillSubmitForm(WebView* webview, WebFrame* frame, const WebKit::WebForm& form); - virtual void WillSendRequest(WebView* webview, + virtual void WillSendRequest(WebFrame* webframe, uint32 identifier, WebKit::WebURLRequest* request); + virtual void DidReceiveResponse(WebFrame* webframe, + uint32 identifier, + const WebKit::WebURLResponse& response); + virtual void DidFinishLoading(WebFrame* webframe, uint32 identifier); virtual void WindowObjectCleared(WebFrame* webframe); virtual void DocumentElementAvailable(WebFrame* webframe); @@ -260,8 +266,6 @@ class RenderView : public RenderWidget, const GURL& image_url, bool errored, const SkBitmap& image); - virtual GURL GetAlternateErrorPageURL(const GURL& failedURL, - ErrorPageType error_type); virtual void ShowContextMenu(WebView* webview, ContextNodeType node_type, @@ -609,7 +613,15 @@ class RenderView : public RenderWidget, // Locates a sub frame with given xpath WebFrame* GetChildFrame(const std::wstring& frame_xpath) const; + enum ErrorPageType { + DNS_ERROR, + HTTP_404, + CONNECTION_ERROR, + }; + // Alternate error page helpers. + GURL GetAlternateErrorPageURL( + const GURL& failed_url, ErrorPageType error_type); bool MaybeLoadAlternateErrorPage( WebFrame* frame, const WebKit::WebURLError& error, bool replace); std::string GetAltHTMLForTemplate( |