Chromium Code Reviews| 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 dd4124cee7196218a389e872df5965cdbe5599a4..644381278f96ed317d254b671030af9934e82e09 100644 |
| --- a/chrome/browser/prefs/chrome_pref_service_factory.cc |
| +++ b/chrome/browser/prefs/chrome_pref_service_factory.cc |
| @@ -69,27 +69,27 @@ namespace { |
| const PrefHashFilter::TrackedPreferenceMetadata kTrackedPrefs[] = { |
| { |
| 0, prefs::kShowHomeButton, |
| - PrefHashFilter::ENFORCE_ALL, |
| + PrefHashFilter::ENFORCE_ON_LOAD, |
| PrefHashFilter::TRACKING_STRATEGY_ATOMIC |
| }, |
| { |
| 1, prefs::kHomePageIsNewTabPage, |
| - PrefHashFilter::ENFORCE_ALL, |
| + PrefHashFilter::ENFORCE_ON_LOAD, |
| PrefHashFilter::TRACKING_STRATEGY_ATOMIC |
| }, |
| { |
| 2, prefs::kHomePage, |
| - PrefHashFilter::ENFORCE_ALL, |
| + PrefHashFilter::ENFORCE_ON_LOAD, |
| PrefHashFilter::TRACKING_STRATEGY_ATOMIC |
| }, |
| { |
| 3, prefs::kRestoreOnStartup, |
| - PrefHashFilter::ENFORCE_ALL, |
| + PrefHashFilter::ENFORCE_ON_LOAD, |
| PrefHashFilter::TRACKING_STRATEGY_ATOMIC |
| }, |
| { |
| 4, prefs::kURLsToRestoreOnStartup, |
| - PrefHashFilter::ENFORCE_ALL, |
| + PrefHashFilter::ENFORCE_ON_LOAD, |
| PrefHashFilter::TRACKING_STRATEGY_ATOMIC |
| }, |
| { |
| @@ -99,33 +99,33 @@ const PrefHashFilter::TrackedPreferenceMetadata kTrackedPrefs[] = { |
| }, |
| { |
| 6, prefs::kGoogleServicesLastUsername, |
| - PrefHashFilter::ENFORCE_ALL, |
| + PrefHashFilter::ENFORCE_ON_LOAD, |
| PrefHashFilter::TRACKING_STRATEGY_ATOMIC |
| }, |
| { |
| 7, prefs::kSearchProviderOverrides, |
| - PrefHashFilter::ENFORCE_ALL, |
| + PrefHashFilter::ENFORCE_ON_LOAD, |
| PrefHashFilter::TRACKING_STRATEGY_ATOMIC |
| }, |
| { |
| 8, prefs::kDefaultSearchProviderSearchURL, |
| - PrefHashFilter::ENFORCE_ALL, |
| + PrefHashFilter::ENFORCE_ON_LOAD, |
| PrefHashFilter::TRACKING_STRATEGY_ATOMIC |
| }, |
| { |
| 9, prefs::kDefaultSearchProviderKeyword, |
| - PrefHashFilter::ENFORCE_ALL, |
| + PrefHashFilter::ENFORCE_ON_LOAD, |
| PrefHashFilter::TRACKING_STRATEGY_ATOMIC |
| }, |
| { |
| 10, prefs::kDefaultSearchProviderName, |
| - PrefHashFilter::ENFORCE_ALL, |
| + PrefHashFilter::ENFORCE_ON_LOAD, |
| PrefHashFilter::TRACKING_STRATEGY_ATOMIC |
| }, |
| #if !defined(OS_ANDROID) |
| { |
| 11, prefs::kPinnedTabs, |
| - PrefHashFilter::ENFORCE_ALL, |
| + PrefHashFilter::ENFORCE_ON_LOAD, |
| PrefHashFilter::TRACKING_STRATEGY_ATOMIC |
| }, |
| #endif |
| @@ -136,7 +136,7 @@ const PrefHashFilter::TrackedPreferenceMetadata kTrackedPrefs[] = { |
| }, |
| { |
| 13, prefs::kProfileResetPromptMemento, |
| - PrefHashFilter::ENFORCE_ALL, |
| + PrefHashFilter::ENFORCE_ON_LOAD, |
| PrefHashFilter::TRACKING_STRATEGY_ATOMIC |
| }, |
| }; |
| @@ -146,33 +146,22 @@ const size_t kTrackedPrefsReportingIDsCount = 14; |
| COMPILE_ASSERT(kTrackedPrefsReportingIDsCount >= arraysize(kTrackedPrefs), |
| need_to_increment_ids_count); |
| -PrefHashFilter::EnforcementLevel GetSettingsEnforcementLevel() { |
| +enum SettingsEnforcementGroup { |
| + GROUP_NO_ENFORCEMENT, |
| + GROUP_ENFORCE_ON_LOAD, |
| + GROUP_ENFORCE_ALWAYS |
|
robertshield
2014/02/11 21:16:40
Comments re. what these mean plz.
gab
2014/02/11 21:25:58
Done.
|
| +}; |
| + |
| +SettingsEnforcementGroup GetSettingsEnforcementGroup() { |
| static const char kSettingsEnforcementExperiment[] = "SettingsEnforcement"; |
| struct { |
| - const char* level_name; |
| - PrefHashFilter::EnforcementLevel level; |
| + const char* group_name; |
| + SettingsEnforcementGroup group; |
| } static const kEnforcementLevelMap[] = { |
| - { |
| - "no_enforcement", |
| - PrefHashFilter::NO_ENFORCEMENT |
| - }, |
| - { |
| - "enforce", |
| - PrefHashFilter::ENFORCE |
| - }, |
| - { |
| - "enforce_no_seeding", |
| - PrefHashFilter::ENFORCE_NO_SEEDING |
| - }, |
| - { |
| - "enforce_no_seeding_no_migration", |
| - PrefHashFilter::ENFORCE_NO_SEEDING_NO_MIGRATION |
| - }, |
| + { "no_enforcement", GROUP_NO_ENFORCEMENT }, |
| + { "enforce_on_load", GROUP_ENFORCE_ON_LOAD }, |
| + { "enforce_always", GROUP_ENFORCE_ALWAYS }, |
|
robertshield
2014/02/11 21:16:40
GROUP_ENFORCE_ALWAYS isn't currently used, tell me
gab
2014/02/11 21:25:58
Added TODO above.
|
| }; |
| - COMPILE_ASSERT(ARRAYSIZE_UNSAFE(kEnforcementLevelMap) == |
| - (PrefHashFilter::ENFORCE_ALL - |
| - PrefHashFilter::NO_ENFORCEMENT), |
| - missing_enforcement_level); |
| base::FieldTrial* trial = |
| base::FieldTrialList::Find(kSettingsEnforcementExperiment); |
| @@ -183,17 +172,17 @@ PrefHashFilter::EnforcementLevel GetSettingsEnforcementLevel() { |
| // 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].level_name == group_name) |
| - return kEnforcementLevelMap[i].level; |
| + if (kEnforcementLevelMap[i].group_name == group_name) |
| + return kEnforcementLevelMap[i].group; |
| } |
| } |
| #if defined(OS_WIN) |
| - // Default to ENFORCE_ALL in the absence of a valid value for the |
| + // 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 PrefHashFilter::ENFORCE_ALL; |
| + return GROUP_ENFORCE_ALWAYS; |
| #else |
| - return PrefHashFilter::NO_ENFORCEMENT; |
| + return GROUP_NO_ENFORCEMENT; |
| #endif |
| } |
| @@ -266,11 +255,14 @@ scoped_ptr<PrefHashStoreImpl> GetPrefHashStoreImpl( |
| scoped_ptr<PrefHashFilter> CreatePrefHashFilter( |
| scoped_ptr<PrefHashStore> pref_hash_store) { |
| + const PrefHashFilter::EnforcementLevel enforcement_level = |
| + GetSettingsEnforcementGroup() == GROUP_NO_ENFORCEMENT ? |
| + PrefHashFilter::NO_ENFORCEMENT : PrefHashFilter::ENFORCE_ON_LOAD; |
|
robertshield
2014/02/11 21:16:40
Can this still live in a GetSettingsEnforcementLev
gab
2014/02/11 21:25:58
No; GROUP_ENFORCE_ALWAYS means to not do unloaded
|
| return make_scoped_ptr(new PrefHashFilter(pref_hash_store.Pass(), |
| kTrackedPrefs, |
| arraysize(kTrackedPrefs), |
| kTrackedPrefsReportingIDsCount, |
| - GetSettingsEnforcementLevel())); |
| + enforcement_level)); |
| } |
| void PrepareBuilder( |