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

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

Issue 1306653004: Expand FeatureList to support FieldTrial association. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase. Created 5 years, 2 months 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
« no previous file with comments | « base/metrics/field_trial.h ('k') | base/metrics/field_trial_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 #include "base/metrics/field_trial.h" 5 #include "base/metrics/field_trial.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/build_time.h" 9 #include "base/build_time.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
132 return group_; 132 return group_;
133 } 133 }
134 134
135 const std::string& FieldTrial::group_name() { 135 const std::string& FieldTrial::group_name() {
136 // Call |group()| to ensure group gets assigned and observers are notified. 136 // Call |group()| to ensure group gets assigned and observers are notified.
137 group(); 137 group();
138 DCHECK(!group_name_.empty()); 138 DCHECK(!group_name_.empty());
139 return group_name_; 139 return group_name_;
140 } 140 }
141 141
142 const std::string& FieldTrial::GetGroupNameWithoutActivation() {
143 FinalizeGroupChoice();
144 return group_name_;
145 }
146
142 void FieldTrial::SetForced() { 147 void FieldTrial::SetForced() {
143 // We might have been forced before (e.g., by CreateFieldTrial) and it's 148 // We might have been forced before (e.g., by CreateFieldTrial) and it's
144 // first come first served, e.g., command line switch has precedence. 149 // first come first served, e.g., command line switch has precedence.
145 if (forced_) 150 if (forced_)
146 return; 151 return;
147 152
148 // And we must finalize the group choice before we mark ourselves as forced. 153 // And we must finalize the group choice before we mark ourselves as forced.
149 FinalizeGroupChoice(); 154 FinalizeGroupChoice();
150 forced_ = true; 155 forced_ = true;
151 } 156 }
(...skipping 438 matching lines...) Expand 10 before | Expand all | Expand 10 after
590 return; 595 return;
591 } 596 }
592 AutoLock auto_lock(global_->lock_); 597 AutoLock auto_lock(global_->lock_);
593 DCHECK(!global_->PreLockedFind(trial->trial_name())); 598 DCHECK(!global_->PreLockedFind(trial->trial_name()));
594 trial->AddRef(); 599 trial->AddRef();
595 trial->SetTrialRegistered(); 600 trial->SetTrialRegistered();
596 global_->registered_[trial->trial_name()] = trial; 601 global_->registered_[trial->trial_name()] = trial;
597 } 602 }
598 603
599 } // namespace base 604 } // namespace base
OLDNEW
« no previous file with comments | « base/metrics/field_trial.h ('k') | base/metrics/field_trial_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698