Chromium Code Reviews

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

Issue 151003004: Add an automatic settings reset banner. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase on top of transaction patch. Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Index: chrome/browser/prefs/tracked/tracked_atomic_preference.cc
diff --git a/chrome/browser/prefs/tracked/tracked_atomic_preference.cc b/chrome/browser/prefs/tracked/tracked_atomic_preference.cc
index f7fd9267ae1b2cf2a9e0ae7192ecbd1c9f1871e5..723734019dda3a15a8f9941a369fcad4f983db30 100644
--- a/chrome/browser/prefs/tracked/tracked_atomic_preference.cc
+++ b/chrome/browser/prefs/tracked/tracked_atomic_preference.cc
@@ -22,7 +22,7 @@ void TrackedAtomicPreference::OnNewValue(
transaction->StoreHash(pref_path_, value);
}
-void TrackedAtomicPreference::EnforceAndReport(
+bool TrackedAtomicPreference::EnforceAndReport(
base::DictionaryValue* pref_store_contents,
PrefHashStoreTransaction* transaction) const {
const base::Value* value = NULL;
@@ -36,8 +36,11 @@ void TrackedAtomicPreference::EnforceAndReport(
helper_.GetAction(value_state);
helper_.ReportAction(reset_action);
- if (reset_action == TrackedPreferenceHelper::DO_RESET)
+ bool was_reset = false;
+ if (reset_action == TrackedPreferenceHelper::DO_RESET) {
pref_store_contents->RemovePath(pref_path_, NULL);
+ was_reset = true;
+ }
if (value_state != PrefHashStoreTransaction::UNCHANGED) {
// Store the hash for the new value (whether it was reset or not).
@@ -45,4 +48,6 @@ void TrackedAtomicPreference::EnforceAndReport(
pref_store_contents->Get(pref_path_, &new_value);
transaction->StoreHash(pref_path_, new_value);
}
+
+ return was_reset;
}
« no previous file with comments | « chrome/browser/prefs/tracked/tracked_atomic_preference.h ('k') | chrome/browser/prefs/tracked/tracked_preference.h » ('j') | no next file with comments »

Powered by Google App Engine