| Index: chrome/browser/prefs/chrome_pref_service_factory.cc
|
| diff --git a/chrome/browser/prefs/chrome_pref_service_factory.cc b/chrome/browser/prefs/chrome_pref_service_factory.cc
|
| index 3c7f1906973bd91c8c2b9e828988b1fc84f3fad1..7041b31452bbe674b22edcc79a5a3f74b9221766 100644
|
| --- a/chrome/browser/prefs/chrome_pref_service_factory.cc
|
| +++ b/chrome/browser/prefs/chrome_pref_service_factory.cc
|
| @@ -190,6 +190,9 @@ SettingsEnforcementGroup GetSettingsEnforcementGroup() {
|
| GROUP_ENFORCE_ALWAYS },
|
| };
|
|
|
| + // TODO(gab): Switch the default to GROUP_ENFORCE_ALWAYS.
|
| + SettingsEnforcementGroup enforcement_group = GROUP_NO_ENFORCEMENT;
|
| + bool group_determined_from_trial = false;
|
| base::FieldTrial* trial =
|
| base::FieldTrialList::Find(
|
| chrome_prefs::internals::kSettingsEnforcementTrialName);
|
| @@ -200,18 +203,16 @@ SettingsEnforcementGroup GetSettingsEnforcementGroup() {
|
| // non-array pointer types; this is fine since kEnforcementLevelMap is
|
| // clearly an array.
|
| for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kEnforcementLevelMap); ++i) {
|
| - if (kEnforcementLevelMap[i].group_name == group_name)
|
| - return kEnforcementLevelMap[i].group;
|
| + if (kEnforcementLevelMap[i].group_name == group_name) {
|
| + enforcement_group = kEnforcementLevelMap[i].group;
|
| + group_determined_from_trial = true;
|
| + break;
|
| + }
|
| }
|
| }
|
| -#if defined(OS_WIN)
|
| - // Default to GROUP_ENFORCE_ALWAYS in the absence of a valid value for the
|
| - // SettingsEnforcement field trial.
|
| - // TODO(gab): Switch other platforms over to this mode.
|
| - return GROUP_ENFORCE_ALWAYS;
|
| -#else
|
| - return GROUP_NO_ENFORCEMENT;
|
| -#endif
|
| + UMA_HISTOGRAM_BOOLEAN("Settings.EnforcementGroupDeterminedFromTrial",
|
| + group_determined_from_trial);
|
| + return enforcement_group;
|
| }
|
|
|
| // Shows notifications which correspond to PersistentPrefStore's reading errors.
|
|
|