Chromium Code Reviews| Index: chrome/browser/extensions/extension_uninstall_dialog.cc |
| diff --git a/chrome/browser/extensions/extension_uninstall_dialog.cc b/chrome/browser/extensions/extension_uninstall_dialog.cc |
| index c65bf78f65cdbfa981c02d34f54785be5be2fd29..3bdb476e1f31af5ad3319f477122c5a807180962 100644 |
| --- a/chrome/browser/extensions/extension_uninstall_dialog.cc |
| +++ b/chrome/browser/extensions/extension_uninstall_dialog.cc |
| @@ -132,17 +132,23 @@ bool ExtensionUninstallDialog::ShouldShowReportAbuseCheckbox() const { |
| static const char kExperimentName[] = "ExtensionUninstall.ReportAbuse"; |
| static const char kDefaultGroupName[] = "Default"; |
| static const char kShowCheckboxGroup[] = "ShowCheckbox"; |
| - // TODO(devlin): Turn on this field trial. See crbug.com/441377. |
| - scoped_refptr<base::FieldTrial> trial( |
| - base::FieldTrialList::FactoryGetFieldTrial( |
| - kExperimentName, |
| - 100, // Total probability. |
| - kDefaultGroupName, |
| - 2015, 7, 31, // End date. |
| - base::FieldTrial::ONE_TIME_RANDOMIZED, |
| - nullptr)); |
| - int experiment_group = trial->AppendGroup(kShowCheckboxGroup, 0); |
| - return base::FieldTrialList::FindValue(kExperimentName) == experiment_group; |
| + |
| + // Important: Only initialize the trial once. |
| + if (!base::FieldTrialList::Find(kExperimentName)) { |
| + // TODO(devlin): Turn on this field trial. See crbug.com/441377. |
|
Alexei Svitkine (slow)
2015/03/31 20:50:53
The client-side API to create a field trial, like
|
| + scoped_refptr<base::FieldTrial> trial( |
| + base::FieldTrialList::FactoryGetFieldTrial( |
| + kExperimentName, |
| + 100, // Total probability. |
| + kDefaultGroupName, |
| + 2015, 7, 31, // End date. |
| + base::FieldTrial::ONE_TIME_RANDOMIZED, |
| + nullptr)); |
| + trial->AppendGroup(kShowCheckboxGroup, 0); |
| + } |
| + |
| + return base::FieldTrialList::FindFullName(kExperimentName) == |
| + kShowCheckboxGroup; |
| } |
| void ExtensionUninstallDialog::HandleReportAbuse() { |