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

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: fix indentation 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..5c607e84a769cabb74f9fb7b7120373b21cf5533 100644
--- a/chrome/browser/prerender/prerender_manager.cc
+++ b/chrome/browser/prerender/prerender_manager.cc
@@ -297,8 +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,
+ 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,
gone 2016/03/09 23:02:14 nit: does this fit on one line now?
Yusuf 2016/03/09 23:22:49 Done.
session_storage_namespace);
}
@@ -934,7 +937,8 @@ PrerenderHandle* PrerenderManager::AddPrerender(
// histogram tracking.
histograms_->RecordPrerender(origin, url_arg);
- NetworkPredictionStatus prerendering_status = GetPredictionStatus();
+ NetworkPredictionStatus prerendering_status =
+ GetPredictionStatusForOrigin(origin);
gone 2016/03/09 23:02:14 nit: should still fit on one line?
Yusuf 2016/03/09 23:22:49 Nope.
if (prerendering_status != NetworkPredictionStatus::ENABLED) {
FinalStatus final_status =
prerendering_status == NetworkPredictionStatus::DISABLED_DUE_TO_NETWORK
@@ -1285,6 +1289,16 @@ NetworkPredictionStatus PrerenderManager::GetPredictionStatus() const {
return CanPrefetchAndPrerenderUI(profile_->GetPrefs());
}
+NetworkPredictionStatus PrerenderManager::GetPredictionStatusForOrigin(
+ Origin origin) const {
+ NetworkPredictionStatus prerender_status = GetPredictionStatus();
+ 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