Index: chrome/browser/component_updater/supervised_user_whitelist_installer.cc |
diff --git a/chrome/browser/component_updater/supervised_user_whitelist_installer.cc b/chrome/browser/component_updater/supervised_user_whitelist_installer.cc |
index 73e0a94e43e3dfa36f5ae86b4377ab7f79cd9359..dcb569fe862ef7e82e56b19c573e4f13b64aa3e3 100644 |
--- a/chrome/browser/component_updater/supervised_user_whitelist_installer.cc |
+++ b/chrome/browser/component_updater/supervised_user_whitelist_installer.cc |
@@ -533,24 +533,26 @@ void SupervisedUserWhitelistInstallerImpl::RegisterWhitelist( |
DictionaryPrefUpdate update(local_state_, |
prefs::kRegisteredSupervisedUserWhitelists); |
base::DictionaryValue* pref_dict = update.Get(); |
- base::DictionaryValue* whitelist_dict = nullptr; |
- const bool newly_added = |
- !pref_dict->GetDictionaryWithoutPathExpansion(crx_id, &whitelist_dict); |
+ base::DictionaryValue* whitelist_dict_weak = nullptr; |
+ const bool newly_added = !pref_dict->GetDictionaryWithoutPathExpansion( |
+ crx_id, &whitelist_dict_weak); |
if (newly_added) { |
- whitelist_dict = new base::DictionaryValue; |
+ auto whitelist_dict = base::MakeUnique<base::DictionaryValue>(); |
+ whitelist_dict_weak = whitelist_dict.get(); |
whitelist_dict->SetString(kName, name); |
- pref_dict->SetWithoutPathExpansion(crx_id, whitelist_dict); |
+ pref_dict->SetWithoutPathExpansion(crx_id, std::move(whitelist_dict)); |
} |
if (!client_id.empty()) { |
- base::ListValue* clients = nullptr; |
- if (!whitelist_dict->GetList(kClients, &clients)) { |
+ base::ListValue* clients_weak = nullptr; |
+ if (!whitelist_dict_weak->GetList(kClients, &clients_weak)) { |
DCHECK(newly_added); |
- clients = new base::ListValue; |
- whitelist_dict->Set(kClients, clients); |
+ auto clients = base::MakeUnique<base::ListValue>(); |
+ clients_weak = clients.get(); |
+ whitelist_dict_weak->Set(kClients, std::move(clients)); |
} |
- bool success = |
- clients->AppendIfNotPresent(base::MakeUnique<base::Value>(client_id)); |
+ bool success = clients_weak->AppendIfNotPresent( |
+ base::MakeUnique<base::Value>(client_id)); |
DCHECK(success); |
} |
@@ -558,7 +560,7 @@ void SupervisedUserWhitelistInstallerImpl::RegisterWhitelist( |
// Sanity-check that the stored name is equal to the name passed in. |
// In release builds this is a no-op. |
std::string stored_name; |
- DCHECK(whitelist_dict->GetString(kName, &stored_name)); |
+ DCHECK(whitelist_dict_weak->GetString(kName, &stored_name)); |
DCHECK_EQ(stored_name, name); |
return; |
} |