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

Side by Side Diff: chrome/common/metrics/variations/variations_util.cc

Issue 22031002: Omnibox: Create DemoteByType Experiment (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: come cleanup, getting proper function names, etc. Created 7 years, 4 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 | Annotate | Revision Log
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 "chrome/common/metrics/variations/variations_util.h" 5 #include "chrome/common/metrics/variations/variations_util.h"
6 6
7 #include <map> 7 #include <map>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/memory/singleton.h" 10 #include "base/memory/singleton.h"
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 const std::string group_name = 138 const std::string group_name =
139 base::FieldTrialList::FindFullName(trial_name); 139 base::FieldTrialList::FindFullName(trial_name);
140 const VariationKey key = VariationKey(trial_name, group_name); 140 const VariationKey key = VariationKey(trial_name, group_name);
141 if (!ContainsKey(variation_params_, key)) 141 if (!ContainsKey(variation_params_, key))
142 return false; 142 return false;
143 143
144 *params = variation_params_[key]; 144 *params = variation_params_[key];
145 return true; 145 return true;
146 } 146 }
147 147
148 void ClearAllParamsForTesting() {
Alexei Svitkine (slow) 2013/08/05 18:33:11 You will need to rebase this on top of http://crre
Mark P 2013/08/05 22:11:41 Done.
149 base::AutoLock scoped_lock(lock_);
150 variation_params_.clear();
151 }
152
148 private: 153 private:
149 friend struct DefaultSingletonTraits<VariationsParamAssociator>; 154 friend struct DefaultSingletonTraits<VariationsParamAssociator>;
150 155
151 VariationsParamAssociator() {} 156 VariationsParamAssociator() {}
152 ~VariationsParamAssociator() {} 157 ~VariationsParamAssociator() {}
153 158
154 // Tests whether a field trial is active (i.e. group() has been called on it). 159 // Tests whether a field trial is active (i.e. group() has been called on it).
155 // TODO(asvitkine): Expose this as an API on base::FieldTrial. 160 // TODO(asvitkine): Expose this as an API on base::FieldTrial.
156 bool IsFieldTrialActive(const std::string& trial_name) { 161 bool IsFieldTrialActive(const std::string& trial_name) {
157 base::FieldTrial::ActiveGroups active_groups; 162 base::FieldTrial::ActiveGroups active_groups;
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after
371 } 376 }
372 377
373 // Functions below are exposed for testing explicitly behind this namespace. 378 // Functions below are exposed for testing explicitly behind this namespace.
374 // They simply wrap existing functions in this file. 379 // They simply wrap existing functions in this file.
375 namespace testing { 380 namespace testing {
376 381
377 void ClearAllVariationIDs() { 382 void ClearAllVariationIDs() {
378 GroupMapAccessor::GetInstance()->ClearAllMapsForTesting(); 383 GroupMapAccessor::GetInstance()->ClearAllMapsForTesting();
379 } 384 }
380 385
386 void ClearAllVariationParams() {
387 VariationsParamAssociator::GetInstance()->ClearAllParamsForTesting();
388 }
389
381 void TestGetFieldTrialActiveGroupIds( 390 void TestGetFieldTrialActiveGroupIds(
382 const base::FieldTrial::ActiveGroups& active_groups, 391 const base::FieldTrial::ActiveGroups& active_groups,
383 std::vector<ActiveGroupId>* name_group_ids) { 392 std::vector<ActiveGroupId>* name_group_ids) {
384 GetFieldTrialActiveGroupIdsForActiveGroups(active_groups, 393 GetFieldTrialActiveGroupIdsForActiveGroups(active_groups,
385 name_group_ids); 394 name_group_ids);
386 } 395 }
387 396
388 } // namespace testing 397 } // namespace testing
389 398
390 } // namespace chrome_variations 399 } // namespace chrome_variations
391 400
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698