Chromium Code Reviews| Index: chrome/browser/chrome_browser_field_trials.cc |
| diff --git a/chrome/browser/chrome_browser_field_trials.cc b/chrome/browser/chrome_browser_field_trials.cc |
| index 1c9a854e5c034f3c4c1a199cb271b27e3dab09aa..03f0ae491ab73750672a0cffc2b5e69adb554e66 100644 |
| --- a/chrome/browser/chrome_browser_field_trials.cc |
| +++ b/chrome/browser/chrome_browser_field_trials.cc |
| @@ -59,6 +59,7 @@ ChromeBrowserFieldTrials::~ChromeBrowserFieldTrials() { |
| void ChromeBrowserFieldTrials::SetupFieldTrials( |
| const base::Time& install_time) { |
| chrome_variations::SetupUniformityFieldTrials(install_time); |
| + SetUpSimpleCacheFieldTrial(); |
| #if !defined(OS_ANDROID) |
| SetupDesktopFieldTrials(); |
| #endif // defined(OS_ANDROID) |
| @@ -191,6 +192,43 @@ void ChromeBrowserFieldTrials::DisableShowProfileSwitcherTrialIfNecessary() { |
| } |
| } |
| +// Sets up the experiment. The actual cache backend choice is made in the net/ |
| +// internals by looking at the experiment state. |
| +void ChromeBrowserFieldTrials::SetUpSimpleCacheFieldTrial() { |
| + if (parsed_command_line_.HasSwitch(switches::kUseSimpleCacheBackend)) { |
| + const std::string opt_value = parsed_command_line_.GetSwitchValueASCII( |
| + switches::kUseSimpleCacheBackend); |
| + if (LowerCaseEqualsASCII(opt_value, "off")) { |
| + // This is the default. |
| + return; |
| + } |
| + const base::FieldTrial::Probability kDivisor = 100; |
| + scoped_refptr<base::FieldTrial> trial( |
| + base::FieldTrialList::FactoryGetFieldTrial("SimpleCacheTrial", kDivisor, |
| + "No", 2013, 12, 31, NULL)); |
| + trial->UseOneTimeRandomization(); |
| + if (LowerCaseEqualsASCII(opt_value, "on")) { |
| + trial->AppendGroup("Yes", 100); |
| + return; |
| + } |
| +#if defined(OS_ANDROID) |
| + if (LowerCaseEqualsASCII(opt_value, "experiment")) { |
| + // TODO(pasko): Make this the default on Android when the simple cache |
| + // adds a few more necessary features. Also adjust the probability. |
| + const base::FieldTrial::Probability simple_cache_probability = 1; |
|
rvargas (doing something else)
2013/03/15 19:16:25
nit: name as a constant
|
| + trial->AppendGroup("Yes", simple_cache_probability); |
| + trial->AppendGroup("Control", simple_cache_probability); |
| + trial->group(); |
| + return; |
| + } |
| + CHECK(0) << "Only values (on|off|experiment) are supported for option " |
| + << switches::kUseSimpleCacheBackend << "."; |
| +#endif |
| + CHECK(0) << "Only values (on|off) are supported for option " |
| + << switches::kUseSimpleCacheBackend << "."; |
| + } |
| +} |
| + |
| void ChromeBrowserFieldTrials::SetUpCacheSensitivityAnalysisFieldTrial() { |
| const base::FieldTrial::Probability kDivisor = 100; |