Chromium Code Reviews| Index: components/user_prefs/tracked/tracked_preference.h |
| diff --git a/components/user_prefs/tracked/tracked_preference.h b/components/user_prefs/tracked/tracked_preference.h |
| index 4773ac1cd3cc27c391a4abccb5ef2f2ed3b94166..33452c3325d1ec383ff84e9ebf4a6149ac0e9a09 100644 |
| --- a/components/user_prefs/tracked/tracked_preference.h |
| +++ b/components/user_prefs/tracked/tracked_preference.h |
| @@ -12,12 +12,16 @@ class DictionaryValue; |
| class Value; |
| } |
| +enum class TrackedPreferenceType : int32_t { ATOMIC = 1, SPLIT = 2 }; |
|
gab
2016/08/08 04:37:47
Don't need to specify int32_t type and don't need
proberge
2016/08/31 17:30:17
Done.
|
| + |
| // A TrackedPreference tracks changes to an individual preference, reporting and |
| // reacting to them according to preference-specific and browser-wide policies. |
| class TrackedPreference { |
| public: |
| virtual ~TrackedPreference() {} |
| + virtual TrackedPreferenceType GetType() const = 0; |
| + |
| // Notifies the underlying TrackedPreference about its new |value| which |
| // can update hashes in the corresponding hash store via |transaction|. |
| virtual void OnNewValue(const base::Value* value, |
| @@ -27,10 +31,12 @@ class TrackedPreference { |
| // is valid. Responds to verification failures according to |
| // preference-specific and browser-wide policy and reports results to via UMA. |
| // May use |transaction| to check/modify hashes in the corresponding hash |
| - // store. |
| + // store. Performs validation and reports results without enforcing for |
| + // |external_validation_transaction|. |
| virtual bool EnforceAndReport( |
| base::DictionaryValue* pref_store_contents, |
| - PrefHashStoreTransaction* transaction) const = 0; |
| + PrefHashStoreTransaction* transaction, |
| + PrefHashStoreTransaction* external_validation_transaction) const = 0; |
| }; |
| #endif // COMPONENTS_USER_PREFS_TRACKED_TRACKED_PREFERENCE_H_ |