diff options
author | jochen@chromium.org <jochen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-05-08 21:45:57 +0000 |
---|---|---|
committer | jochen@chromium.org <jochen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-05-08 21:45:57 +0000 |
commit | 54047eb53d73a34cad063aba32615d49ff8c9357 (patch) | |
tree | be2904af5f1b7ab53d795b64226b0c998637ae21 /content/public/browser | |
parent | 198dcd690bcbe2dfd3d97ddddf2edc37c4398c04 (diff) | |
download | chromium_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.h | 26 |
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) {} |