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 4ba42e3d8855b934a0b883e09d2aef371eb089eb..78b1e25935d39f28342942c7051c4f0d31bc0c8b 100644 |
--- a/chrome/browser/prefs/pref_hash_filter.cc |
+++ b/chrome/browser/prefs/pref_hash_filter.cc |
@@ -15,6 +15,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" |
@@ -22,8 +23,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()); |
@@ -34,15 +36,19 @@ PrefHashFilter::PrefHashFilter( |
switch (metadata.strategy) { |
case TRACKING_STRATEGY_ATOMIC: |
tracked_preference.reset( |
- new TrackedAtomicPreference(metadata.name, metadata.reporting_id, |
+ new TrackedAtomicPreference(metadata.name, |
+ metadata.reporting_id, |
reporting_ids_count, |
- metadata.enforcement_level)); |
+ metadata.enforcement_level, |
+ observer_.get())); |
break; |
case TRACKING_STRATEGY_SPLIT: |
tracked_preference.reset( |
- new TrackedSplitPreference(metadata.name, metadata.reporting_id, |
+ new TrackedSplitPreference(metadata.name, |
+ metadata.reporting_id, |
reporting_ids_count, |
- metadata.enforcement_level)); |
+ metadata.enforcement_level, |
+ observer_.get())); |
break; |
} |
DCHECK(tracked_preference); |