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 "components/user_prefs/tracked/segregated_pref_store.h" | 5 #include "services/preferences/tracked/segregated_pref_store.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "base/logging.h" | 9 #include "base/logging.h" |
10 #include "base/stl_util.h" | 10 #include "base/stl_util.h" |
11 #include "base/values.h" | 11 #include "base/values.h" |
12 | 12 |
13 SegregatedPrefStore::AggregatingObserver::AggregatingObserver( | 13 SegregatedPrefStore::AggregatingObserver::AggregatingObserver( |
14 SegregatedPrefStore* outer) | 14 SegregatedPrefStore* outer) |
15 : outer_(outer), | 15 : outer_(outer), |
16 failed_sub_initializations_(0), | 16 failed_sub_initializations_(0), |
17 successful_sub_initializations_(0) { | 17 successful_sub_initializations_(0) {} |
18 } | |
19 | 18 |
20 void SegregatedPrefStore::AggregatingObserver::OnPrefValueChanged( | 19 void SegregatedPrefStore::AggregatingObserver::OnPrefValueChanged( |
21 const std::string& key) { | 20 const std::string& key) { |
22 // There is no need to tell clients about changes if they have not yet been | 21 // There is no need to tell clients about changes if they have not yet been |
23 // told about initialization. | 22 // told about initialization. |
24 if (failed_sub_initializations_ + successful_sub_initializations_ < 2) | 23 if (failed_sub_initializations_ + successful_sub_initializations_ < 2) |
25 return; | 24 return; |
26 | 25 |
27 for (auto& observer : outer_->observers_) | 26 for (auto& observer : outer_->observers_) |
28 observer.OnPrefValueChanged(key); | 27 observer.OnPrefValueChanged(key); |
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
185 .get(); | 184 .get(); |
186 } | 185 } |
187 | 186 |
188 const PersistentPrefStore* SegregatedPrefStore::StoreForKey( | 187 const PersistentPrefStore* SegregatedPrefStore::StoreForKey( |
189 const std::string& key) const { | 188 const std::string& key) const { |
190 return (base::ContainsKey(selected_preference_names_, key) | 189 return (base::ContainsKey(selected_preference_names_, key) |
191 ? selected_pref_store_ | 190 ? selected_pref_store_ |
192 : default_pref_store_) | 191 : default_pref_store_) |
193 .get(); | 192 .get(); |
194 } | 193 } |
OLD | NEW |