Chromium Code Reviews| 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/20 09:33:34
I think I put a comment regarding the idea to avoi
raymes
2015/04/21 07:58:54
I didn't see a comment, but that sounds fine to me
|
| + 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); |
| }; |