| Index: components/variations/variations_associated_data.cc
|
| diff --git a/components/variations/variations_associated_data.cc b/components/variations/variations_associated_data.cc
|
| index 9aa51d379f3d884a094d208d621e0d4eaacbe7f8..d7dda4b97d188a4c208e11ab5f35ba86551cdb94 100644
|
| --- a/components/variations/variations_associated_data.cc
|
| +++ b/components/variations/variations_associated_data.cc
|
| @@ -16,6 +16,8 @@ namespace variations {
|
|
|
| namespace {
|
|
|
| +const char kGroupTesting[] = "Testing";
|
| +
|
| // The internal singleton accessor for the map, used to keep it thread-safe.
|
| class GroupMapAccessor {
|
| public:
|
| @@ -252,6 +254,26 @@ std::string GetVariationParamValueByFeature(const base::Feature& feature,
|
| // They simply wrap existing functions in this file.
|
| namespace testing {
|
|
|
| +VariationParamsManager::VariationParamsManager(
|
| + const std::string& trial_name,
|
| + const std::map<std::string, std::string>& params) {
|
| + SetVariationParams(trial_name, params);
|
| +}
|
| +
|
| +VariationParamsManager::~VariationParamsManager() {
|
| + ClearAllVariationIDs();
|
| + ClearAllVariationParams();
|
| + field_trial_list_.reset();
|
| +}
|
| +
|
| +void VariationParamsManager::SetVariationParams(
|
| + const std::string& trial_name,
|
| + const std::map<std::string, std::string>& params) {
|
| + field_trial_list_.reset(new base::FieldTrialList(nullptr));
|
| + variations::AssociateVariationParams(trial_name, kGroupTesting, params);
|
| + base::FieldTrialList::CreateFieldTrial(trial_name, kGroupTesting);
|
| +}
|
| +
|
| void ClearAllVariationIDs() {
|
| GroupMapAccessor::GetInstance()->ClearAllMapsForTesting();
|
| }
|
|
|