| Index: components/prefs/overlay_user_pref_store.cc
|
| diff --git a/components/prefs/overlay_user_pref_store.cc b/components/prefs/overlay_user_pref_store.cc
|
| index 2b2208ed8214408290c312125e5309689dfecaff..5bdd1d0ec5545561059784a5643af896cf58d95e 100644
|
| --- a/components/prefs/overlay_user_pref_store.cc
|
| +++ b/components/prefs/overlay_user_pref_store.cc
|
| @@ -47,6 +47,21 @@ bool OverlayUserPrefStore::GetValue(const std::string& key,
|
| return underlay_->GetValue(GetUnderlayKey(key), result);
|
| }
|
|
|
| +std::unique_ptr<base::DictionaryValue> OverlayUserPrefStore::GetValues() const {
|
| + auto overlay_values = overlay_.AsDictionaryValue();
|
| + auto underlay_values = underlay_->GetValues();
|
| + auto underlay_iter = base::DictionaryValue::Iterator(*underlay_values);
|
| + while (!underlay_iter.IsAtEnd()) {
|
| + const std::string& overlay_key = GetOverlayKey(underlay_iter.key());
|
| + if (!overlay_values->HasKey(overlay_key)) {
|
| + overlay_values->SetWithoutPathExpansion(
|
| + overlay_key, underlay_iter.value().CreateDeepCopy());
|
| + }
|
| + underlay_iter.Advance();
|
| + }
|
| + return overlay_values;
|
| +}
|
| +
|
| bool OverlayUserPrefStore::GetMutableValue(const std::string& key,
|
| base::Value** result) {
|
| if (!ShallBeStoredInOverlay(key))
|
|
|