| Index: components/prefs/pref_value_store.h
|
| diff --git a/components/prefs/pref_value_store.h b/components/prefs/pref_value_store.h
|
| index 39b6bf1870ee3fc06e1eb9f53a243284c6109334..f6c9c3725a3a2dc4a16b1893be4d9e29199ced80 100644
|
| --- a/components/prefs/pref_value_store.h
|
| +++ b/components/prefs/pref_value_store.h
|
| @@ -30,6 +30,30 @@ class COMPONENTS_PREFS_EXPORT PrefValueStore {
|
| public:
|
| typedef base::Callback<void(const std::string&)> PrefChangedCallback;
|
|
|
| + // PrefStores must be listed here in order from highest to lowest priority.
|
| + // MANAGED contains all managed preference values that are provided by
|
| + // mandatory policies (e.g. Windows Group Policy or cloud policy).
|
| + // SUPERVISED_USER contains preferences that are valid for supervised users.
|
| + // EXTENSION contains preference values set by extensions.
|
| + // COMMAND_LINE contains preference values set by command-line switches.
|
| + // USER contains all user-set preference values.
|
| + // RECOMMENDED contains all preferences that are provided by recommended
|
| + // policies.
|
| + // DEFAULT contains all application default preference values.
|
| + enum PrefStoreType {
|
| + // INVALID_STORE is not associated with an actual PrefStore but used as
|
| + // an invalid marker, e.g. as a return value.
|
| + INVALID_STORE = -1,
|
| + MANAGED_STORE = 0,
|
| + SUPERVISED_USER_STORE,
|
| + EXTENSION_STORE,
|
| + COMMAND_LINE_STORE,
|
| + USER_STORE,
|
| + RECOMMENDED_STORE,
|
| + DEFAULT_STORE,
|
| + PREF_STORE_TYPE_MAX = DEFAULT_STORE
|
| + };
|
| +
|
| // In decreasing order of precedence:
|
| // |managed_prefs| contains all preferences from mandatory policies.
|
| // |supervised_user_prefs| contains all preferences from supervised user
|
| @@ -118,30 +142,6 @@ class COMPONENTS_PREFS_EXPORT PrefValueStore {
|
| void UpdateCommandLinePrefStore(PrefStore* command_line_prefs);
|
|
|
| private:
|
| - // PrefStores must be listed here in order from highest to lowest priority.
|
| - // MANAGED contains all managed preference values that are provided by
|
| - // mandatory policies (e.g. Windows Group Policy or cloud policy).
|
| - // SUPERVISED_USER contains preferences that are valid for supervised users.
|
| - // EXTENSION contains preference values set by extensions.
|
| - // COMMAND_LINE contains preference values set by command-line switches.
|
| - // USER contains all user-set preference values.
|
| - // RECOMMENDED contains all preferences that are provided by recommended
|
| - // policies.
|
| - // DEFAULT contains all application default preference values.
|
| - enum PrefStoreType {
|
| - // INVALID_STORE is not associated with an actual PrefStore but used as
|
| - // an invalid marker, e.g. as a return value.
|
| - INVALID_STORE = -1,
|
| - MANAGED_STORE = 0,
|
| - SUPERVISED_USER_STORE,
|
| - EXTENSION_STORE,
|
| - COMMAND_LINE_STORE,
|
| - USER_STORE,
|
| - RECOMMENDED_STORE,
|
| - DEFAULT_STORE,
|
| - PREF_STORE_TYPE_MAX = DEFAULT_STORE
|
| - };
|
| -
|
| // Keeps a PrefStore reference on behalf of the PrefValueStore and monitors
|
| // the PrefStore for changes, forwarding notifications to PrefValueStore. This
|
| // indirection is here for the sake of disambiguating notifications from the
|
| @@ -257,4 +257,16 @@ class COMPONENTS_PREFS_EXPORT PrefValueStore {
|
| DISALLOW_COPY_AND_ASSIGN(PrefValueStore);
|
| };
|
|
|
| +namespace std {
|
| +
|
| +template <>
|
| +struct hash<PrefValueStore::PrefStoreType> {
|
| + size_t operator()(PrefValueStore::PrefStoreType type) const {
|
| + return std::hash<
|
| + base::underlying_type<PrefValueStore::PrefStoreType>::type>()(type);
|
| + }
|
| +};
|
| +
|
| +} // namespace std
|
| +
|
| #endif // COMPONENTS_PREFS_PREF_VALUE_STORE_H_
|
|
|