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

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

Issue 205813002: Separate storage for protected preferences into Protected Preferences file. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@pp4_profile_pref_store
Patch Set: Revert code that breaks tests, commit what works. 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
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/profile_pref_store_manager.h" 5 #include "chrome/browser/prefs/profile_pref_store_manager.h"
6 6
7 #include "base/file_util.h" 7 #include "base/file_util.h"
8 #include "base/json/json_file_value_serializer.h" 8 #include "base/json/json_file_value_serializer.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
151 return profile_path.Append(chrome::kPreferencesFilename); 151 return profile_path.Append(chrome::kPreferencesFilename);
152 } 152 }
153 153
154 // static 154 // static
155 void ProfilePrefStoreManager::ResetAllPrefHashStores(PrefService* local_state) { 155 void ProfilePrefStoreManager::ResetAllPrefHashStores(PrefService* local_state) {
156 PrefServiceHashStoreContents::ResetAllPrefHashStores(local_state); 156 PrefServiceHashStoreContents::ResetAllPrefHashStores(local_state);
157 } 157 }
158 158
159 // static 159 // static
160 base::Time ProfilePrefStoreManager::GetResetTime(PrefService* pref_service) { 160 base::Time ProfilePrefStoreManager::GetResetTime(PrefService* pref_service) {
161 // It's a bit of a coincidence that this (and ClearResetTime) work(s). The
gab 2014/04/01 18:55:06 :( -- to avoid all of this madness how about we us
erikwright (departed) 2014/04/01 19:46:08 The current implementation is cleaner, easier to u
gab 2014/04/02 17:02:03 Okay, makes sense, I agree with you now that I und
162 // PrefHashFilter attached to the protected pref store will store the reset
163 // time directly in the protected pref store without going through the
164 // SegregatedPrefStore.
165
166 // PrefHashFilter::GetResetTime will read the value through the pref service,
167 // and thus through the SegregatedPrefStore. Even though it's not listed as
168 // "protected" it will be read from the protected store prefentially to the
gab 2014/04/01 18:55:06 s/prefentially/preferentially
169 // (NULL) value in the unprotected pref store.
161 return PrefHashFilter::GetResetTime(pref_service); 170 return PrefHashFilter::GetResetTime(pref_service);
162 } 171 }
163 172
164 // static 173 // static
165 void ProfilePrefStoreManager::ClearResetTime(PrefService* pref_service) { 174 void ProfilePrefStoreManager::ClearResetTime(PrefService* pref_service) {
175 // PrefHashFilter::ClearResetTime will clear the value through the pref
176 // service, and thus through the SegregatedPrefStore. Since it's not listed as
177 // "protected" it will be migrated from the protected store to the unprotected
178 // pref store before being deleted from the latter.
166 PrefHashFilter::ClearResetTime(pref_service); 179 PrefHashFilter::ClearResetTime(pref_service);
167 } 180 }
168 181
169 void ProfilePrefStoreManager::ResetPrefHashStore() { 182 void ProfilePrefStoreManager::ResetPrefHashStore() {
170 if (kPlatformSupportsPreferenceTracking) 183 if (kPlatformSupportsPreferenceTracking)
171 GetPrefHashStoreImpl()->Reset(); 184 GetPrefHashStoreImpl()->Reset();
172 } 185 }
173 186
174 PersistentPrefStore* ProfilePrefStoreManager::CreateProfilePrefStore( 187 PersistentPrefStore* ProfilePrefStoreManager::CreateProfilePrefStore(
175 const scoped_refptr<base::SequencedTaskRunner>& io_task_runner) { 188 const scoped_refptr<base::SequencedTaskRunner>& io_task_runner) {
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
242 255
243 scoped_ptr<PrefHashStoreImpl> ProfilePrefStoreManager::GetPrefHashStoreImpl() { 256 scoped_ptr<PrefHashStoreImpl> ProfilePrefStoreManager::GetPrefHashStoreImpl() {
244 DCHECK(kPlatformSupportsPreferenceTracking); 257 DCHECK(kPlatformSupportsPreferenceTracking);
245 258
246 return make_scoped_ptr(new PrefHashStoreImpl( 259 return make_scoped_ptr(new PrefHashStoreImpl(
247 seed_, 260 seed_,
248 device_id_, 261 device_id_,
249 scoped_ptr<HashStoreContents>(new PrefServiceHashStoreContents( 262 scoped_ptr<HashStoreContents>(new PrefServiceHashStoreContents(
250 profile_path_.AsUTF8Unsafe(), local_state_)))); 263 profile_path_.AsUTF8Unsafe(), local_state_))));
251 } 264 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698