| Index: components/prefs/pref_service.h
|
| diff --git a/components/prefs/pref_service.h b/components/prefs/pref_service.h
|
| index e08e361c40b618da1637b995323745dfc1e0052f..a08d7f8515a5b296fe2fd4e5f56517acb96a5dbf 100644
|
| --- a/components/prefs/pref_service.h
|
| +++ b/components/prefs/pref_service.h
|
| @@ -60,6 +60,11 @@ class COMPONENTS_PREFS_EXPORT PrefService : public base::NonThreadSafe {
|
| INITIALIZATION_STATUS_ERROR
|
| };
|
|
|
| + enum IncludeDefaults {
|
| + INCLUDE_DEFAULTS,
|
| + EXCLUDE_DEFAULTS,
|
| + };
|
| +
|
| // A helper class to store all the information associated with a preference.
|
| class COMPONENTS_PREFS_EXPORT Preference {
|
| public:
|
| @@ -250,23 +255,22 @@ class COMPONENTS_PREFS_EXPORT PrefService : public base::NonThreadSafe {
|
| // this checks if a value exists for the path.
|
| bool HasPrefPath(const std::string& path) const;
|
|
|
| - // Returns a dictionary with effective preference values.
|
| - std::unique_ptr<base::DictionaryValue> GetPreferenceValues() const;
|
| -
|
| - // Returns a dictionary with effective preference values, omitting prefs that
|
| - // are at their default values.
|
| - std::unique_ptr<base::DictionaryValue> GetPreferenceValuesOmitDefaults()
|
| - const;
|
| -
|
| - // Returns a dictionary with effective preference values. Contrary to
|
| - // GetPreferenceValues(), the paths of registered preferences are not split on
|
| - // '.' characters. If a registered preference stores a dictionary, however,
|
| - // the hierarchical structure inside the preference will be preserved.
|
| - // For example, if "foo.bar" is a registered preference, the result could look
|
| - // like this:
|
| - // {"foo.bar": {"a": {"b": true}}}.
|
| - std::unique_ptr<base::DictionaryValue>
|
| - GetPreferenceValuesWithoutPathExpansion() const;
|
| + // Issues a callback for every preference value. The preferences must not be
|
| + // mutated during iteration.
|
| + void IteratePreferenceValues(
|
| + base::RepeatingCallback<void(const std::string& key,
|
| + const base::Value& value)> callback) const;
|
| +
|
| + // Returns a dictionary with effective preference values. This is an expensive
|
| + // operation which does a deep copy. Use only if you really need the results
|
| + // in a base::Value (for example, for JSON serialization). Otherwise use
|
| + // IteratePreferenceValues above to avoid the copies.
|
| + //
|
| + // If INCLUDE_DEFAULTS is requested, preferences set to their default values
|
| + // will be included. Otherwise, these will be omitted from the returned
|
| + // dictionary.
|
| + std::unique_ptr<base::DictionaryValue> GetPreferenceValues(
|
| + IncludeDefaults include_defaults) const;
|
|
|
| bool ReadOnly() const;
|
|
|
|
|