Index: chrome/browser/prefs/tracked/tracked_split_preference.h |
diff --git a/chrome/browser/prefs/tracked/tracked_split_preference.h b/chrome/browser/prefs/tracked/tracked_split_preference.h |
index df0c59c17693f43b3b9ebc7b1565690c36e02904..8265c8b6b8a81471b8a7066f88f934fbcf24efb2 100644 |
--- a/chrome/browser/prefs/tracked/tracked_split_preference.h |
+++ b/chrome/browser/prefs/tracked/tracked_split_preference.h |
@@ -13,18 +13,21 @@ |
#include "chrome/browser/prefs/tracked/tracked_preference.h" |
#include "chrome/browser/prefs/tracked/tracked_preference_helper.h" |
+class TrackedPreferenceValidationObserver; |
+ |
// A TrackedSplitPreference must be tracking a dictionary pref. Each top-level |
-// entry in its dictionary is tracked and enforced independently. |
+// entry in its dictionary is tracked and enforced independently. An optional |
+// observer is notified of the status of the preference during enforcement. |
// Note: preferences using this strategy must be kept in sync with |
// TrackedSplitPreferences in histograms.xml. |
class TrackedSplitPreference : public TrackedPreference { |
public: |
// Constructs a TrackedSplitPreference. |pref_path| must be a dictionary pref. |
- TrackedSplitPreference( |
- const std::string& pref_path, |
- size_t reporting_id, |
- size_t reporting_ids_count, |
- PrefHashFilter::EnforcementLevel enforcement_level); |
+ TrackedSplitPreference(const std::string& pref_path, |
+ size_t reporting_id, |
+ size_t reporting_ids_count, |
+ PrefHashFilter::EnforcementLevel enforcement_level, |
+ TrackedPreferenceValidationObserver* observer); |
// TrackedPreference implementation. |
virtual void OnNewValue(const base::Value* value, |
@@ -36,6 +39,7 @@ class TrackedSplitPreference : public TrackedPreference { |
private: |
const std::string pref_path_; |
const TrackedPreferenceHelper helper_; |
+ TrackedPreferenceValidationObserver* observer_; |
DISALLOW_COPY_AND_ASSIGN(TrackedSplitPreference); |
}; |