summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/render_view.h
diff options
context:
space:
mode:
authordarin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-04 17:36:55 +0000
committerdarin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-04 17:36:55 +0000
commit7ccddb8cc40f885a50541c4f45afc4253ce3c065 (patch)
treea82976f8905298f6c320ff72331fd41697bc1aa5 /chrome/renderer/render_view.h
parentb881ade17222078ce4e0c4dc6cb296ac34ee7387 (diff)
downloadchromium_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.h18
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(