Index: chrome/browser/prefs/tracked/tracked_preference_validation_delegate.h |
diff --git a/chrome/browser/prefs/tracked/tracked_preference_validation_delegate.h b/chrome/browser/prefs/tracked/tracked_preference_validation_delegate.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..64a6cc4371d7f273dcb4703849043b48ec9ead8a |
--- /dev/null |
+++ b/chrome/browser/prefs/tracked/tracked_preference_validation_delegate.h |
@@ -0,0 +1,46 @@ |
+// Copyright 2014 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef CHROME_BROWSER_PREFS_TRACKED_TRACKED_PREFERENCE_VALIDATION_DELEGATE_H_ |
+#define CHROME_BROWSER_PREFS_TRACKED_TRACKED_PREFERENCE_VALIDATION_DELEGATE_H_ |
+ |
+#include <string> |
+#include <vector> |
+ |
+#include "chrome/browser/prefs/pref_hash_store_transaction.h" |
+#include "chrome/browser/prefs/tracked/tracked_preference_helper.h" |
+ |
+namespace base { |
+class DictionaryValue; |
+class Value; |
+} |
+ |
+// A TrackedPreferenceValidationDelegate is notified of the results of each |
+// tracked preference validation event. |
+class TrackedPreferenceValidationDelegate { |
+ public: |
+ virtual ~TrackedPreferenceValidationDelegate() {} |
+ |
+ // Notifies observes of the result (|value_state|) of checking the atomic |
+ // |value| at |pref_path|. |reset_action| indicates whether or not a reset |
+ // will occur based on |value_state| and the enforcement level in place. |
+ virtual void OnAtomicPreferenceValidation( |
+ const std::string& pref_path, |
+ const base::Value* value, |
+ PrefHashStoreTransaction::ValueState value_state, |
+ TrackedPreferenceHelper::ResetAction reset_action) = 0; |
+ |
+ // Notifies observes of the result (|value_state|) of checking the split |
+ // |dict_value| at |pref_path|. |reset_action| indicates whether or not a |
+ // reset of |value_keys| will occur based on |value_state| and the enforcement |
+ // level in place. |
+ virtual void OnSplitPreferenceValidation( |
+ const std::string& pref_path, |
+ const base::DictionaryValue* dict_value, |
+ const std::vector<std::string>& invalid_keys, |
+ PrefHashStoreTransaction::ValueState value_state, |
+ TrackedPreferenceHelper::ResetAction reset_action) = 0; |
+}; |
+ |
+#endif // CHROME_BROWSER_PREFS_TRACKED_TRACKED_PREFERENCE_VALIDATION_DELEGATE_H_ |