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( |
gab
2016/08/08 04:37:46
ComputeMac/ComputeSplitMacs is another good candid
proberge
2016/08/31 17:30:17
Acknowledged.
|
+ const std::string& path, |
+ const base::DictionaryValue* split_values) = 0; |
}; |
#endif // COMPONENTS_PREFS_TRACKED_PREF_HASH_STORE_H_ |