| 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..8659bfbf43b686ab85a48ff8e4661cded1fdde18 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 { ATOMIC, SPLIT };
|
| +
|
| // 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_
|
|
|