chrome_browser_field_trials.h revision a1401311d1ab56c4ed0a474bd38c108f75cb0cd9
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 base::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  // Instantiates dynamic trials by querying their state, to ensure they get
24  // reported as used.
25  void InstantiateDynamicTrials();
26
27  const base::CommandLine& parsed_command_line_;
28
29  DISALLOW_COPY_AND_ASSIGN(ChromeBrowserFieldTrials);
30};
31
32#endif  // CHROME_BROWSER_CHROME_BROWSER_FIELD_TRIALS_H_
33