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 "chrome/browser/prefs/tracked/segregated_pref_store.h" | 5 #include "chrome/browser/prefs/tracked/segregated_pref_store.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "base/stl_util.h" | 8 #include "base/stl_util.h" |
9 #include "base/values.h" | 9 #include "base/values.h" |
10 | 10 |
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
112 } | 112 } |
113 | 113 |
114 bool SegregatedPrefStore::ReadOnly() const { | 114 bool SegregatedPrefStore::ReadOnly() const { |
115 return selected_pref_store_->ReadOnly() || | 115 return selected_pref_store_->ReadOnly() || |
116 default_pref_store_->ReadOnly(); | 116 default_pref_store_->ReadOnly(); |
117 } | 117 } |
118 | 118 |
119 PersistentPrefStore::PrefReadError SegregatedPrefStore::GetReadError() const { | 119 PersistentPrefStore::PrefReadError SegregatedPrefStore::GetReadError() const { |
120 PersistentPrefStore::PrefReadError read_error = | 120 PersistentPrefStore::PrefReadError read_error = |
121 default_pref_store_->GetReadError(); | 121 default_pref_store_->GetReadError(); |
122 return read_error != PersistentPrefStore::PREF_READ_ERROR_NONE | 122 if (read_error == PersistentPrefStore::PREF_READ_ERROR_NONE) { |
123 ? read_error | 123 read_error = selected_pref_store_->GetReadError(); |
124 : selected_pref_store_->GetReadError(); | 124 if (read_error == PersistentPrefStore::PREF_READ_ERROR_NO_FILE) |
gab
2014/04/01 20:19:52
Add a comment as to why you disregard PREF_READ_ER
erikwright (departed)
2014/04/02 15:03:17
Done. See also the class comments in the header.
| |
125 read_error = PersistentPrefStore::PREF_READ_ERROR_NONE; | |
126 } | |
127 return read_error; | |
125 } | 128 } |
126 | 129 |
127 PersistentPrefStore::PrefReadError SegregatedPrefStore::ReadPrefs() { | 130 PersistentPrefStore::PrefReadError SegregatedPrefStore::ReadPrefs() { |
128 PersistentPrefStore::PrefReadError unselected_read_error = | 131 default_pref_store_->ReadPrefs(); |
129 default_pref_store_->ReadPrefs(); | 132 selected_pref_store_->ReadPrefs(); |
130 PersistentPrefStore::PrefReadError selected_read_error = | |
131 selected_pref_store_->ReadPrefs(); | |
132 | 133 |
133 return unselected_read_error != PersistentPrefStore::PREF_READ_ERROR_NONE | 134 return GetReadError(); |
134 ? unselected_read_error | |
135 : selected_read_error; | |
136 } | 135 } |
137 | 136 |
138 void SegregatedPrefStore::ReadPrefsAsync(ReadErrorDelegate* error_delegate) { | 137 void SegregatedPrefStore::ReadPrefsAsync(ReadErrorDelegate* error_delegate) { |
139 read_error_delegate_.reset(error_delegate); | 138 read_error_delegate_.reset(error_delegate); |
140 default_pref_store_->ReadPrefsAsync(NULL); | 139 default_pref_store_->ReadPrefsAsync(NULL); |
141 selected_pref_store_->ReadPrefsAsync(NULL); | 140 selected_pref_store_->ReadPrefsAsync(NULL); |
142 } | 141 } |
143 | 142 |
144 void SegregatedPrefStore::CommitPendingWrite() { | 143 void SegregatedPrefStore::CommitPendingWrite() { |
145 default_pref_store_->CommitPendingWrite(); | 144 default_pref_store_->CommitPendingWrite(); |
(...skipping 27 matching lines...) Expand all Loading... | |
173 scoped_ptr<base::Value> migrated_value(value->DeepCopy()); | 172 scoped_ptr<base::Value> migrated_value(value->DeepCopy()); |
174 value = NULL; | 173 value = NULL; |
175 default_pref_store_->SetValue(key, migrated_value.release()); | 174 default_pref_store_->SetValue(key, migrated_value.release()); |
176 default_pref_store_->CommitPendingWrite(); | 175 default_pref_store_->CommitPendingWrite(); |
177 selected_pref_store_->RemoveValue(key); | 176 selected_pref_store_->RemoveValue(key); |
178 selected_pref_store_->CommitPendingWrite(); | 177 selected_pref_store_->CommitPendingWrite(); |
179 } | 178 } |
180 | 179 |
181 return default_pref_store_.get(); | 180 return default_pref_store_.get(); |
182 } | 181 } |
OLD | NEW |