Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(499)

Unified Diff: chrome/browser/prerender/prerender_manager.cc

Issue 1767243002: Update prerender policy for custom tabs (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Dan's comments Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/prerender/prerender_manager.cc
diff --git a/chrome/browser/prerender/prerender_manager.cc b/chrome/browser/prerender/prerender_manager.cc
index 4bb07b23169a97432e1a9cb06d1239f8751ae0d1..5f1d631a70f8d193c2e20f5b606abdd085cf259e 100644
--- a/chrome/browser/prerender/prerender_manager.cc
+++ b/chrome/browser/prerender/prerender_manager.cc
@@ -297,9 +297,11 @@ PrerenderHandle* PrerenderManager::AddPrerenderFromExternalRequest(
const GURL& url,
const content::Referrer& referrer,
SessionStorageNamespace* session_storage_namespace,
- const gfx::Size& size) {
- return AddPrerender(ORIGIN_EXTERNAL_REQUEST, url, referrer, size,
- session_storage_namespace);
+ const gfx::Size& size,
+ bool prerender_on_mobile) {
+ Origin origin = prerender_on_mobile ? ORIGIN_EXTERNAL_REQUEST_MOBILE
+ : ORIGIN_EXTERNAL_REQUEST;
+ return AddPrerender(origin, url, referrer, size, session_storage_namespace);
}
PrerenderHandle* PrerenderManager::AddPrerenderForInstant(
@@ -934,7 +936,8 @@ PrerenderHandle* PrerenderManager::AddPrerender(
// histogram tracking.
histograms_->RecordPrerender(origin, url_arg);
- NetworkPredictionStatus prerendering_status = GetPredictionStatus();
+ NetworkPredictionStatus prerendering_status =
+ GetPredictionStatusForOrigin(origin);
if (prerendering_status != NetworkPredictionStatus::ENABLED) {
FinalStatus final_status =
prerendering_status == NetworkPredictionStatus::DISABLED_DUE_TO_NETWORK
@@ -1285,6 +1288,16 @@ NetworkPredictionStatus PrerenderManager::GetPredictionStatus() const {
return CanPrefetchAndPrerenderUI(profile_->GetPrefs());
}
+NetworkPredictionStatus PrerenderManager::GetPredictionStatusForOrigin(
+ Origin origin) const {
+ NetworkPredictionStatus prerender_status = GetPredictionStatus();
pasko 2016/03/10 14:21:37 nit: s/prerender_status/prediction_status/
Yusuf 2016/03/10 18:55:53 Done.
+ if (prerender_status == NetworkPredictionStatus::DISABLED_DUE_TO_NETWORK
+ && origin == ORIGIN_EXTERNAL_REQUEST_MOBILE) {
+ prerender_status = NetworkPredictionStatus::ENABLED;
+ }
+ return prerender_status;
+}
+
void PrerenderManager::AddProfileNetworkBytesIfEnabled(int64_t bytes) {
DCHECK_GE(bytes, 0);
if (GetPredictionStatus() == NetworkPredictionStatus::ENABLED &&

Powered by Google App Engine
This is Rietveld 408576698