1 // Copyright 2012 The Chromium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CHROME_BROWSER_CHROME_BROWSER_FIELD_TRIALS_H_
6 #define CHROME_BROWSER_CHROME_BROWSER_FIELD_TRIALS_H_
8 #include "base/memory/raw_ptr.h"
9 #include "components/variations/platform_field_trials.h"
11 #if BUILDFLAG(IS_ANDROID)
12 #include "components/variations/variations_associated_data.h"
21 class ChromeBrowserFieldTrials : public variations::PlatformFieldTrials {
23 explicit ChromeBrowserFieldTrials(PrefService* local_state);
25 ChromeBrowserFieldTrials(const ChromeBrowserFieldTrials&) = delete;
26 ChromeBrowserFieldTrials& operator=(const ChromeBrowserFieldTrials&) = delete;
28 ~ChromeBrowserFieldTrials() override;
30 // variations::PlatformFieldTrials:
31 void OnVariationsSetupComplete() override;
32 void SetUpClientSideFieldTrials(
34 const variations::EntropyProviders& entropy_providers,
35 base::FeatureList* feature_list) override;
36 void RegisterSyntheticTrials() override;
39 // Weak pointer to the local state prefs store.
40 const raw_ptr<PrefService, AcrossTasksDanglingUntriaged> local_state_;
42 #if BUILDFLAG(IS_ANDROID)
43 // VariationID to be used for FREMobileIdentityConsistencyFieldTrial.
44 // Set by SetUpClientSideTrials(...) and then used by
45 // RegisterSyntheticTrials().
46 variations::VariationID fre_consistency_trial_variation_id_ =
48 #endif // BUILDFLAG(IS_ANDROID)
51 #endif // CHROME_BROWSER_CHROME_BROWSER_FIELD_TRIALS_H_