| 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;
|
| }
|
|
|