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 bb1d567bda67ab33d175c4cf46739f391711a80b..d89a31d77d3bf6a3f1651f67b7c298ec8eca226e 100644 |
--- a/chrome/browser/prerender/prerender_field_trial.cc |
+++ b/chrome/browser/prerender/prerender_field_trial.cc |
@@ -54,6 +54,7 @@ const char kPrerenderQueryPrerenderServiceCandidateURLsKeyName[] = |
const char kPrerenderServiceBehaviorIDKeyName[] = "PrerenderServiceBehaviorID"; |
const char kPrerenderServiceFetchTimeoutKeyName[] = |
"PrerenderServiceFetchTimeoutMs"; |
+const char kPrefetchListTimeoutKeyName[] = "PrefetchListTimeoutSeconds"; |
const char kPrerenderTTLKeyName[] = "PrerenderTTLSeconds"; |
const char kPrerenderPriorityHalfLifeTimeKeyName[] = |
"PrerenderPriorityHalfLifeTimeSeconds"; |
@@ -72,6 +73,9 @@ const char kDefaultPrerenderServiceURLPrefix[] = |
const int kMinPrerenderServiceTimeoutMs = 1; |
const int kMaxPrerenderServiceTimeoutMs = 10000; |
const int kDefaultPrerenderServiceTimeoutMs = 1000; |
+const int kMinPrefetchListTimeoutSeconds = 1; |
+const int kMaxPrefetchListTimeoutSeconds = 1800; |
+const int kDefaultPrefetchListTimeoutSeconds = 300; |
const char kSkipPrerenderLocalCanadidates[] = "SkipPrerenderLocalCandidates"; |
const char kSkipPrerenderServiceCanadidates[] = |
"SkipPrerenderServiceCandidates"; |
@@ -382,6 +386,15 @@ int GetPrerenderServiceFetchTimeoutMs() { |
kDefaultPrerenderServiceTimeoutMs : result; |
} |
+int GetPrerenderPrefetchListTimeoutSeconds() { |
+ int result; |
+ StringToInt(GetLocalPredictorSpecValue(kPrefetchListTimeoutKeyName), &result); |
+ // If the value is outside the valid range, use the default value. |
+ return (result < kMinPrefetchListTimeoutSeconds || |
+ result > kMaxPrefetchListTimeoutSeconds) ? |
+ kDefaultPrefetchListTimeoutSeconds : result; |
+} |
+ |
int GetLocalPredictorTTLSeconds() { |
int ttl; |
StringToInt(GetLocalPredictorSpecValue(kPrerenderTTLKeyName), &ttl); |