summaryrefslogtreecommitdiffstats
path: root/content/public/browser
diff options
context:
space:
mode:
authorjochen@chromium.org <jochen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-05-08 21:45:57 +0000
committerjochen@chromium.org <jochen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-05-08 21:45:57 +0000
commit54047eb53d73a34cad063aba32615d49ff8c9357 (patch)
treebe2904af5f1b7ab53d795b64226b0c998637ae21 /content/public/browser
parent198dcd690bcbe2dfd3d97ddddf2edc37c4398c04 (diff)
downloadchromium_src-54047eb53d73a34cad063aba32615d49ff8c9357.zip
chromium_src-54047eb53d73a34cad063aba32615d49ff8c9357.tar.gz
chromium_src-54047eb53d73a34cad063aba32615d49ff8c9357.tar.bz2
Handle IPC messages related to provisional loads in RenderViewHostImpl
Instead of handling the messages directly in WebContentsImpl, respective callbacks are added to RenderViewHostDelegate. That way, RenderViewHost can include a pointer to itself with the messages, so it's clear what RenderView is navigating. BUG=126160 TEST=none Review URL: https://chromiumcodereview.appspot.com/10332012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@135918 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/public/browser')
-rw-r--r--content/public/browser/render_view_host_delegate.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/content/public/browser/render_view_host_delegate.h b/content/public/browser/render_view_host_delegate.h
index 3750266..4d43760 100644
--- a/content/public/browser/render_view_host_delegate.h
+++ b/content/public/browser/render_view_host_delegate.h
@@ -28,6 +28,7 @@ class WebContentsImpl;
class WebKeyboardEvent;
struct NativeWebKeyboardEvent;
struct ViewHostMsg_CreateWindow_Params;
+struct ViewHostMsg_DidFailProvisionalLoadWithError_Params;
struct ViewHostMsg_FrameNavigate_Params;
struct WebDropData;
struct WebMenuItem;
@@ -227,6 +228,31 @@ class CONTENT_EXPORT RenderViewHostDelegate : public IPC::Channel::Listener {
// RenderView is going to be destroyed
virtual void RenderViewDeleted(RenderViewHost* render_view_host) {}
+ // The RenderView started a provisional load for a given frame.
+ virtual void DidStartProvisionalLoadForFrame(
+ content::RenderViewHost* render_view_host,
+ int64 frame_id,
+ bool main_frame,
+ const GURL& opener_url,
+ const GURL& url) {}
+
+ // The RenderView processed a redirect during a provisional load.
+ //
+ // TODO(creis): Remove this method and have the pre-rendering code listen to
+ // the ResourceDispatcherHost's RESOURCE_RECEIVED_REDIRECT notification
+ // instead. See http://crbug.com/78512.
+ virtual void DidRedirectProvisionalLoad(
+ content::RenderViewHost* render_view_host,
+ int32 page_id,
+ const GURL& opener_url,
+ const GURL& source_url,
+ const GURL& target_url) {}
+
+ // A provisional load in the RenderView failed.
+ virtual void DidFailProvisionalLoadWithError(
+ content::RenderViewHost* render_view_host,
+ const ViewHostMsg_DidFailProvisionalLoadWithError_Params& params) {}
+
// The RenderView was navigated to a different page.
virtual void DidNavigate(RenderViewHost* render_view_host,
const ViewHostMsg_FrameNavigate_Params& params) {}