| 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 29 matching lines...) Expand all Loading... |
| 40 | 40 |
| 41 const char kLocalPredictorSpecTrialName[] = "PrerenderLocalPredictorSpec"; | 41 const char kLocalPredictorSpecTrialName[] = "PrerenderLocalPredictorSpec"; |
| 42 const char kLocalPredictorKeyName[] = "LocalPredictor"; | 42 const char kLocalPredictorKeyName[] = "LocalPredictor"; |
| 43 const char kLocalPredictorUnencryptedSyncOnlyKeyName[] = | 43 const char kLocalPredictorUnencryptedSyncOnlyKeyName[] = |
| 44 "LocalPredictorUnencryptedSyncOnly"; | 44 "LocalPredictorUnencryptedSyncOnly"; |
| 45 const char kSideEffectFreeWhitelistKeyName[] = "SideEffectFreeWhitelist"; | 45 const char kSideEffectFreeWhitelistKeyName[] = "SideEffectFreeWhitelist"; |
| 46 const char kPrerenderLaunchKeyName[] = "PrerenderLaunch"; | 46 const char kPrerenderLaunchKeyName[] = "PrerenderLaunch"; |
| 47 const char kPrerenderAlwaysControlKeyName[] = "PrerenderAlwaysControl"; | 47 const char kPrerenderAlwaysControlKeyName[] = "PrerenderAlwaysControl"; |
| 48 const char kPrerenderQueryPrerenderServiceKeyName[] = | 48 const char kPrerenderQueryPrerenderServiceKeyName[] = |
| 49 "PrerenderQueryPrerenderService"; | 49 "PrerenderQueryPrerenderService"; |
| 50 const char kPrerenderQueryPrerenderServiceCurrentURLKeyName[] = |
| 51 "PrerenderQueryPrerenderServiceCurrentURL"; |
| 52 const char kPrerenderQueryPrerenderServiceCandidateURLsKeyName[] = |
| 53 "PrerenderQueryPrerenderServiceCandidateURLs"; |
| 50 const char kPrerenderServiceBehaviorIDKeyName[] = "PrerenderServiceBehaviorID"; | 54 const char kPrerenderServiceBehaviorIDKeyName[] = "PrerenderServiceBehaviorID"; |
| 51 const char kPrerenderServiceFetchTimeoutKeyName[] = | 55 const char kPrerenderServiceFetchTimeoutKeyName[] = |
| 52 "PrerenderServiceFetchTimeoutMs"; | 56 "PrerenderServiceFetchTimeoutMs"; |
| 53 const char kPrerenderTTLKeyName[] = "PrerenderTTLSeconds"; | 57 const char kPrerenderTTLKeyName[] = "PrerenderTTLSeconds"; |
| 54 const char kPrerenderPriorityHalfLifeTimeKeyName[] = | 58 const char kPrerenderPriorityHalfLifeTimeKeyName[] = |
| 55 "PrerenderPriorityHalfLifeTimeSeconds"; | 59 "PrerenderPriorityHalfLifeTimeSeconds"; |
| 56 const char kMaxConcurrentPrerenderKeyName[] = "MaxConcurrentPrerenders"; | 60 const char kMaxConcurrentPrerenderKeyName[] = "MaxConcurrentPrerenders"; |
| 57 const char kSkipFragment[] = "SkipFragment"; | 61 const char kSkipFragment[] = "SkipFragment"; |
| 58 const char kSkipHTTPS[] = "SkipHTTPS"; | 62 const char kSkipHTTPS[] = "SkipHTTPS"; |
| 59 const char kSkipWhitelist[] = "SkipWhitelist"; | 63 const char kSkipWhitelist[] = "SkipWhitelist"; |
| (...skipping 306 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 366 return GetLocalPredictorSpecValue(kPrerenderAlwaysControlKeyName) == | 370 return GetLocalPredictorSpecValue(kPrerenderAlwaysControlKeyName) == |
| 367 kEnabledGroup; | 371 kEnabledGroup; |
| 368 } | 372 } |
| 369 | 373 |
| 370 bool ShouldQueryPrerenderService(Profile* profile) { | 374 bool ShouldQueryPrerenderService(Profile* profile) { |
| 371 return IsUnencryptedSyncEnabled(profile) && | 375 return IsUnencryptedSyncEnabled(profile) && |
| 372 GetLocalPredictorSpecValue(kPrerenderQueryPrerenderServiceKeyName) == | 376 GetLocalPredictorSpecValue(kPrerenderQueryPrerenderServiceKeyName) == |
| 373 kEnabledGroup; | 377 kEnabledGroup; |
| 374 } | 378 } |
| 375 | 379 |
| 380 bool ShouldQueryPrerenderServiceForCurrentURL() { |
| 381 return GetLocalPredictorSpecValue( |
| 382 kPrerenderQueryPrerenderServiceCurrentURLKeyName) != kDisabledGroup; |
| 383 } |
| 384 |
| 385 bool ShouldQueryPrerenderServiceForCandidateURLs() { |
| 386 return GetLocalPredictorSpecValue( |
| 387 kPrerenderQueryPrerenderServiceCandidateURLsKeyName) != kDisabledGroup; |
| 388 } |
| 389 |
| 376 string GetPrerenderServiceURLPrefix() { | 390 string GetPrerenderServiceURLPrefix() { |
| 377 string prefix = chrome_variations::GetVariationParamValue( | 391 string prefix = chrome_variations::GetVariationParamValue( |
| 378 kLocalPredictorSpecTrialName, | 392 kLocalPredictorSpecTrialName, |
| 379 kPrerenderServiceURLPrefixParameterName); | 393 kPrerenderServiceURLPrefixParameterName); |
| 380 if (prefix.empty()) | 394 if (prefix.empty()) |
| 381 prefix = kDefaultPrerenderServiceURLPrefix; | 395 prefix = kDefaultPrerenderServiceURLPrefix; |
| 382 return prefix; | 396 return prefix; |
| 383 } | 397 } |
| 384 | 398 |
| 385 int GetPrerenderServiceBehaviorID() { | 399 int GetPrerenderServiceBehaviorID() { |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 464 return GetLocalPredictorSpecValue(kSkipPrerenderLocalCanadidates) == | 478 return GetLocalPredictorSpecValue(kSkipPrerenderLocalCanadidates) == |
| 465 kEnabledGroup; | 479 kEnabledGroup; |
| 466 } | 480 } |
| 467 | 481 |
| 468 bool SkipLocalPredictorServiceCandidates() { | 482 bool SkipLocalPredictorServiceCandidates() { |
| 469 return GetLocalPredictorSpecValue(kSkipPrerenderServiceCanadidates) == | 483 return GetLocalPredictorSpecValue(kSkipPrerenderServiceCanadidates) == |
| 470 kEnabledGroup; | 484 kEnabledGroup; |
| 471 } | 485 } |
| 472 | 486 |
| 473 } // namespace prerender | 487 } // namespace prerender |
| OLD | NEW |