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

Unified Diff: chrome/browser/extensions/extension_assets_manager_chromeos.cc

Issue 2777063003: Stop passing raw pointers to base::Value API in c/b/chromeos and c/b/extensions (Closed)
Patch Set: Just rebased Created 3 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 side-by-side diff with in-line comments
Download patch
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..ee709fd276946b8e1aa6a0ed0d5dfcb363c76207 100644
--- a/chrome/browser/extensions/extension_assets_manager_chromeos.cc
+++ b/chrome/browser/extensions/extension_assets_manager_chromeos.cc
@@ -7,14 +7,17 @@
#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"
+#include "base/values.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/extensions/extension_service.h"
@@ -397,19 +400,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 +421,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

Powered by Google App Engine
This is Rietveld 408576698