OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "components/prefs/overlay_user_pref_store.h" | 5 #include "components/prefs/overlay_user_pref_store.h" |
6 | 6 |
| 7 #include <memory> |
7 #include <utility> | 8 #include <utility> |
8 | 9 |
9 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/ptr_util.h" |
10 #include "base/values.h" | 11 #include "base/values.h" |
11 | 12 |
12 OverlayUserPrefStore::OverlayUserPrefStore( | 13 OverlayUserPrefStore::OverlayUserPrefStore( |
13 PersistentPrefStore* underlay) | 14 PersistentPrefStore* underlay) |
14 : underlay_(underlay) { | 15 : underlay_(underlay) { |
15 underlay_->AddObserver(this); | 16 underlay_->AddObserver(this); |
16 } | 17 } |
17 | 18 |
18 bool OverlayUserPrefStore::IsSetInOverlay(const std::string& key) const { | 19 bool OverlayUserPrefStore::IsSetInOverlay(const std::string& key) const { |
19 return overlay_.GetValue(key, NULL); | 20 return overlay_.GetValue(key, NULL); |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
53 | 54 |
54 if (overlay_.GetValue(key, result)) | 55 if (overlay_.GetValue(key, result)) |
55 return true; | 56 return true; |
56 | 57 |
57 // Try to create copy of underlay if the overlay does not contain a value. | 58 // Try to create copy of underlay if the overlay does not contain a value. |
58 base::Value* underlay_value = NULL; | 59 base::Value* underlay_value = NULL; |
59 if (!underlay_->GetMutableValue(GetUnderlayKey(key), &underlay_value)) | 60 if (!underlay_->GetMutableValue(GetUnderlayKey(key), &underlay_value)) |
60 return false; | 61 return false; |
61 | 62 |
62 *result = underlay_value->DeepCopy(); | 63 *result = underlay_value->DeepCopy(); |
63 overlay_.SetValue(key, make_scoped_ptr(*result)); | 64 overlay_.SetValue(key, base::WrapUnique(*result)); |
64 return true; | 65 return true; |
65 } | 66 } |
66 | 67 |
67 void OverlayUserPrefStore::SetValue(const std::string& key, | 68 void OverlayUserPrefStore::SetValue(const std::string& key, |
68 scoped_ptr<base::Value> value, | 69 std::unique_ptr<base::Value> value, |
69 uint32_t flags) { | 70 uint32_t flags) { |
70 if (!ShallBeStoredInOverlay(key)) { | 71 if (!ShallBeStoredInOverlay(key)) { |
71 underlay_->SetValue(GetUnderlayKey(key), std::move(value), flags); | 72 underlay_->SetValue(GetUnderlayKey(key), std::move(value), flags); |
72 return; | 73 return; |
73 } | 74 } |
74 | 75 |
75 if (overlay_.SetValue(key, std::move(value))) | 76 if (overlay_.SetValue(key, std::move(value))) |
76 ReportValueChanged(key, flags); | 77 ReportValueChanged(key, flags); |
77 } | 78 } |
78 | 79 |
79 void OverlayUserPrefStore::SetValueSilently(const std::string& key, | 80 void OverlayUserPrefStore::SetValueSilently(const std::string& key, |
80 scoped_ptr<base::Value> value, | 81 std::unique_ptr<base::Value> value, |
81 uint32_t flags) { | 82 uint32_t flags) { |
82 if (!ShallBeStoredInOverlay(key)) { | 83 if (!ShallBeStoredInOverlay(key)) { |
83 underlay_->SetValueSilently(GetUnderlayKey(key), std::move(value), flags); | 84 underlay_->SetValueSilently(GetUnderlayKey(key), std::move(value), flags); |
84 return; | 85 return; |
85 } | 86 } |
86 | 87 |
87 overlay_.SetValue(key, std::move(value)); | 88 overlay_.SetValue(key, std::move(value)); |
88 } | 89 } |
89 | 90 |
90 void OverlayUserPrefStore::RemoveValue(const std::string& key, uint32_t flags) { | 91 void OverlayUserPrefStore::RemoveValue(const std::string& key, uint32_t flags) { |
(...skipping 15 matching lines...) Expand all Loading... |
106 } | 107 } |
107 | 108 |
108 PersistentPrefStore::PrefReadError OverlayUserPrefStore::ReadPrefs() { | 109 PersistentPrefStore::PrefReadError OverlayUserPrefStore::ReadPrefs() { |
109 // We do not read intentionally. | 110 // We do not read intentionally. |
110 OnInitializationCompleted(true); | 111 OnInitializationCompleted(true); |
111 return PersistentPrefStore::PREF_READ_ERROR_NONE; | 112 return PersistentPrefStore::PREF_READ_ERROR_NONE; |
112 } | 113 } |
113 | 114 |
114 void OverlayUserPrefStore::ReadPrefsAsync( | 115 void OverlayUserPrefStore::ReadPrefsAsync( |
115 ReadErrorDelegate* error_delegate_raw) { | 116 ReadErrorDelegate* error_delegate_raw) { |
116 scoped_ptr<ReadErrorDelegate> error_delegate(error_delegate_raw); | 117 std::unique_ptr<ReadErrorDelegate> error_delegate(error_delegate_raw); |
117 // We do not read intentionally. | 118 // We do not read intentionally. |
118 OnInitializationCompleted(true); | 119 OnInitializationCompleted(true); |
119 } | 120 } |
120 | 121 |
121 void OverlayUserPrefStore::CommitPendingWrite() { | 122 void OverlayUserPrefStore::CommitPendingWrite() { |
122 underlay_->CommitPendingWrite(); | 123 underlay_->CommitPendingWrite(); |
123 // We do not write our content intentionally. | 124 // We do not write our content intentionally. |
124 } | 125 } |
125 | 126 |
126 void OverlayUserPrefStore::SchedulePendingLossyWrites() { | 127 void OverlayUserPrefStore::SchedulePendingLossyWrites() { |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
181 NamesMap::const_iterator i = | 182 NamesMap::const_iterator i = |
182 overlay_to_underlay_names_map_.find(overlay_key); | 183 overlay_to_underlay_names_map_.find(overlay_key); |
183 return i != overlay_to_underlay_names_map_.end() ? i->second : overlay_key; | 184 return i != overlay_to_underlay_names_map_.end() ? i->second : overlay_key; |
184 } | 185 } |
185 | 186 |
186 bool OverlayUserPrefStore::ShallBeStoredInOverlay( | 187 bool OverlayUserPrefStore::ShallBeStoredInOverlay( |
187 const std::string& key) const { | 188 const std::string& key) const { |
188 return overlay_to_underlay_names_map_.find(key) != | 189 return overlay_to_underlay_names_map_.find(key) != |
189 overlay_to_underlay_names_map_.end(); | 190 overlay_to_underlay_names_map_.end(); |
190 } | 191 } |
OLD | NEW |