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

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

Issue 330063004: Various Prerender Service / Prerender LocalPredictor related changes. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: davidben feedback Created 6 years, 6 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_field_trial.cc
diff --git a/chrome/browser/prerender/prerender_field_trial.cc b/chrome/browser/prerender/prerender_field_trial.cc
index 759b269c282aa34c30a1e51e7b37da6ad55e575c..9a750be2c66ec5eed3546b152b7f3617d93f1b15 100644
--- a/chrome/browser/prerender/prerender_field_trial.cc
+++ b/chrome/browser/prerender/prerender_field_trial.cc
@@ -44,6 +44,7 @@ const char kLocalPredictorUnencryptedSyncOnlyKeyName[] =
const char kSideEffectFreeWhitelistKeyName[] = "SideEffectFreeWhitelist";
const char kPrerenderLaunchKeyName[] = "PrerenderLaunch";
const char kPrerenderAlwaysControlKeyName[] = "PrerenderAlwaysControl";
+const char kPrerenderPrefetchKeyName[] = "PrerenderPrefetch";
const char kPrerenderQueryPrerenderServiceKeyName[] =
"PrerenderQueryPrerenderService";
const char kPrerenderQueryPrerenderServiceCurrentURLKeyName[] =
@@ -57,6 +58,7 @@ const char kPrerenderTTLKeyName[] = "PrerenderTTLSeconds";
const char kPrerenderPriorityHalfLifeTimeKeyName[] =
"PrerenderPriorityHalfLifeTimeSeconds";
const char kMaxConcurrentPrerenderKeyName[] = "MaxConcurrentPrerenders";
+const char kMaxLaunchPrerenderKeyName[] = "MaxLaunchPrerenders";
const char kSkipFragment[] = "SkipFragment";
const char kSkipHTTPS[] = "SkipHTTPS";
const char kSkipWhitelist[] = "SkipWhitelist";
@@ -328,7 +330,14 @@ bool IsLocalPredictorPrerenderLaunchEnabled() {
}
bool IsLocalPredictorPrerenderAlwaysControlEnabled() {
- return GetLocalPredictorSpecValue(kPrerenderAlwaysControlKeyName) ==
+ // If we prefetch rather than prerender, we automatically also prerender
+ // as a control group only.
+ return (GetLocalPredictorSpecValue(kPrerenderAlwaysControlKeyName) ==
+ kEnabledGroup) || IsLocalPredictorPrerenderPrefetchEnabled();
+}
+
+bool IsLocalPredictorPrerenderPrefetchEnabled() {
+ return GetLocalPredictorSpecValue(kPrerenderPrefetchKeyName) ==
kEnabledGroup;
}
@@ -396,6 +405,14 @@ int GetLocalPredictorMaxConcurrentPrerenders() {
return std::min(std::max(num_prerenders, 1), 10);
}
+int GetLocalPredictorMaxLaunchPrerenders() {
+ int num_prerenders;
+ StringToInt(GetLocalPredictorSpecValue(kMaxLaunchPrerenderKeyName),
+ &num_prerenders);
+ // Sanity check: Ensure the number of prerenders is between 1 and 10.
+ return std::min(std::max(num_prerenders, 1), 10);
+}
+
bool SkipLocalPredictorFragment() {
return GetLocalPredictorSpecValue(kSkipFragment) == kEnabledGroup;
}

Powered by Google App Engine
This is Rietveld 408576698