Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1777)

Unified Diff: chrome/browser/prefs/tracked/tracked_split_preference.cc

Issue 151003004: Add an automatic settings reset banner. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Moved reset logic to chrome_pref_service_factory Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/prefs/tracked/tracked_split_preference.cc
diff --git a/chrome/browser/prefs/tracked/tracked_split_preference.cc b/chrome/browser/prefs/tracked/tracked_split_preference.cc
index dc0a0f4424dfef03148f347c6baaa5e5bbdd92bb..b70bab3dd328f724d13c87504f7cb99411c78d0b 100644
--- a/chrome/browser/prefs/tracked/tracked_split_preference.cc
+++ b/chrome/browser/prefs/tracked/tracked_split_preference.cc
@@ -30,14 +30,14 @@ void TrackedSplitPreference::OnNewValue(const base::Value* value) const {
pref_hash_store_->StoreSplitHash(pref_path_, dict_value);
}
-void TrackedSplitPreference::EnforceAndReport(
+bool TrackedSplitPreference::EnforceAndReport(
base::DictionaryValue* pref_store_contents) const {
base::DictionaryValue* dict_value = NULL;
if (!pref_store_contents->GetDictionary(pref_path_, &dict_value) &&
pref_store_contents->Get(pref_path_, NULL)) {
// There should be a dictionary or nothing at |pref_path_|.
NOTREACHED();
- return;
+ return false;
}
std::vector<std::string> invalid_keys;
@@ -53,6 +53,7 @@ void TrackedSplitPreference::EnforceAndReport(
helper_.GetAction(value_state);
helper_.ReportAction(reset_action);
+ bool was_reset = false;
if (reset_action == TrackedPreferenceHelper::DO_RESET) {
if (value_state == PrefHashStore::CHANGED) {
DCHECK(!invalid_keys.empty());
@@ -64,6 +65,7 @@ void TrackedSplitPreference::EnforceAndReport(
} else {
pref_store_contents->RemovePath(pref_path_, NULL);
}
+ was_reset = true;
}
if (value_state != PrefHashStore::UNCHANGED) {
@@ -72,4 +74,6 @@ void TrackedSplitPreference::EnforceAndReport(
pref_store_contents->GetDictionary(pref_path_, &new_dict_value);
pref_hash_store_->StoreSplitHash(pref_path_, new_dict_value);
}
+
+ return was_reset;
}

Powered by Google App Engine
This is Rietveld 408576698