| Index: chrome/browser/prefs/tracked/pref_service_hash_store_contents.cc
|
| diff --git a/chrome/browser/prefs/tracked/pref_service_hash_store_contents.cc b/chrome/browser/prefs/tracked/pref_service_hash_store_contents.cc
|
| index 5482e3607bdba4da7291219a66c552d85ff8cb18..d464fd947684bfa6765b4d5217b6bb93b1dc4e19 100644
|
| --- a/chrome/browser/prefs/tracked/pref_service_hash_store_contents.cc
|
| +++ b/chrome/browser/prefs/tracked/pref_service_hash_store_contents.cc
|
| @@ -59,7 +59,11 @@ const char PrefServiceHashStoreContents::kStoreVersionsDict[] =
|
| PrefServiceHashStoreContents::PrefServiceHashStoreContents(
|
| const std::string& hash_store_id,
|
| PrefService* pref_service)
|
| - : hash_store_id_(hash_store_id), pref_service_(pref_service) {}
|
| + : hash_store_id_(hash_store_id), pref_service_(pref_service) {
|
| + // TODO(erikwright): Remove in M40+.
|
| + DictionaryPrefUpdate update(pref_service_, prefs::kProfilePreferenceHashes);
|
| + update->RemovePath(kStoreVersionsDict, NULL);
|
| +}
|
|
|
| // static
|
| void PrefServiceHashStoreContents::RegisterPrefs(PrefRegistrySimple* registry) {
|
| @@ -83,17 +87,17 @@ void PrefServiceHashStoreContents::Reset() {
|
|
|
| update->RemoveWithoutPathExpansion(hash_store_id_, NULL);
|
|
|
| - // Remove this store's entry in the kStoreVersionsDict.
|
| - base::DictionaryValue* version_dict;
|
| - if (update->GetDictionary(kStoreVersionsDict, &version_dict))
|
| - version_dict->RemoveWithoutPathExpansion(hash_store_id_, NULL);
|
| -
|
| // Remove this store's entry in the kHashOfHashesDict.
|
| base::DictionaryValue* hash_of_hashes_dict;
|
| if (update->GetDictionaryWithoutPathExpansion(kHashOfHashesDict,
|
| &hash_of_hashes_dict)) {
|
| hash_of_hashes_dict->RemoveWithoutPathExpansion(hash_store_id_, NULL);
|
| + if (hash_of_hashes_dict->empty())
|
| + update->RemovePath(kHashOfHashesDict, NULL);
|
| }
|
| +
|
| + if (update->empty())
|
| + pref_service_->ClearPref(prefs::kProfilePreferenceHashes);
|
| }
|
|
|
| bool PrefServiceHashStoreContents::IsInitialized() const {
|
| @@ -103,21 +107,6 @@ bool PrefServiceHashStoreContents::IsInitialized() const {
|
| NULL);
|
| }
|
|
|
| -bool PrefServiceHashStoreContents::GetVersion(int* version) const {
|
| - DCHECK(version);
|
| - const base::DictionaryValue* pref_hash_data =
|
| - pref_service_->GetDictionary(prefs::kProfilePreferenceHashes);
|
| -
|
| - const base::DictionaryValue* version_dict;
|
| - return pref_hash_data->GetDictionary(kStoreVersionsDict, &version_dict) &&
|
| - version_dict->GetIntegerWithoutPathExpansion(hash_store_id_, version);
|
| -}
|
| -
|
| -void PrefServiceHashStoreContents::SetVersion(int version) {
|
| - PrefServiceMutableDictionary(kStoreVersionsDict, pref_service_)
|
| - ->SetIntegerWithoutPathExpansion(hash_store_id_, version);
|
| -}
|
| -
|
| const base::DictionaryValue* PrefServiceHashStoreContents::GetContents() const {
|
| const base::DictionaryValue* pref_hash_dicts =
|
| pref_service_->GetDictionary(prefs::kProfilePreferenceHashes);
|
|
|