Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(19)

Side by Side Diff: base/metrics/field_trial_param_associator.cc

Issue 2456723004: Move VariationsParamAssociator to base (Closed)
Patch Set: Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright (c) 2016 The Chromium Authors. All rights reserved.
Alexei Svitkine (slow) 2016/10/28 15:39:16 No (c)
lawrencewu 2016/10/28 16:54:29 Done.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "base/metrics/field_trial_param_associator.h"
6
7 namespace base {
8
9 // static
10 FieldTrialParamAssociator* FieldTrialParamAssociator::GetInstance() {
11 return Singleton<FieldTrialParamAssociator,
12 LeakySingletonTraits<FieldTrialParamAssociator>>::get();
13 }
14
15 bool FieldTrialParamAssociator::AssociateFieldTrialParams(
16 const std::string& trial_name,
17 const std::string& group_name,
18 const FieldTrialParams& params) {
19 AutoLock scoped_lock(lock_);
20
21 if (FieldTrialList::IsTrialActive(trial_name))
22 return false;
23
24 const FieldTrialKey key(trial_name, group_name);
25 if (ContainsKey(field_trial_params_, key))
26 return false;
27
28 field_trial_params_[key] = params;
29 return true;
30 }
31
32 bool FieldTrialParamAssociator::GetFieldTrialParams(
33 const std::string& trial_name,
34 FieldTrialParams* params) {
35 AutoLock scoped_lock(lock_);
36
37 const std::string group_name = FieldTrialList::FindFullName(trial_name);
38 const FieldTrialKey key(trial_name, group_name);
39 if (!ContainsKey(field_trial_params_, key))
40 return false;
41
42 *params = field_trial_params_[key];
43 return true;
44 }
45
46 void FieldTrialParamAssociator::ClearAllParamsForTesting() {
47 AutoLock scoped_lock(lock_);
48 field_trial_params_.clear();
49 }
50
51 } // namespace base
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698