Index: components/variations/variations_seed_processor.cc |
diff --git a/components/variations/variations_seed_processor.cc b/components/variations/variations_seed_processor.cc |
index fb4d7e56700188ce290b8ade8c9fcd3c4e8b93c2..b152ddb302c813e886ec27cebf11bafbd0900d44 100644 |
--- a/components/variations/variations_seed_processor.cc |
+++ b/components/variations/variations_seed_processor.cc |
@@ -221,6 +221,16 @@ void VariationsSeedProcessor::CreateTrialFromStudy( |
base::FeatureList* feature_list) { |
const Study& study = *processed_study.study(); |
+ // If the trial already exists, check if the selected group exists in the |
+ // |processed_study|. If not, there is nothing to do here. |
+ base::FieldTrial* existing_trial = base::FieldTrialList::Find(study.name()); |
+ if (existing_trial) { |
+ int experiment_index = processed_study.GetExperimentIndexByName( |
+ existing_trial->GetGroupNameWithoutActivation()); |
+ if (experiment_index == -1) |
+ return; |
+ } |
+ |
// Check if any experiments need to be forced due to a command line |
// flag. Force the first experiment with an existing flag. |
base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); |