| Index: components/user_prefs/tracked/pref_hash_store.h
|
| diff --git a/components/user_prefs/tracked/pref_hash_store.h b/components/user_prefs/tracked/pref_hash_store.h
|
| index 2fdc617301ae1fea64526ae16fe5d6621c272406..096895268ef51796773c8b959cedb4dc1ac96fa8 100644
|
| --- a/components/user_prefs/tracked/pref_hash_store.h
|
| +++ b/components/user_prefs/tracked/pref_hash_store.h
|
| @@ -10,6 +10,11 @@
|
| class HashStoreContents;
|
| class PrefHashStoreTransaction;
|
|
|
| +namespace base {
|
| +class DictionaryValue;
|
| +class Value;
|
| +} // namespace base
|
| +
|
| // Holds the configuration and implementation used to calculate and verify
|
| // preference MACs.
|
| // TODO(gab): Rename this class as it is no longer a store.
|
| @@ -21,8 +26,25 @@ class PrefHashStore {
|
| // of operations on the hash store. |storage| MAY be used as the backing store
|
| // depending on the implementation. Therefore the HashStoreContents used for
|
| // related transactions should correspond to the same underlying data store.
|
| + // Does not own the HashStoreContents; callers must ensure transaction must
|
| + // not outlive |storage|.
|
| virtual std::unique_ptr<PrefHashStoreTransaction> BeginTransaction(
|
| - std::unique_ptr<HashStoreContents> storage) = 0;
|
| + HashStoreContents* storage) = 0;
|
| +
|
| + // Computes the MAC to be associated with |path| and |value| in this store.
|
| + // PrefHashStoreTransaction typically uses this internally but it's also
|
| + // exposed for users that want to compute MACs ahead of time for asynchronous
|
| + // operations.
|
| + virtual std::string ComputeMac(const std::string& path,
|
| + const base::Value* value) = 0;
|
| +
|
| + // Computes the MAC to be associated with |path| and |split_values| in this
|
| + // store. PrefHashStoreTransaction typically uses this internally but it's
|
| + // also exposed for users that want to compute MACs ahead of time for
|
| + // asynchronous operations.
|
| + virtual std::unique_ptr<base::DictionaryValue> ComputeSplitMacs(
|
| + const std::string& path,
|
| + const base::DictionaryValue* split_values) = 0;
|
| };
|
|
|
| #endif // COMPONENTS_PREFS_TRACKED_PREF_HASH_STORE_H_
|
|
|