Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(706)

Unified Diff: chrome/browser/prefs/pref_hash_store_transaction.h

Issue 324493002: Move preference MACs to the protected preference stores. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Respond to CR comments. Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/prefs/pref_hash_store_transaction.h
diff --git a/chrome/browser/prefs/pref_hash_store_transaction.h b/chrome/browser/prefs/pref_hash_store_transaction.h
index 10022aae836311844aca1cd31ea2769453f5ab4d..9a31c15bb610d2f7b74f739935367db1027ec3f5 100644
--- a/chrome/browser/prefs/pref_hash_store_transaction.h
+++ b/chrome/browser/prefs/pref_hash_store_transaction.h
@@ -67,6 +67,28 @@ class PrefHashStoreTransaction {
virtual void StoreSplitHash(
const std::string& path,
const base::DictionaryValue* split_value) = 0;
+
+ // Retrieves the stored hash for the preference at |path|. If there is no
+ // stored hash the result is NULL. If |path| is a split preference the result
+ // is a DictionaryValue whose keys are keys in the split preference and whose
+ // values are MACs of the corresponding values in the split preference.
+ // Otherwise the result is a StringValue containing a MAC of the preference
+ // value.
+ virtual const base::Value* GetHash(const std::string& path) const = 0;
+
+ // Sets the hash for the preference at |path|. |hash| may be a
+ // DictionaryValue or StringValue as returned by GetHash() or it may be NULL
+ // (which will clear any previously stored MAC).
+ // The (in)validity of the super MAC will be maintained by this call.
+ virtual void ImportHash(const std::string& path, const base::Value* hash) = 0;
+
+ // Removes the stored hash for the preference at |path|. The (in)validity of
+ // the super MAC will be maintained by this call.
+ virtual void ClearHash(const std::string& path) = 0;
+
+ // Forces the super MAC (if used by this store) to be updated. Returns true if
+ // this results in a change to the store contents.
+ virtual bool StampSuperMac() = 0;
};
#endif // CHROME_BROWSER_PREFS_PREF_HASH_STORE_TRANSACTION_H_

Powered by Google App Engine
This is Rietveld 408576698