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( |