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/chrome_browser_field_trials.h" | 5 #include "chrome/browser/chrome_browser_field_trials.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
10 #include "base/metrics/field_trial.h" | 10 #include "base/metrics/field_trial.h" |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
52 const CommandLine& parsed_command_line) : | 52 const CommandLine& parsed_command_line) : |
53 parsed_command_line_(parsed_command_line) { | 53 parsed_command_line_(parsed_command_line) { |
54 } | 54 } |
55 | 55 |
56 ChromeBrowserFieldTrials::~ChromeBrowserFieldTrials() { | 56 ChromeBrowserFieldTrials::~ChromeBrowserFieldTrials() { |
57 } | 57 } |
58 | 58 |
59 void ChromeBrowserFieldTrials::SetupFieldTrials( | 59 void ChromeBrowserFieldTrials::SetupFieldTrials( |
60 const base::Time& install_time) { | 60 const base::Time& install_time) { |
61 chrome_variations::SetupUniformityFieldTrials(install_time); | 61 chrome_variations::SetupUniformityFieldTrials(install_time); |
62 SetUpSimpleCacheFieldTrial(); | |
SteveT
2013/03/15 14:07:05
We might want to wrap this in a SetupAndroidFieldT
pasko-google - do not use
2013/03/15 15:36:28
That makes sense in general. Right now we want it
| |
62 #if !defined(OS_ANDROID) | 63 #if !defined(OS_ANDROID) |
63 SetupDesktopFieldTrials(); | 64 SetupDesktopFieldTrials(); |
64 #endif // defined(OS_ANDROID) | 65 #endif // defined(OS_ANDROID) |
65 } | 66 } |
66 | 67 |
67 void ChromeBrowserFieldTrials::SetupDesktopFieldTrials() { | 68 void ChromeBrowserFieldTrials::SetupDesktopFieldTrials() { |
68 prerender::ConfigurePrefetchAndPrerender(parsed_command_line_); | 69 prerender::ConfigurePrefetchAndPrerender(parsed_command_line_); |
69 SpdyFieldTrial(); | 70 SpdyFieldTrial(); |
70 WarmConnectionFieldTrial(); | 71 WarmConnectionFieldTrial(); |
71 AutoLaunchChromeFieldTrial(); | 72 AutoLaunchChromeFieldTrial(); |
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
184 #if defined(OS_CHROMEOS) | 185 #if defined(OS_CHROMEOS) |
185 avatar_menu_always_hidden = true; | 186 avatar_menu_always_hidden = true; |
186 #endif | 187 #endif |
187 base::FieldTrial* trial = base::FieldTrialList::Find("ShowProfileSwitcher"); | 188 base::FieldTrial* trial = base::FieldTrialList::Find("ShowProfileSwitcher"); |
188 if (trial && (!ProfileManager::IsMultipleProfilesEnabled() || | 189 if (trial && (!ProfileManager::IsMultipleProfilesEnabled() || |
189 avatar_menu_always_hidden)) { | 190 avatar_menu_always_hidden)) { |
190 trial->Disable(); | 191 trial->Disable(); |
191 } | 192 } |
192 } | 193 } |
193 | 194 |
195 void ChromeBrowserFieldTrials::SetUpSimpleCacheFieldTrial() { | |
196 if (parsed_command_line_.HasSwitch(switches::kUseSimpleCacheBackend)) { | |
SteveT
2013/03/15 14:07:05
You want the user to turn on the switch in order t
pasko-google - do not use
2013/03/15 15:36:28
Yes. This will change when we tune the experiment
| |
197 const base::FieldTrial::Probability kDivisor = 100; | |
198 base::FieldTrial::Probability simple_cache_probability = 100; | |
199 scoped_refptr<base::FieldTrial> trial( | |
200 base::FieldTrialList::FactoryGetFieldTrial("SimpleCacheTrial", kDivisor, | |
201 "No", 2013, 12, 31, NULL)); | |
202 trial->UseOneTimeRandomization(); | |
203 trial->AppendGroup("Yes", simple_cache_probability); | |
SteveT
2013/03/15 14:07:05
This sets up the trial so that everyone gets the "
pasko-google - do not use
2013/03/15 15:36:28
Yes, exactly. It is the way to enable a 100% exper
| |
204 } | |
205 } | |
206 | |
194 void ChromeBrowserFieldTrials::SetUpCacheSensitivityAnalysisFieldTrial() { | 207 void ChromeBrowserFieldTrials::SetUpCacheSensitivityAnalysisFieldTrial() { |
195 const base::FieldTrial::Probability kDivisor = 100; | 208 const base::FieldTrial::Probability kDivisor = 100; |
196 | 209 |
197 base::FieldTrial::Probability sensitivity_analysis_probability = 0; | 210 base::FieldTrial::Probability sensitivity_analysis_probability = 0; |
198 | 211 |
199 scoped_refptr<base::FieldTrial> trial( | 212 scoped_refptr<base::FieldTrial> trial( |
200 base::FieldTrialList::FactoryGetFieldTrial("CacheSensitivityAnalysis", | 213 base::FieldTrialList::FactoryGetFieldTrial("CacheSensitivityAnalysis", |
201 kDivisor, "No", | 214 kDivisor, "No", |
202 2012, 12, 31, NULL)); | 215 2012, 12, 31, NULL)); |
203 trial->AppendGroup("ControlA", sensitivity_analysis_probability); | 216 trial->AppendGroup("ControlA", sensitivity_analysis_probability); |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
237 // Call |FindValue()| on the trials below, which may come from the server, to | 250 // Call |FindValue()| on the trials below, which may come from the server, to |
238 // ensure they get marked as "used" for the purposes of data reporting. | 251 // ensure they get marked as "used" for the purposes of data reporting. |
239 base::FieldTrialList::FindValue("UMA-Dynamic-Binary-Uniformity-Trial"); | 252 base::FieldTrialList::FindValue("UMA-Dynamic-Binary-Uniformity-Trial"); |
240 base::FieldTrialList::FindValue("UMA-Dynamic-Uniformity-Trial"); | 253 base::FieldTrialList::FindValue("UMA-Dynamic-Uniformity-Trial"); |
241 base::FieldTrialList::FindValue("InstantDummy"); | 254 base::FieldTrialList::FindValue("InstantDummy"); |
242 base::FieldTrialList::FindValue("InstantChannel"); | 255 base::FieldTrialList::FindValue("InstantChannel"); |
243 base::FieldTrialList::FindValue("Test0PercentDefault"); | 256 base::FieldTrialList::FindValue("Test0PercentDefault"); |
244 // Activate the autocomplete dynamic field trials. | 257 // Activate the autocomplete dynamic field trials. |
245 OmniboxFieldTrial::ActivateDynamicTrials(); | 258 OmniboxFieldTrial::ActivateDynamicTrials(); |
246 } | 259 } |
OLD | NEW |