Index: chrome/browser/prerender/prerender_tab_helper.cc |
diff --git a/chrome/browser/prerender/prerender_tab_helper.cc b/chrome/browser/prerender/prerender_tab_helper.cc |
index 64b9a39668aa95a59a5e287ebd52fdedcc7ddbd0..84dfb83c6c17137db3a8b281c3f40772e26c5491 100644 |
--- a/chrome/browser/prerender/prerender_tab_helper.cc |
+++ b/chrome/browser/prerender/prerender_tab_helper.cc |
@@ -16,6 +16,7 @@ |
#include "content/public/browser/navigation_details.h" |
#include "content/public/browser/navigation_entry.h" |
#include "content/public/browser/render_frame_host.h" |
+#include "content/public/browser/resource_request_details.h" |
#include "content/public/browser/web_contents.h" |
#include "content/public/common/frame_navigate_params.h" |
@@ -81,18 +82,21 @@ PrerenderTabHelper::PrerenderTabHelper( |
PrerenderTabHelper::~PrerenderTabHelper() { |
} |
-void PrerenderTabHelper::ProvisionalChangeToMainFrameUrl( |
- const GURL& url, |
- content::RenderFrameHost* render_frame_host) { |
- url_ = url; |
+void PrerenderTabHelper::DidGetRedirectForResourceRequest( |
+ content::RenderViewHost* render_view_host, |
+ const content::ResourceRedirectDetails& details) { |
+ if (details.resource_type != content::RESOURCE_TYPE_MAIN_FRAME) |
+ return; |
+ |
+ url_ = details.new_url; |
RecordEvent(EVENT_MAINFRAME_CHANGE); |
- RecordEventIfLoggedInURL(EVENT_MAINFRAME_CHANGE_DOMAIN_LOGGED_IN, url); |
+ RecordEventIfLoggedInURL(EVENT_MAINFRAME_CHANGE_DOMAIN_LOGGED_IN, url_); |
PrerenderManager* prerender_manager = MaybeGetPrerenderManager(); |
if (!prerender_manager) |
return; |
if (prerender_manager->IsWebContentsPrerendering(web_contents(), NULL)) |
return; |
- ReportTabHelperURLSeenToLocalPredictor(prerender_manager, url, |
+ ReportTabHelperURLSeenToLocalPredictor(prerender_manager, url_, |
web_contents()); |
} |