| 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 #ifndef CHROME_BROWSER_CHROME_BROWSER_FIELD_TRIALS_H_ | 5 #ifndef CHROME_BROWSER_CHROME_BROWSER_FIELD_TRIALS_H_ |
| 6 #define CHROME_BROWSER_CHROME_BROWSER_FIELD_TRIALS_H_ | 6 #define CHROME_BROWSER_CHROME_BROWSER_FIELD_TRIALS_H_ |
| 7 | 7 |
| 8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "base/time.h" | |
| 11 | 10 |
| 12 class PrefService; | 11 class PrefService; |
| 13 | 12 |
| 14 class ChromeBrowserFieldTrials { | 13 class ChromeBrowserFieldTrials { |
| 15 public: | 14 public: |
| 16 explicit ChromeBrowserFieldTrials(const CommandLine& command_line); | 15 explicit ChromeBrowserFieldTrials(const CommandLine& command_line); |
| 17 ~ChromeBrowserFieldTrials(); | 16 ~ChromeBrowserFieldTrials(); |
| 18 | 17 |
| 19 // Called by the browser main sequence to set up Field Trials for this client. | 18 // Called by the browser main sequence to set up Field Trials for this client. |
| 20 // |local_state| is used to extract properties like install time. | 19 // |local_state| is used to extract properties like install time. |
| 21 void SetupFieldTrials(PrefService* local_state); | 20 void SetupFieldTrials(PrefService* local_state); |
| 22 | 21 |
| 23 private: | 22 private: |
| 24 // Sets up common desktop-only field trials. | |
| 25 // Add an invocation of your field trial init function to this method, or to | |
| 26 // SetupFieldTrials if it is for all platforms. | |
| 27 // |local_state| is needed by some other methods called from within this one. | |
| 28 void SetupDesktopFieldTrials(PrefService* local_state); | |
| 29 | |
| 30 #if defined(OS_ANDROID) || defined(OS_IOS) | |
| 31 // Sets up mobile-only field trials. | |
| 32 // Add invocation of your field trial initialization code in this method. | |
| 33 void SetupMobileFieldTrials(); | |
| 34 | |
| 35 // Mobile compression rollout field trial. | |
| 36 void DataCompressionProxyFieldTrial(); | |
| 37 #endif // defined(OS_ANDROID) || defined(OS_IOS) | |
| 38 | |
| 39 // This is not quite a field trial initialization, but it's an initialization | |
| 40 // that depends on a field trial, so why not? :-) | |
| 41 // |local_state| is needed to reset a local pref based on the chosen group. | |
| 42 void SetupAppLauncherFieldTrial(PrefService* local_state); | |
| 43 | |
| 44 // A/B test for spdy when --use-spdy not set. | |
| 45 void SpdyFieldTrial(); | |
| 46 | |
| 47 // Field trial to see what disabling DNS pre-resolution does to | |
| 48 // latency of page loads. | |
| 49 void PredictorFieldTrial(); | |
| 50 | |
| 51 // A field trial to see what effects launching Chrome automatically on | |
| 52 // computer startup has on retention and usage of Chrome. | |
| 53 void AutoLaunchChromeFieldTrial(); | |
| 54 | |
| 55 // A collection of one-time-randomized and session-randomized field trials | |
| 56 // intended to test the uniformity and correctness of the field trial control, | |
| 57 // bucketing and reporting systems. | |
| 58 void SetupUniformityFieldTrials(const base::Time& install_date); | |
| 59 | |
| 60 // Sets up the InfiniteCache field trial. | |
| 61 void SetUpInfiniteCacheFieldTrial(); | |
| 62 | |
| 63 // Sets up field trials for doing Cache Sensitivity Analysis. | |
| 64 void SetUpCacheSensitivityAnalysisFieldTrial(); | |
| 65 | |
| 66 // Disables the show profile switcher field trial if multi-profiles is not | |
| 67 // enabled. | |
| 68 void DisableShowProfileSwitcherTrialIfNecessary(); | |
| 69 | |
| 70 // A field trial to determine the impact of using non-blocking reads for | |
| 71 // TCP sockets on Windows instead of overlapped I/O. | |
| 72 void WindowsOverlappedTCPReadsFieldTrial(); | |
| 73 | |
| 74 // A field trial to check the simple cache performance. | 23 // A field trial to check the simple cache performance. |
| 75 void SetUpSimpleCacheFieldTrial(); | 24 void SetUpSimpleCacheFieldTrial(); |
| 76 | 25 |
| 77 // Instantiates dynamic trials by querying their state, to ensure they get | 26 // Instantiates dynamic trials by querying their state, to ensure they get |
| 78 // reported as used. | 27 // reported as used. |
| 79 void InstantiateDynamicTrials(); | 28 void InstantiateDynamicTrials(); |
| 80 | 29 |
| 81 const CommandLine& parsed_command_line_; | 30 const CommandLine& parsed_command_line_; |
| 82 | 31 |
| 83 DISALLOW_COPY_AND_ASSIGN(ChromeBrowserFieldTrials); | 32 DISALLOW_COPY_AND_ASSIGN(ChromeBrowserFieldTrials); |
| 84 }; | 33 }; |
| 85 | 34 |
| 86 #endif // CHROME_BROWSER_CHROME_BROWSER_FIELD_TRIALS_H_ | 35 #endif // CHROME_BROWSER_CHROME_BROWSER_FIELD_TRIALS_H_ |
| OLD | NEW |