| Index: base/prefs/pref_registry.h
|
| diff --git a/base/prefs/pref_registry.h b/base/prefs/pref_registry.h
|
| index a500b6e691a08e73a0be65651da892edaf86aec7..cc5804ef10a9d2e713be2dc9c50d205219f34c04 100644
|
| --- a/base/prefs/pref_registry.h
|
| +++ b/base/prefs/pref_registry.h
|
| @@ -5,6 +5,7 @@
|
| #ifndef BASE_PREFS_PREF_REGISTRY_H_
|
| #define BASE_PREFS_PREF_REGISTRY_H_
|
|
|
| +#include "base/containers/hash_tables.h"
|
| #include "base/memory/ref_counted.h"
|
| #include "base/prefs/base_prefs_export.h"
|
| #include "base/prefs/pref_value_map.h"
|
| @@ -27,10 +28,26 @@ 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 base::hash_map<std::string, uint32> PrefRegistrationFlagsMap;
|
|
|
| PrefRegistry();
|
|
|
| + // Retrieve the set of registration flags for the given preference. The return
|
| + // value is a bitmask of PrefRegistrationFlags.
|
| + uint32 GetRegistrationFlags(const std::string& pref_name) const;
|
| +
|
| // Gets the registered defaults.
|
| scoped_refptr<PrefStore> defaults();
|
|
|
| @@ -47,11 +64,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);
|
| };
|
|
|