Chromium Code Reviews| Index: chrome/browser/prefs/profile_pref_store_manager.cc |
| diff --git a/chrome/browser/prefs/profile_pref_store_manager.cc b/chrome/browser/prefs/profile_pref_store_manager.cc |
| index 019b9306465f69be0aad5542f66da33cb0ae81f8..fc350a04902b467d889d39525de8ece17c21cc98 100644 |
| --- a/chrome/browser/prefs/profile_pref_store_manager.cc |
| +++ b/chrome/browser/prefs/profile_pref_store_manager.cc |
| @@ -158,11 +158,24 @@ void ProfilePrefStoreManager::ResetAllPrefHashStores(PrefService* local_state) { |
| // static |
| base::Time ProfilePrefStoreManager::GetResetTime(PrefService* pref_service) { |
| + // 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
|
| + // PrefHashFilter attached to the protected pref store will store the reset |
| + // time directly in the protected pref store without going through the |
| + // SegregatedPrefStore. |
| + |
| + // PrefHashFilter::GetResetTime will read the value through the pref service, |
| + // and thus through the SegregatedPrefStore. Even though it's not listed as |
| + // "protected" it will be read from the protected store prefentially to the |
|
gab
2014/04/01 18:55:06
s/prefentially/preferentially
|
| + // (NULL) value in the unprotected pref store. |
| return PrefHashFilter::GetResetTime(pref_service); |
| } |
| // static |
| void ProfilePrefStoreManager::ClearResetTime(PrefService* pref_service) { |
| + // PrefHashFilter::ClearResetTime will clear the value through the pref |
| + // service, and thus through the SegregatedPrefStore. Since it's not listed as |
| + // "protected" it will be migrated from the protected store to the unprotected |
| + // pref store before being deleted from the latter. |
| PrefHashFilter::ClearResetTime(pref_service); |
| } |