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 723734019dda3a15a8f9941a369fcad4f983db30..c94693add3d78e134fcc1c3e9b9c946860d1c03b 100644 |
--- a/chrome/browser/prefs/tracked/tracked_atomic_preference.cc |
+++ b/chrome/browser/prefs/tracked/tracked_atomic_preference.cc |
@@ -6,14 +6,17 @@ |
#include "base/values.h" |
#include "chrome/browser/prefs/pref_hash_store_transaction.h" |
+#include "chrome/browser/prefs/tracked/tracked_preference_validation_observer.h" |
TrackedAtomicPreference::TrackedAtomicPreference( |
const std::string& pref_path, |
size_t reporting_id, |
size_t reporting_ids_count, |
- PrefHashFilter::EnforcementLevel enforcement_level) |
+ PrefHashFilter::EnforcementLevel enforcement_level, |
+ TrackedPreferenceValidationObserver* observer) |
: pref_path_(pref_path), |
- helper_(pref_path, reporting_id, reporting_ids_count, enforcement_level) { |
+ helper_(pref_path, reporting_id, reporting_ids_count, enforcement_level), |
+ observer_(observer) { |
} |
void TrackedAtomicPreference::OnNewValue( |
@@ -34,6 +37,10 @@ bool TrackedAtomicPreference::EnforceAndReport( |
TrackedPreferenceHelper::ResetAction reset_action = |
helper_.GetAction(value_state); |
+ if (observer_) { |
+ observer_->OnAtomicPreferenceValidation( |
+ pref_path_, value, value_state, reset_action); |
+ } |
helper_.ReportAction(reset_action); |
bool was_reset = false; |