Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(820)

Side by Side Diff: chrome/browser/prefs/pref_value_store.cc

Issue 11365112: Change PrefStore::ReadResult to a boolean. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 "chrome/browser/prefs/pref_value_store.h" 5 #include "chrome/browser/prefs/pref_value_store.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/prefs/pref_notifier.h" 8 #include "base/prefs/pref_notifier.h"
9 #include "chrome/browser/prefs/pref_model_associator.h" 9 #include "chrome/browser/prefs/pref_model_associator.h"
10 10
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after
207 } 207 }
208 return INVALID_STORE; 208 return INVALID_STORE;
209 } 209 }
210 210
211 bool PrefValueStore::GetValueFromStore(const char* name, 211 bool PrefValueStore::GetValueFromStore(const char* name,
212 PrefValueStore::PrefStoreType store_type, 212 PrefValueStore::PrefStoreType store_type,
213 const Value** out_value) const { 213 const Value** out_value) const {
214 // Only return true if we find a value and it is the correct type, so stale 214 // Only return true if we find a value and it is the correct type, so stale
215 // values with the incorrect type will be ignored. 215 // values with the incorrect type will be ignored.
216 const PrefStore* store = GetPrefStore(static_cast<PrefStoreType>(store_type)); 216 const PrefStore* store = GetPrefStore(static_cast<PrefStoreType>(store_type));
217 if (store) { 217 if (store && store->GetValue(name, out_value))
218 switch (store->GetValue(name, out_value)) { 218 return true;
219 case PrefStore::READ_USE_DEFAULT:
220 store = GetPrefStore(DEFAULT_STORE);
221 if (!store || store->GetValue(name, out_value) != PrefStore::READ_OK) {
222 *out_value = NULL;
223 return false;
224 }
225 // Fall through...
226 case PrefStore::READ_OK:
227 return true;
228 case PrefStore::READ_NO_VALUE:
229 break;
230 }
231 }
232 219
233 // No valid value found for the given preference name: set the return false. 220 // No valid value found for the given preference name: set the return value
221 // to false.
234 *out_value = NULL; 222 *out_value = NULL;
235 return false; 223 return false;
236 } 224 }
237 225
238 bool PrefValueStore::GetValueFromStoreWithType(const char* name, 226 bool PrefValueStore::GetValueFromStoreWithType(const char* name,
239 base::Value::Type type, 227 base::Value::Type type,
240 PrefStoreType store, 228 PrefStoreType store,
241 const Value** out_value) const { 229 const Value** out_value) const {
242 if (GetValueFromStore(name, store, out_value)) { 230 if (GetValueFromStore(name, store, out_value)) {
243 if ((*out_value)->IsType(type)) 231 if ((*out_value)->IsType(type))
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
278 if (initialization_failed_) 266 if (initialization_failed_)
279 return; 267 return;
280 for (size_t i = 0; i <= PREF_STORE_TYPE_MAX; ++i) { 268 for (size_t i = 0; i <= PREF_STORE_TYPE_MAX; ++i) {
281 scoped_refptr<PrefStore> store = 269 scoped_refptr<PrefStore> store =
282 GetPrefStore(static_cast<PrefStoreType>(i)); 270 GetPrefStore(static_cast<PrefStoreType>(i));
283 if (store && !store->IsInitializationComplete()) 271 if (store && !store->IsInitializationComplete())
284 return; 272 return;
285 } 273 }
286 pref_notifier_->OnInitializationCompleted(true); 274 pref_notifier_->OnInitializationCompleted(true);
287 } 275 }
OLDNEW
« no previous file with comments | « chrome/browser/prefs/pref_service.cc ('k') | chrome/browser/sync/credential_cache_service_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698