Commit b0aa1fb5 authored by avi's avatar avi Committed by Commit bot

Remove the use of ProvisionalChangeToMainFrameUrl from prerender code.

BUG=78512
TEST=no change

Review URL: https://codereview.chromium.org/565263005

Cr-Commit-Position: refs/heads/master@{#296183}
parent b5e7760a
......@@ -55,6 +55,7 @@
#include "content/public/browser/render_frame_host.h"
#include "content/public/browser/render_process_host.h"
#include "content/public/browser/render_view_host.h"
#include "content/public/browser/resource_request_details.h"
#include "content/public/browser/session_storage_namespace.h"
#include "content/public/browser/site_instance.h"
#include "content/public/browser/storage_partition.h"
......@@ -1096,14 +1097,19 @@ void PrerenderManager::PendingSwap::AboutToNavigateRenderView(
target_route_id_, url_);
}
void PrerenderManager::PendingSwap::ProvisionalChangeToMainFrameUrl(
const GURL& url,
content::RenderFrameHost* render_frame_host) {
// We must only cancel the pending swap if the |url| navigated to is not
void PrerenderManager::PendingSwap::DidStartProvisionalLoadForFrame(
content::RenderFrameHost* render_frame_host,
const GURL& validated_url,
bool is_error_page,
bool is_iframe_srcdoc) {
if (render_frame_host->GetParent())
return;
// We must only cancel the pending swap if the url navigated to is not
// the URL being attempted to be swapped in. That's because in the normal
// flow, a ProvisionalChangeToMainFrameUrl will happen for the URL attempted
// to be swapped in immediately after the pending swap has issued its merge.
if (url != url_)
if (validated_url != url_)
prerender_data_->ClearPendingSwap();
}
......
......@@ -478,9 +478,11 @@ class PrerenderManager : public base::SupportsWeakPtr<PrerenderManager>,
// content::WebContentsObserver implementation.
virtual void AboutToNavigateRenderView(
content::RenderViewHost* render_view_host) OVERRIDE;
virtual void ProvisionalChangeToMainFrameUrl(
const GURL& url,
content::RenderFrameHost* render_frame_host) OVERRIDE;
virtual void DidStartProvisionalLoadForFrame(
content::RenderFrameHost* render_frame_host,
const GURL& validated_url,
bool is_error_page,
bool is_iframe_srcdoc) OVERRIDE;
virtual void DidCommitProvisionalLoadForFrame(
content::RenderFrameHost* render_frame_host,
const GURL& validated_url,
......
......@@ -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,19 +82,13 @@ PrerenderTabHelper::PrerenderTabHelper(
PrerenderTabHelper::~PrerenderTabHelper() {
}
void PrerenderTabHelper::ProvisionalChangeToMainFrameUrl(
const GURL& url,
content::RenderFrameHost* render_frame_host) {
url_ = url;
RecordEvent(EVENT_MAINFRAME_CHANGE);
RecordEventIfLoggedInURL(EVENT_MAINFRAME_CHANGE_DOMAIN_LOGGED_IN, url);
PrerenderManager* prerender_manager = MaybeGetPrerenderManager();
if (!prerender_manager)
void PrerenderTabHelper::DidGetRedirectForResourceRequest(
content::RenderViewHost* render_view_host,
const content::ResourceRedirectDetails& details) {
if (details.resource_type != content::RESOURCE_TYPE_MAIN_FRAME)
return;
if (prerender_manager->IsWebContentsPrerendering(web_contents(), NULL))
return;
ReportTabHelperURLSeenToLocalPredictor(prerender_manager, url,
web_contents());
MainFrameUrlDidChange(details.new_url);
}
void PrerenderTabHelper::DidCommitProvisionalLoadForFrame(
......@@ -174,6 +169,21 @@ void PrerenderTabHelper::DidStartProvisionalLoadForFrame(
next_load_is_control_prerender_ = false;
next_load_origin_ = ORIGIN_NONE;
}
MainFrameUrlDidChange(validated_url);
}
void PrerenderTabHelper::MainFrameUrlDidChange(const GURL& url) {
url_ = 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());
}
void PrerenderTabHelper::PasswordSubmitted(const autofill::PasswordForm& form) {
......
......@@ -51,9 +51,9 @@ class PrerenderTabHelper
virtual ~PrerenderTabHelper();
// content::WebContentsObserver implementation.
virtual void ProvisionalChangeToMainFrameUrl(
const GURL& url,
content::RenderFrameHost* render_frame_host) OVERRIDE;
virtual void DidGetRedirectForResourceRequest(
content::RenderViewHost* render_view_host,
const content::ResourceRedirectDetails& details) OVERRIDE;
virtual void DidStopLoading(
content::RenderViewHost* render_view_host) OVERRIDE;
virtual void DidStartProvisionalLoadForFrame(
......@@ -66,6 +66,10 @@ class PrerenderTabHelper
const GURL& validated_url,
ui::PageTransition transition_type) OVERRIDE;
// Called when the URL of the main frame changed, either when the load
// commits, or a redirect happens.
void MainFrameUrlDidChange(const GURL& url);
// Called when a password form has been submitted.
void PasswordSubmitted(const autofill::PasswordForm& form);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment