chrome_browser_field_trials.h revision c2e0dbddbe15c98d52c4786dac06cb8952a8ae6d
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
3// found in the LICENSE file.
4
5#ifndef CHROME_BROWSER_CHROME_BROWSER_FIELD_TRIALS_H_
6#define CHROME_BROWSER_CHROME_BROWSER_FIELD_TRIALS_H_
7
8#include "base/basictypes.h"
9#include "base/command_line.h"
10
11class PrefService;
12
13class ChromeBrowserFieldTrials {
14 public:
15  explicit ChromeBrowserFieldTrials(const CommandLine& command_line);
16  ~ChromeBrowserFieldTrials();
17
18  // Called by the browser main sequence to set up Field Trials for this client.
19  // |local_state| is used to extract properties like install time.
20  void SetupFieldTrials(PrefService* local_state);
21
22 private:
23  // A field trial to check the simple cache performance.
24  void SetUpSimpleCacheFieldTrial();
25
26  // Instantiates dynamic trials by querying their state, to ensure they get
27  // reported as used.
28  void InstantiateDynamicTrials();
29
30  const CommandLine& parsed_command_line_;
31
32  DISALLOW_COPY_AND_ASSIGN(ChromeBrowserFieldTrials);
33};
34
35#endif  // CHROME_BROWSER_CHROME_BROWSER_FIELD_TRIALS_H_
36