Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/prerender/prerender_field_trial.h" | 5 #include "chrome/browser/prerender/prerender_field_trial.h" |
| 6 | 6 |
| 7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
| 8 #include "base/logging.h" | 8 #include "base/logging.h" |
| 9 #include "base/metrics/field_trial.h" | 9 #include "base/metrics/field_trial.h" |
| 10 #include "base/metrics/histogram.h" | 10 #include "base/metrics/histogram.h" |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 47 const char kPrerenderPrefetchKeyName[] = "PrerenderPrefetch"; | 47 const char kPrerenderPrefetchKeyName[] = "PrerenderPrefetch"; |
| 48 const char kPrerenderQueryPrerenderServiceKeyName[] = | 48 const char kPrerenderQueryPrerenderServiceKeyName[] = |
| 49 "PrerenderQueryPrerenderService"; | 49 "PrerenderQueryPrerenderService"; |
| 50 const char kPrerenderQueryPrerenderServiceCurrentURLKeyName[] = | 50 const char kPrerenderQueryPrerenderServiceCurrentURLKeyName[] = |
| 51 "PrerenderQueryPrerenderServiceCurrentURL"; | 51 "PrerenderQueryPrerenderServiceCurrentURL"; |
| 52 const char kPrerenderQueryPrerenderServiceCandidateURLsKeyName[] = | 52 const char kPrerenderQueryPrerenderServiceCandidateURLsKeyName[] = |
| 53 "PrerenderQueryPrerenderServiceCandidateURLs"; | 53 "PrerenderQueryPrerenderServiceCandidateURLs"; |
| 54 const char kPrerenderServiceBehaviorIDKeyName[] = "PrerenderServiceBehaviorID"; | 54 const char kPrerenderServiceBehaviorIDKeyName[] = "PrerenderServiceBehaviorID"; |
| 55 const char kPrerenderServiceFetchTimeoutKeyName[] = | 55 const char kPrerenderServiceFetchTimeoutKeyName[] = |
| 56 "PrerenderServiceFetchTimeoutMs"; | 56 "PrerenderServiceFetchTimeoutMs"; |
| 57 const char kPrefetchListTimeoutKeyName[] = "PrefetchListTimeoutSeconds"; | |
| 57 const char kPrerenderTTLKeyName[] = "PrerenderTTLSeconds"; | 58 const char kPrerenderTTLKeyName[] = "PrerenderTTLSeconds"; |
| 58 const char kPrerenderPriorityHalfLifeTimeKeyName[] = | 59 const char kPrerenderPriorityHalfLifeTimeKeyName[] = |
| 59 "PrerenderPriorityHalfLifeTimeSeconds"; | 60 "PrerenderPriorityHalfLifeTimeSeconds"; |
| 60 const char kMaxConcurrentPrerenderKeyName[] = "MaxConcurrentPrerenders"; | 61 const char kMaxConcurrentPrerenderKeyName[] = "MaxConcurrentPrerenders"; |
| 61 const char kMaxLaunchPrerenderKeyName[] = "MaxLaunchPrerenders"; | 62 const char kMaxLaunchPrerenderKeyName[] = "MaxLaunchPrerenders"; |
| 62 const char kSkipFragment[] = "SkipFragment"; | 63 const char kSkipFragment[] = "SkipFragment"; |
| 63 const char kSkipHTTPS[] = "SkipHTTPS"; | 64 const char kSkipHTTPS[] = "SkipHTTPS"; |
| 64 const char kSkipWhitelist[] = "SkipWhitelist"; | 65 const char kSkipWhitelist[] = "SkipWhitelist"; |
| 65 const char kSkipServiceWhitelist[] = "SkipServiceWhitelist"; | 66 const char kSkipServiceWhitelist[] = "SkipServiceWhitelist"; |
| 66 const char kSkipLoggedIn[] = "SkipLoggedIn"; | 67 const char kSkipLoggedIn[] = "SkipLoggedIn"; |
| 67 const char kSkipDefaultNoPrerender[] = "SkipDefaultNoPrerender"; | 68 const char kSkipDefaultNoPrerender[] = "SkipDefaultNoPrerender"; |
| 68 const char kPrerenderServiceURLPrefixParameterName[] = | 69 const char kPrerenderServiceURLPrefixParameterName[] = |
| 69 "PrerenderServiceURLPrefix"; | 70 "PrerenderServiceURLPrefix"; |
| 70 const char kDefaultPrerenderServiceURLPrefix[] = | 71 const char kDefaultPrerenderServiceURLPrefix[] = |
| 71 "https://clients4.google.com/prerenderservice/?q="; | 72 "https://clients4.google.com/prerenderservice/?q="; |
| 72 const int kMinPrerenderServiceTimeoutMs = 1; | 73 const int kMinPrerenderServiceTimeoutMs = 1; |
| 73 const int kMaxPrerenderServiceTimeoutMs = 10000; | 74 const int kMaxPrerenderServiceTimeoutMs = 10000; |
| 74 const int kDefaultPrerenderServiceTimeoutMs = 1000; | 75 const int kDefaultPrerenderServiceTimeoutMs = 1000; |
| 76 const int kMinPrefetchListTimeoutSeconds = 1; | |
| 77 const int kMaxPrefetchListTimeoutSeconds = 1800; | |
| 78 const int kDefaultPrefetchListTimeoutSeconds = 300; | |
| 75 const char kSkipPrerenderLocalCanadidates[] = "SkipPrerenderLocalCandidates"; | 79 const char kSkipPrerenderLocalCanadidates[] = "SkipPrerenderLocalCandidates"; |
| 76 const char kSkipPrerenderServiceCanadidates[] = | 80 const char kSkipPrerenderServiceCanadidates[] = |
| 77 "SkipPrerenderServiceCandidates"; | 81 "SkipPrerenderServiceCandidates"; |
| 78 const char kDisableSessionStorageNamespaceMerging[] = | 82 const char kDisableSessionStorageNamespaceMerging[] = |
| 79 "DisableSessionStorageNamespaceMerging"; | 83 "DisableSessionStorageNamespaceMerging"; |
| 80 const char kPrerenderCookieStore[] = "PrerenderCookieStore"; | 84 const char kPrerenderCookieStore[] = "PrerenderCookieStore"; |
| 81 | 85 |
| 82 void SetupPrerenderFieldTrial() { | 86 void SetupPrerenderFieldTrial() { |
| 83 const FieldTrial::Probability divisor = 1000; | 87 const FieldTrial::Probability divisor = 1000; |
| 84 | 88 |
| (...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 375 int GetPrerenderServiceFetchTimeoutMs() { | 379 int GetPrerenderServiceFetchTimeoutMs() { |
| 376 int result; | 380 int result; |
| 377 StringToInt(GetLocalPredictorSpecValue(kPrerenderServiceFetchTimeoutKeyName), | 381 StringToInt(GetLocalPredictorSpecValue(kPrerenderServiceFetchTimeoutKeyName), |
| 378 &result); | 382 &result); |
| 379 // If the value is outside the valid range, use the default value. | 383 // If the value is outside the valid range, use the default value. |
| 380 return (result < kMinPrerenderServiceTimeoutMs || | 384 return (result < kMinPrerenderServiceTimeoutMs || |
| 381 result > kMaxPrerenderServiceTimeoutMs) ? | 385 result > kMaxPrerenderServiceTimeoutMs) ? |
| 382 kDefaultPrerenderServiceTimeoutMs : result; | 386 kDefaultPrerenderServiceTimeoutMs : result; |
| 383 } | 387 } |
| 384 | 388 |
| 389 int GetPrerenderPrefetchListTimeoutSeconds() { | |
| 390 int result; | |
| 391 StringToInt(GetLocalPredictorSpecValue(kPrefetchListTimeoutKeyName), &result); | |
|
davidben
2014/08/05 18:51:12
Nit: Check for StringToInt returning false here, s
tburkard
2014/08/05 20:05:54
See comment in base/strings/string_number_conversi
| |
| 392 // If the value is outside the valid range, use the default value. | |
| 393 return (result < kMinPrefetchListTimeoutSeconds || | |
| 394 result > kMaxPrefetchListTimeoutSeconds) ? | |
| 395 kDefaultPrefetchListTimeoutSeconds : result; | |
| 396 } | |
| 397 | |
| 385 int GetLocalPredictorTTLSeconds() { | 398 int GetLocalPredictorTTLSeconds() { |
| 386 int ttl; | 399 int ttl; |
| 387 StringToInt(GetLocalPredictorSpecValue(kPrerenderTTLKeyName), &ttl); | 400 StringToInt(GetLocalPredictorSpecValue(kPrerenderTTLKeyName), &ttl); |
| 388 // If the value is outside of 10s or 600s, use a default value of 180s. | 401 // If the value is outside of 10s or 600s, use a default value of 180s. |
| 389 return (ttl < 10 || ttl > 600) ? 180 : ttl; | 402 return (ttl < 10 || ttl > 600) ? 180 : ttl; |
| 390 } | 403 } |
| 391 | 404 |
| 392 int GetLocalPredictorPrerenderPriorityHalfLifeTimeSeconds() { | 405 int GetLocalPredictorPrerenderPriorityHalfLifeTimeSeconds() { |
| 393 int half_life_time; | 406 int half_life_time; |
| 394 StringToInt(GetLocalPredictorSpecValue(kPrerenderPriorityHalfLifeTimeKeyName), | 407 StringToInt(GetLocalPredictorSpecValue(kPrerenderPriorityHalfLifeTimeKeyName), |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 451 return GetLocalPredictorSpecValue(kDisableSessionStorageNamespaceMerging) != | 464 return GetLocalPredictorSpecValue(kDisableSessionStorageNamespaceMerging) != |
| 452 kDisabledGroup; | 465 kDisabledGroup; |
| 453 } | 466 } |
| 454 | 467 |
| 455 bool IsPrerenderCookieStoreEnabled() { | 468 bool IsPrerenderCookieStoreEnabled() { |
| 456 return GetLocalPredictorSpecValue(kPrerenderCookieStore) != kDisabledGroup && | 469 return GetLocalPredictorSpecValue(kPrerenderCookieStore) != kDisabledGroup && |
| 457 FieldTrialList::FindFullName(kPrerenderCookieStore) != kDisabledGroup; | 470 FieldTrialList::FindFullName(kPrerenderCookieStore) != kDisabledGroup; |
| 458 } | 471 } |
| 459 | 472 |
| 460 } // namespace prerender | 473 } // namespace prerender |
| OLD | NEW |