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

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

Issue 126093007: Introduce a hash_of_hashes dictionary. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: +missing histogram Created 6 years, 11 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.h
diff --git a/chrome/browser/prefs/pref_hash_store.h b/chrome/browser/prefs/pref_hash_store.h
index 12449452b00bae8e94cef773e1a93d855fd038f3..e7357c1c1fd19ee9f1c2632d3942112f8874ab3b 100644
--- a/chrome/browser/prefs/pref_hash_store.h
+++ b/chrome/browser/prefs/pref_hash_store.h
@@ -13,6 +13,16 @@ namespace base {
class Value;
} // namespace base
+namespace internals {
+
+// Hash of hashes for each profile, used to validate the existing hashes when
+// debating whether an unknown value is to be trusted, will be stored as a
+// string under
+// |kProfilePreferenceHashes|.|kHashOfHashesPref|.|hash_stored_id_|.
+const char kHashOfHashesPref[] = "hash_of_hashes";
+
+} // namespace internals
+
// Stores hashes of and verifies preference values. To use, first call
// |InitializeTrackedValue| with each preference that should be tracked. Then
// call |OnPrefValueChanged| to update the hash store when preference values
@@ -32,7 +42,13 @@ class PrefHashStore {
// The preference value has been changed since the last hash.
CHANGED,
// No stored hash exists for the preference value.
- UNKNOWN_VALUE,
+ UNTRUSTED_UNKNOWN_VALUE,
+ // No stored hash exists for the preference value, but the current set of
+ // hashes stored is trusted and thus this value can safely be seeded. This
+ // happens when all hashes are already properly seeded and a newly
+ // tracked value needs to be seeded). NULL values are inherently trusted as
+ // well.
+ TRUSTED_UNKNOWN_VALUE,
};
// Checks |initial_value| against the existing stored value hash.

Powered by Google App Engine
This is Rietveld 408576698