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

Side by Side Diff: chrome/browser/prefs/tracked/segregated_pref_store.cc

Issue 218583003: Separate storage for protected preferences into Protected Preferences file. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Review comments. Created 6 years, 8 months 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 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
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 // Ignore NO_FILE from selected_pref_store_.
125 if (read_error == PersistentPrefStore::PREF_READ_ERROR_NO_FILE)
126 read_error = PersistentPrefStore::PREF_READ_ERROR_NONE;
127 }
128 return read_error;
125 } 129 }
126 130
127 PersistentPrefStore::PrefReadError SegregatedPrefStore::ReadPrefs() { 131 PersistentPrefStore::PrefReadError SegregatedPrefStore::ReadPrefs() {
128 PersistentPrefStore::PrefReadError unselected_read_error = 132 default_pref_store_->ReadPrefs();
129 default_pref_store_->ReadPrefs(); 133 selected_pref_store_->ReadPrefs();
130 PersistentPrefStore::PrefReadError selected_read_error =
131 selected_pref_store_->ReadPrefs();
132 134
133 return unselected_read_error != PersistentPrefStore::PREF_READ_ERROR_NONE 135 return GetReadError();
134 ? unselected_read_error
135 : selected_read_error;
136 } 136 }
137 137
138 void SegregatedPrefStore::ReadPrefsAsync(ReadErrorDelegate* error_delegate) { 138 void SegregatedPrefStore::ReadPrefsAsync(ReadErrorDelegate* error_delegate) {
139 read_error_delegate_.reset(error_delegate); 139 read_error_delegate_.reset(error_delegate);
140 default_pref_store_->ReadPrefsAsync(NULL); 140 default_pref_store_->ReadPrefsAsync(NULL);
141 selected_pref_store_->ReadPrefsAsync(NULL); 141 selected_pref_store_->ReadPrefsAsync(NULL);
142 } 142 }
143 143
144 void SegregatedPrefStore::CommitPendingWrite() { 144 void SegregatedPrefStore::CommitPendingWrite() {
145 default_pref_store_->CommitPendingWrite(); 145 default_pref_store_->CommitPendingWrite();
(...skipping 27 matching lines...) Expand all
173 scoped_ptr<base::Value> migrated_value(value->DeepCopy()); 173 scoped_ptr<base::Value> migrated_value(value->DeepCopy());
174 value = NULL; 174 value = NULL;
175 default_pref_store_->SetValue(key, migrated_value.release()); 175 default_pref_store_->SetValue(key, migrated_value.release());
176 default_pref_store_->CommitPendingWrite(); 176 default_pref_store_->CommitPendingWrite();
177 selected_pref_store_->RemoveValue(key); 177 selected_pref_store_->RemoveValue(key);
178 selected_pref_store_->CommitPendingWrite(); 178 selected_pref_store_->CommitPendingWrite();
179 } 179 }
180 180
181 return default_pref_store_.get(); 181 return default_pref_store_.get();
182 } 182 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698