Chromium Code Reviews| Index: chrome/browser/extensions/extension_assets_manager_chromeos.cc |
| diff --git a/chrome/browser/extensions/extension_assets_manager_chromeos.cc b/chrome/browser/extensions/extension_assets_manager_chromeos.cc |
| index c6213bc2bf3884ada8b8c1d17dc98b9f1e845d7b..7881f2b3d34f841c021c96c9e4204db910b8fa21 100644 |
| --- a/chrome/browser/extensions/extension_assets_manager_chromeos.cc |
| +++ b/chrome/browser/extensions/extension_assets_manager_chromeos.cc |
| @@ -7,11 +7,13 @@ |
| #include <stddef.h> |
| #include <map> |
| +#include <utility> |
| #include <vector> |
| #include "base/command_line.h" |
| #include "base/files/file_util.h" |
| #include "base/macros.h" |
| +#include "base/memory/ptr_util.h" |
| #include "base/memory/singleton.h" |
| #include "base/sequenced_task_runner.h" |
| #include "base/sys_info.h" |
|
jdoerrie
2017/04/06 14:25:51
#include "base/values.h"
vabr (Chromium)
2017/04/07 20:40:40
Done.
|
| @@ -397,19 +399,18 @@ void ExtensionAssetsManagerChromeOS::InstallSharedExtensionDone( |
| PrefService* local_state = g_browser_process->local_state(); |
| DictionaryPrefUpdate shared_extensions(local_state, kSharedExtensions); |
| - base::DictionaryValue* extension_info = NULL; |
| - if (!shared_extensions->GetDictionary(id, &extension_info)) { |
| - extension_info = new base::DictionaryValue; |
| - shared_extensions->Set(id, extension_info); |
| + base::DictionaryValue* extension_info_weak = NULL; |
| + if (!shared_extensions->GetDictionary(id, &extension_info_weak)) { |
| + auto extension_info = base::MakeUnique<base::DictionaryValue>(); |
| + extension_info_weak = extension_info.get(); |
| + shared_extensions->Set(id, std::move(extension_info)); |
| } |
| CHECK(!shared_extensions->HasKey(version)); |
| - base::DictionaryValue* version_info = new base::DictionaryValue; |
| - extension_info->SetWithoutPathExpansion(version, version_info); |
| + auto version_info = base::MakeUnique<base::DictionaryValue>(); |
| version_info->SetString(kSharedExtensionPath, shared_version_dir.value()); |
| - base::ListValue* users = new base::ListValue; |
| - version_info->Set(kSharedExtensionUsers, users); |
| + auto users = base::MakeUnique<base::ListValue>(); |
| for (size_t i = 0; i < pending_installs.size(); i++) { |
| ExtensionAssetsManagerHelper::PendingInstallInfo& info = |
| pending_installs[i]; |
| @@ -419,6 +420,9 @@ void ExtensionAssetsManagerChromeOS::InstallSharedExtensionDone( |
| FROM_HERE, |
| base::Bind(info.callback, shared_version_dir)); |
| } |
| + version_info->Set(kSharedExtensionUsers, std::move(users)); |
| + extension_info_weak->SetWithoutPathExpansion(version, |
| + std::move(version_info)); |
| } |
| // static |