| Index: components/variations/variations_associated_data.cc
 | 
| diff --git a/components/variations/variations_associated_data.cc b/components/variations/variations_associated_data.cc
 | 
| index d257d01999f0619e18ee76ff39a294e4b166bd1a..f9e77849fa09b9d90fd593ea1132c862c6b62887 100644
 | 
| --- a/components/variations/variations_associated_data.cc
 | 
| +++ b/components/variations/variations_associated_data.cc
 | 
| @@ -11,6 +11,7 @@
 | 
|  #include "base/feature_list.h"
 | 
|  #include "base/macros.h"
 | 
|  #include "base/memory/singleton.h"
 | 
| +#include "base/metrics/field_trial_param_associator.h"
 | 
|  #include "base/strings/string_split.h"
 | 
|  #include "components/variations/variations_http_header_provider.h"
 | 
|  
 | 
| @@ -104,68 +105,6 @@ class GroupMapAccessor {
 | 
|  
 | 
|    DISALLOW_COPY_AND_ASSIGN(GroupMapAccessor);
 | 
|  };
 | 
| -
 | 
| -// Singleton helper class that keeps track of the parameters of all variations
 | 
| -// and ensures access to these is thread-safe.
 | 
| -class VariationsParamAssociator {
 | 
| - public:
 | 
| -  typedef std::pair<std::string, std::string> VariationKey;
 | 
| -  typedef std::map<std::string, std::string> VariationParams;
 | 
| -
 | 
| -  // Retrieve the singleton.
 | 
| -  static VariationsParamAssociator* GetInstance() {
 | 
| -    return base::Singleton<
 | 
| -        VariationsParamAssociator,
 | 
| -        base::LeakySingletonTraits<VariationsParamAssociator>>::get();
 | 
| -  }
 | 
| -
 | 
| -  bool AssociateVariationParams(const std::string& trial_name,
 | 
| -                                const std::string& group_name,
 | 
| -                                const VariationParams& params) {
 | 
| -    base::AutoLock scoped_lock(lock_);
 | 
| -
 | 
| -    if (base::FieldTrialList::IsTrialActive(trial_name))
 | 
| -      return false;
 | 
| -
 | 
| -    const VariationKey key(trial_name, group_name);
 | 
| -    if (base::ContainsKey(variation_params_, key))
 | 
| -      return false;
 | 
| -
 | 
| -    variation_params_[key] = params;
 | 
| -    return true;
 | 
| -  }
 | 
| -
 | 
| -  bool GetVariationParams(const std::string& trial_name,
 | 
| -                          VariationParams* params) {
 | 
| -    base::AutoLock scoped_lock(lock_);
 | 
| -
 | 
| -    const std::string group_name =
 | 
| -        base::FieldTrialList::FindFullName(trial_name);
 | 
| -    const VariationKey key(trial_name, group_name);
 | 
| -    if (!base::ContainsKey(variation_params_, key))
 | 
| -      return false;
 | 
| -
 | 
| -    *params = variation_params_[key];
 | 
| -    return true;
 | 
| -  }
 | 
| -
 | 
| -  void ClearAllParamsForTesting() {
 | 
| -    base::AutoLock scoped_lock(lock_);
 | 
| -    variation_params_.clear();
 | 
| -  }
 | 
| -
 | 
| - private:
 | 
| -  friend struct base::DefaultSingletonTraits<VariationsParamAssociator>;
 | 
| -
 | 
| -  VariationsParamAssociator() {}
 | 
| -  ~VariationsParamAssociator() {}
 | 
| -
 | 
| -  base::Lock lock_;
 | 
| -  std::map<VariationKey, VariationParams> variation_params_;
 | 
| -
 | 
| -  DISALLOW_COPY_AND_ASSIGN(VariationsParamAssociator);
 | 
| -};
 | 
| -
 | 
|  }  // namespace
 | 
|  
 | 
|  void AssociateGoogleVariationID(IDCollectionKey key,
 | 
| @@ -207,13 +146,13 @@ bool AssociateVariationParams(
 | 
|      const std::string& trial_name,
 | 
|      const std::string& group_name,
 | 
|      const std::map<std::string, std::string>& params) {
 | 
| -  return VariationsParamAssociator::GetInstance()->AssociateVariationParams(
 | 
| -      trial_name, group_name, params);
 | 
| +  return base::FieldTrialParamAssociator::GetInstance()
 | 
| +      ->AssociateFieldTrialParams(trial_name, group_name, params);
 | 
|  }
 | 
|  
 | 
|  bool GetVariationParams(const std::string& trial_name,
 | 
|                          std::map<std::string, std::string>* params) {
 | 
| -  return VariationsParamAssociator::GetInstance()->GetVariationParams(
 | 
| +  return base::FieldTrialParamAssociator::GetInstance()->GetFieldTrialParams(
 | 
|        trial_name, params);
 | 
|  }
 | 
|  
 | 
| @@ -281,7 +220,7 @@ void ClearAllVariationIDs() {
 | 
|  }
 | 
|  
 | 
|  void ClearAllVariationParams() {
 | 
| -  VariationsParamAssociator::GetInstance()->ClearAllParamsForTesting();
 | 
| +  base::FieldTrialParamAssociator::GetInstance()->ClearAllParamsForTesting();
 | 
|  }
 | 
|  
 | 
|  }  // namespace testing
 | 
| 
 |