| 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 "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 "base/prefs/pref_observer.h" | 9 #include "base/prefs/pref_observer.h" |
| 10 #include "chrome/browser/prefs/pref_registry.h" |
| 10 | 11 |
| 11 PrefValueStore::PrefStoreKeeper::PrefStoreKeeper() | 12 PrefValueStore::PrefStoreKeeper::PrefStoreKeeper() |
| 12 : pref_value_store_(NULL), | 13 : pref_value_store_(NULL), |
| 13 type_(PrefValueStore::INVALID_STORE) { | 14 type_(PrefValueStore::INVALID_STORE) { |
| 14 } | 15 } |
| 15 | 16 |
| 16 PrefValueStore::PrefStoreKeeper::~PrefStoreKeeper() { | 17 PrefValueStore::PrefStoreKeeper::~PrefStoreKeeper() { |
| 17 if (pref_store_.get()) { | 18 if (pref_store_.get()) { |
| 18 pref_store_->RemoveObserver(this); | 19 pref_store_->RemoveObserver(this); |
| 19 pref_store_ = NULL; | 20 pref_store_ = NULL; |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 58 InitPrefStore(MANAGED_STORE, managed_prefs); | 59 InitPrefStore(MANAGED_STORE, managed_prefs); |
| 59 InitPrefStore(EXTENSION_STORE, extension_prefs); | 60 InitPrefStore(EXTENSION_STORE, extension_prefs); |
| 60 InitPrefStore(COMMAND_LINE_STORE, command_line_prefs); | 61 InitPrefStore(COMMAND_LINE_STORE, command_line_prefs); |
| 61 InitPrefStore(USER_STORE, user_prefs); | 62 InitPrefStore(USER_STORE, user_prefs); |
| 62 InitPrefStore(RECOMMENDED_STORE, recommended_prefs); | 63 InitPrefStore(RECOMMENDED_STORE, recommended_prefs); |
| 63 InitPrefStore(DEFAULT_STORE, default_prefs); | 64 InitPrefStore(DEFAULT_STORE, default_prefs); |
| 64 | 65 |
| 65 CheckInitializationCompleted(); | 66 CheckInitializationCompleted(); |
| 66 } | 67 } |
| 67 | 68 |
| 69 PrefValueStore::PrefValueStore(PrefStore* managed_prefs, |
| 70 PrefStore* extension_prefs, |
| 71 PrefStore* command_line_prefs, |
| 72 PrefStore* user_prefs, |
| 73 PrefStore* recommended_prefs, |
| 74 PrefRegistry* pref_registry, |
| 75 PrefNotifier* pref_notifier) |
| 76 : pref_notifier_(pref_notifier), |
| 77 initialization_failed_(false) { |
| 78 InitPrefStore(MANAGED_STORE, managed_prefs); |
| 79 InitPrefStore(EXTENSION_STORE, extension_prefs); |
| 80 InitPrefStore(COMMAND_LINE_STORE, command_line_prefs); |
| 81 InitPrefStore(USER_STORE, user_prefs); |
| 82 InitPrefStore(RECOMMENDED_STORE, recommended_prefs); |
| 83 InitPrefStore(DEFAULT_STORE, pref_registry->default_prefs_.get()); |
| 84 |
| 85 CheckInitializationCompleted(); |
| 86 } |
| 87 |
| 68 PrefValueStore::~PrefValueStore() {} | 88 PrefValueStore::~PrefValueStore() {} |
| 69 | 89 |
| 70 PrefValueStore* PrefValueStore::CloneAndSpecialize( | 90 PrefValueStore* PrefValueStore::CloneAndSpecialize( |
| 71 PrefStore* managed_prefs, | 91 PrefStore* managed_prefs, |
| 72 PrefStore* extension_prefs, | 92 PrefStore* extension_prefs, |
| 73 PrefStore* command_line_prefs, | 93 PrefStore* command_line_prefs, |
| 74 PrefStore* user_prefs, | 94 PrefStore* user_prefs, |
| 75 PrefStore* recommended_prefs, | 95 PrefStore* recommended_prefs, |
| 76 PrefStore* default_prefs, | 96 PrefStore* default_prefs, |
| 77 PrefNotifier* pref_notifier) { | 97 PrefNotifier* pref_notifier) { |
| (...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 267 if (initialization_failed_) | 287 if (initialization_failed_) |
| 268 return; | 288 return; |
| 269 for (size_t i = 0; i <= PREF_STORE_TYPE_MAX; ++i) { | 289 for (size_t i = 0; i <= PREF_STORE_TYPE_MAX; ++i) { |
| 270 scoped_refptr<PrefStore> store = | 290 scoped_refptr<PrefStore> store = |
| 271 GetPrefStore(static_cast<PrefStoreType>(i)); | 291 GetPrefStore(static_cast<PrefStoreType>(i)); |
| 272 if (store && !store->IsInitializationComplete()) | 292 if (store && !store->IsInitializationComplete()) |
| 273 return; | 293 return; |
| 274 } | 294 } |
| 275 pref_notifier_->OnInitializationCompleted(true); | 295 pref_notifier_->OnInitializationCompleted(true); |
| 276 } | 296 } |
| OLD | NEW |