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

Unified Diff: chrome/browser/prefs/pref_hash_filter.cc

Issue 266553002: Add TrackedPreferenceValidationDelegate (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix expectations for android and cros Created 6 years, 7 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/pref_hash_filter.cc
diff --git a/chrome/browser/prefs/pref_hash_filter.cc b/chrome/browser/prefs/pref_hash_filter.cc
index e35df37edb45769367d2673f109a1097ab88b4e1..e42d52a9db61ca2875028526edf0c265827cdfb3 100644
--- a/chrome/browser/prefs/pref_hash_filter.cc
+++ b/chrome/browser/prefs/pref_hash_filter.cc
@@ -16,6 +16,7 @@
#include "base/values.h"
#include "chrome/browser/prefs/pref_hash_store_transaction.h"
#include "chrome/browser/prefs/tracked/tracked_atomic_preference.h"
+#include "chrome/browser/prefs/tracked/tracked_preference_validation_observer.h"
#include "chrome/browser/prefs/tracked/tracked_split_preference.h"
#include "chrome/common/pref_names.h"
#include "components/user_prefs/pref_registry_syncable.h"
@@ -23,8 +24,9 @@
PrefHashFilter::PrefHashFilter(
scoped_ptr<PrefHashStore> pref_hash_store,
const std::vector<TrackedPreferenceMetadata>& tracked_preferences,
+ scoped_ptr<TrackedPreferenceValidationObserver> observer,
size_t reporting_ids_count)
- : pref_hash_store_(pref_hash_store.Pass()) {
+ : pref_hash_store_(pref_hash_store.Pass()), observer_(observer.Pass()) {
DCHECK(pref_hash_store_);
DCHECK_GE(reporting_ids_count, tracked_preferences.size());
@@ -111,7 +113,8 @@ void PrefHashFilter::MigrateValues(PersistentPrefStore* source,
temp_dictionary.Set(it->first, source_value->DeepCopy());
// Check whether the value is correct according to our MAC. May remove
// the value from |temp_dictionary|.
- it->second->EnforceAndReport(&temp_dictionary, transaction.get());
+ it->second->EnforceAndReport(
+ &temp_dictionary, transaction.get(), observer_.get());
// Now take the value as it appears in |temp_dictionary| and put it in
// |destination|.
scoped_ptr<base::Value> checked_value;
@@ -163,7 +166,8 @@ bool PrefHashFilter::FilterOnLoad(base::DictionaryValue* pref_store_contents) {
for (TrackedPreferencesMap::const_iterator it = tracked_paths_.begin();
it != tracked_paths_.end(); ++it) {
if (it->second->EnforceAndReport(pref_store_contents,
- hash_store_transaction.get())) {
+ hash_store_transaction.get(),
+ observer_.get())) {
did_reset = true;
}
}

Powered by Google App Engine
This is Rietveld 408576698