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..318e7c4d8859c64e5c6ebe1aa5daa523243f69ed 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( |
davidben
2014/09/17 15:08:30
For redirects, the difference between this hook an
tburkard
2014/09/18 09:36:04
What do you mean by "previous" here?
Avi (use Gerrit)
2014/09/18 21:00:21
The difference between ProvisionalChangeToMainFram
davidben
2014/09/18 22:14:21
Sorry, that was poorly phrased. Yeah, that was wha
|
+ 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()); |
} |
@@ -174,6 +178,17 @@ void PrerenderTabHelper::DidStartProvisionalLoadForFrame( |
next_load_is_control_prerender_ = false; |
next_load_origin_ = ORIGIN_NONE; |
} |
+ |
+ url_ = validated_url; |
+ RecordEvent(EVENT_MAINFRAME_CHANGE); |
+ 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_, |
+ web_contents()); |
davidben
2014/09/17 15:08:30
Maybe split this and the other block into their ow
Avi (use Gerrit)
2014/09/18 21:00:21
Done.
|
} |
void PrerenderTabHelper::PasswordSubmitted(const autofill::PasswordForm& form) { |