Index: base/prefs/pref_registry.h |
diff --git a/base/prefs/pref_registry.h b/base/prefs/pref_registry.h |
index a500b6e691a08e73a0be65651da892edaf86aec7..f27929c6936a8049420d77ff99a20d3aee1e62a6 100644 |
--- a/base/prefs/pref_registry.h |
+++ b/base/prefs/pref_registry.h |
@@ -27,10 +27,28 @@ class PrefStore; |
// also work, but this is being deprecated. |
class BASE_PREFS_EXPORT PrefRegistry : public base::RefCounted<PrefRegistry> { |
public: |
+ // Registration flags that can be specified which impact how the pref will |
+ // behave or be stored. This will be passed in a bitmask when the pref is |
+ // registered. Subclasses of PrefRegistry can specify their own flags. Care |
+ // must be taken to ensure none of these overlap with the flags below. |
+ enum PrefRegistrationFlags { |
+ // No flags are specified. |
+ NO_REGISTRATION_FLAGS = 0, |
+ |
+ // The first 8 bits are reserved for subclasses of PrefRegistry to use. |
+ }; |
+ |
typedef PrefValueMap::const_iterator const_iterator; |
+ typedef std::map<std::string, uint32> PrefRegistrationFlagsMap; |
PrefRegistry(); |
+ // Retrieve the set of registration flags for preferences currently |
+ // registered. |
+ const PrefRegistrationFlagsMap& registration_flags() const { |
Mattias Nissler (ping if slow)
2015/04/22 07:06:34
OK, so you made the change to not store entries if
raymes
2015/04/23 05:21:03
Done.
|
+ return registration_flags_; |
+ } |
+ |
// Gets the registered defaults. |
scoped_refptr<PrefStore> defaults(); |
@@ -47,11 +65,17 @@ class BASE_PREFS_EXPORT PrefRegistry : public base::RefCounted<PrefRegistry> { |
friend class base::RefCounted<PrefRegistry>; |
virtual ~PrefRegistry(); |
- // Used by subclasses to register a default value for a preference. |
- void RegisterPreference(const std::string& path, base::Value* default_value); |
+ // Used by subclasses to register a default value and registration flags for |
+ // a preference. |flags| is a bitmask of |PrefRegistrationFlags|. |
+ void RegisterPreference(const std::string& path, |
+ base::Value* default_value, |
+ uint32 flags); |
scoped_refptr<DefaultPrefStore> defaults_; |
+ // A map of pref name to a bitmask of PrefRegistrationFlags. |
+ PrefRegistrationFlagsMap registration_flags_; |
+ |
private: |
DISALLOW_COPY_AND_ASSIGN(PrefRegistry); |
}; |