OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "extensions/browser/api/storage/storage_api.h" | 5 #include "extensions/browser/api/storage/storage_api.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <string> | 9 #include <string> |
10 #include <utility> | 10 #include <utility> |
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
142 | 142 |
143 } // namespace | 143 } // namespace |
144 | 144 |
145 ExtensionFunction::ResponseValue StorageStorageAreaGetFunction::RunWithStorage( | 145 ExtensionFunction::ResponseValue StorageStorageAreaGetFunction::RunWithStorage( |
146 ValueStore* storage) { | 146 ValueStore* storage) { |
147 base::Value* input = NULL; | 147 base::Value* input = NULL; |
148 if (!args_->Get(0, &input)) | 148 if (!args_->Get(0, &input)) |
149 return BadMessage(); | 149 return BadMessage(); |
150 | 150 |
151 switch (input->GetType()) { | 151 switch (input->GetType()) { |
152 case base::Value::TYPE_NULL: | 152 case base::Value::Type::NONE: |
153 return UseReadResult(storage->Get()); | 153 return UseReadResult(storage->Get()); |
154 | 154 |
155 case base::Value::TYPE_STRING: { | 155 case base::Value::Type::STRING: { |
156 std::string as_string; | 156 std::string as_string; |
157 input->GetAsString(&as_string); | 157 input->GetAsString(&as_string); |
158 return UseReadResult(storage->Get(as_string)); | 158 return UseReadResult(storage->Get(as_string)); |
159 } | 159 } |
160 | 160 |
161 case base::Value::TYPE_LIST: { | 161 case base::Value::Type::LIST: { |
162 std::vector<std::string> as_string_list; | 162 std::vector<std::string> as_string_list; |
163 AddAllStringValues(*static_cast<base::ListValue*>(input), | 163 AddAllStringValues(*static_cast<base::ListValue*>(input), |
164 &as_string_list); | 164 &as_string_list); |
165 return UseReadResult(storage->Get(as_string_list)); | 165 return UseReadResult(storage->Get(as_string_list)); |
166 } | 166 } |
167 | 167 |
168 case base::Value::TYPE_DICTIONARY: { | 168 case base::Value::Type::DICTIONARY: { |
169 base::DictionaryValue* as_dict = | 169 base::DictionaryValue* as_dict = |
170 static_cast<base::DictionaryValue*>(input); | 170 static_cast<base::DictionaryValue*>(input); |
171 ValueStore::ReadResult result = storage->Get(GetKeys(*as_dict)); | 171 ValueStore::ReadResult result = storage->Get(GetKeys(*as_dict)); |
172 if (!result->status().ok()) { | 172 if (!result->status().ok()) { |
173 return UseReadResult(std::move(result)); | 173 return UseReadResult(std::move(result)); |
174 } | 174 } |
175 | 175 |
176 base::DictionaryValue* with_default_values = as_dict->DeepCopy(); | 176 base::DictionaryValue* with_default_values = as_dict->DeepCopy(); |
177 with_default_values->MergeDictionary(&result->settings()); | 177 with_default_values->MergeDictionary(&result->settings()); |
178 return UseReadResult(ValueStore::MakeReadResult( | 178 return UseReadResult(ValueStore::MakeReadResult( |
179 base::WrapUnique(with_default_values), result->status())); | 179 base::WrapUnique(with_default_values), result->status())); |
180 } | 180 } |
181 | 181 |
182 default: | 182 default: |
183 return BadMessage(); | 183 return BadMessage(); |
184 } | 184 } |
185 } | 185 } |
186 | 186 |
187 ExtensionFunction::ResponseValue | 187 ExtensionFunction::ResponseValue |
188 StorageStorageAreaGetBytesInUseFunction::RunWithStorage(ValueStore* storage) { | 188 StorageStorageAreaGetBytesInUseFunction::RunWithStorage(ValueStore* storage) { |
189 base::Value* input = NULL; | 189 base::Value* input = NULL; |
190 if (!args_->Get(0, &input)) | 190 if (!args_->Get(0, &input)) |
191 return BadMessage(); | 191 return BadMessage(); |
192 | 192 |
193 size_t bytes_in_use = 0; | 193 size_t bytes_in_use = 0; |
194 | 194 |
195 switch (input->GetType()) { | 195 switch (input->GetType()) { |
196 case base::Value::TYPE_NULL: | 196 case base::Value::Type::NONE: |
197 bytes_in_use = storage->GetBytesInUse(); | 197 bytes_in_use = storage->GetBytesInUse(); |
198 break; | 198 break; |
199 | 199 |
200 case base::Value::TYPE_STRING: { | 200 case base::Value::Type::STRING: { |
201 std::string as_string; | 201 std::string as_string; |
202 input->GetAsString(&as_string); | 202 input->GetAsString(&as_string); |
203 bytes_in_use = storage->GetBytesInUse(as_string); | 203 bytes_in_use = storage->GetBytesInUse(as_string); |
204 break; | 204 break; |
205 } | 205 } |
206 | 206 |
207 case base::Value::TYPE_LIST: { | 207 case base::Value::Type::LIST: { |
208 std::vector<std::string> as_string_list; | 208 std::vector<std::string> as_string_list; |
209 AddAllStringValues(*static_cast<base::ListValue*>(input), | 209 AddAllStringValues(*static_cast<base::ListValue*>(input), |
210 &as_string_list); | 210 &as_string_list); |
211 bytes_in_use = storage->GetBytesInUse(as_string_list); | 211 bytes_in_use = storage->GetBytesInUse(as_string_list); |
212 break; | 212 break; |
213 } | 213 } |
214 | 214 |
215 default: | 215 default: |
216 return BadMessage(); | 216 return BadMessage(); |
217 } | 217 } |
(...skipping 15 matching lines...) Expand all Loading... |
233 GetModificationQuotaLimitHeuristics(heuristics); | 233 GetModificationQuotaLimitHeuristics(heuristics); |
234 } | 234 } |
235 | 235 |
236 ExtensionFunction::ResponseValue | 236 ExtensionFunction::ResponseValue |
237 StorageStorageAreaRemoveFunction::RunWithStorage(ValueStore* storage) { | 237 StorageStorageAreaRemoveFunction::RunWithStorage(ValueStore* storage) { |
238 base::Value* input = NULL; | 238 base::Value* input = NULL; |
239 if (!args_->Get(0, &input)) | 239 if (!args_->Get(0, &input)) |
240 return BadMessage(); | 240 return BadMessage(); |
241 | 241 |
242 switch (input->GetType()) { | 242 switch (input->GetType()) { |
243 case base::Value::TYPE_STRING: { | 243 case base::Value::Type::STRING: { |
244 std::string as_string; | 244 std::string as_string; |
245 input->GetAsString(&as_string); | 245 input->GetAsString(&as_string); |
246 return UseWriteResult(storage->Remove(as_string)); | 246 return UseWriteResult(storage->Remove(as_string)); |
247 } | 247 } |
248 | 248 |
249 case base::Value::TYPE_LIST: { | 249 case base::Value::Type::LIST: { |
250 std::vector<std::string> as_string_list; | 250 std::vector<std::string> as_string_list; |
251 AddAllStringValues(*static_cast<base::ListValue*>(input), | 251 AddAllStringValues(*static_cast<base::ListValue*>(input), |
252 &as_string_list); | 252 &as_string_list); |
253 return UseWriteResult(storage->Remove(as_string_list)); | 253 return UseWriteResult(storage->Remove(as_string_list)); |
254 } | 254 } |
255 | 255 |
256 default: | 256 default: |
257 return BadMessage(); | 257 return BadMessage(); |
258 } | 258 } |
259 } | 259 } |
260 | 260 |
261 void StorageStorageAreaRemoveFunction::GetQuotaLimitHeuristics( | 261 void StorageStorageAreaRemoveFunction::GetQuotaLimitHeuristics( |
262 QuotaLimitHeuristics* heuristics) const { | 262 QuotaLimitHeuristics* heuristics) const { |
263 GetModificationQuotaLimitHeuristics(heuristics); | 263 GetModificationQuotaLimitHeuristics(heuristics); |
264 } | 264 } |
265 | 265 |
266 ExtensionFunction::ResponseValue | 266 ExtensionFunction::ResponseValue |
267 StorageStorageAreaClearFunction::RunWithStorage(ValueStore* storage) { | 267 StorageStorageAreaClearFunction::RunWithStorage(ValueStore* storage) { |
268 return UseWriteResult(storage->Clear()); | 268 return UseWriteResult(storage->Clear()); |
269 } | 269 } |
270 | 270 |
271 void StorageStorageAreaClearFunction::GetQuotaLimitHeuristics( | 271 void StorageStorageAreaClearFunction::GetQuotaLimitHeuristics( |
272 QuotaLimitHeuristics* heuristics) const { | 272 QuotaLimitHeuristics* heuristics) const { |
273 GetModificationQuotaLimitHeuristics(heuristics); | 273 GetModificationQuotaLimitHeuristics(heuristics); |
274 } | 274 } |
275 | 275 |
276 } // namespace extensions | 276 } // namespace extensions |
OLD | NEW |