Index: chrome/browser/ui/webui/ntp/app_launcher_handler.cc |
diff --git a/chrome/browser/ui/webui/ntp/app_launcher_handler.cc b/chrome/browser/ui/webui/ntp/app_launcher_handler.cc |
index 488ace929ebf7eb5f3bff0869bc0c9251d81a700..075f9a57c34718fa9ed9a25ed4c7c30c3d58e7cc 100644 |
--- a/chrome/browser/ui/webui/ntp/app_launcher_handler.cc |
+++ b/chrome/browser/ui/webui/ntp/app_launcher_handler.cc |
@@ -14,6 +14,7 @@ |
#include "base/bind_helpers.h" |
#include "base/command_line.h" |
#include "base/i18n/rtl.h" |
+#include "base/memory/ptr_util.h" |
#include "base/metrics/field_trial.h" |
#include "base/metrics/histogram_macros.h" |
#include "base/strings/string_util.h" |
@@ -359,7 +360,7 @@ void AppLauncherHandler::FillAppDictionary(base::DictionaryValue* dictionary) { |
// CreateAppInfo and ClearOrdinals can change the extension prefs. |
base::AutoReset<bool> auto_reset(&ignore_changes_, true); |
- base::ListValue* list = new base::ListValue(); |
+ auto installed_extensions = base::MakeUnique<base::ListValue>(); |
Profile* profile = Profile::FromWebUI(web_ui()); |
PrefService* prefs = profile->GetPrefs(); |
@@ -368,24 +369,23 @@ void AppLauncherHandler::FillAppDictionary(base::DictionaryValue* dictionary) { |
const Extension* extension = extension_service_->GetInstalledExtension(*it); |
if (extension && extensions::ui_util::ShouldDisplayInNewTabPage( |
extension, profile)) { |
- list->Append(GetAppInfo(extension)); |
+ installed_extensions->Append(GetAppInfo(extension)); |
} |
} |
- dictionary->Set("apps", list); |
+ dictionary->Set("apps", std::move(installed_extensions)); |
const base::ListValue* app_page_names = |
prefs->GetList(prefs::kNtpAppPageNames); |
if (!app_page_names || !app_page_names->GetSize()) { |
ListPrefUpdate update(prefs, prefs::kNtpAppPageNames); |
base::ListValue* list = update.Get(); |
- list->Set(0, new base::Value( |
+ list->Set(0, base::MakeUnique<base::Value>( |
l10n_util::GetStringUTF16(IDS_APP_DEFAULT_PAGE_NAME))); |
jdoerrie
2017/04/13 09:08:52
SetString
vabr (Chromium)
2017/04/13 12:03:14
There is no SetString in ListValue.
|
- dictionary->Set("appPageNames", |
- static_cast<base::ListValue*>(list->DeepCopy())); |
+ dictionary->Set("appPageNames", base::MakeUnique<base::Value>(*list)); |
} else { |
dictionary->Set("appPageNames", |
- static_cast<base::ListValue*>(app_page_names->DeepCopy())); |
+ base::MakeUnique<base::Value>(*app_page_names)); |
} |
} |
@@ -691,7 +691,8 @@ void AppLauncherHandler::HandleSaveAppPageName(const base::ListValue* args) { |
PrefService* prefs = Profile::FromWebUI(web_ui())->GetPrefs(); |
ListPrefUpdate update(prefs, prefs::kNtpAppPageNames); |
base::ListValue* list = update.Get(); |
- list->Set(static_cast<size_t>(page_index), new base::Value(name)); |
+ list->Set(static_cast<size_t>(page_index), |
+ base::MakeUnique<base::Value>(name)); |
jdoerrie
2017/04/13 09:08:52
SetString
vabr (Chromium)
2017/04/13 12:03:14
There is no SetString in ListValue.
But I at least
jdoerrie
2017/04/13 12:09:41
True, my bad. I saw 'Set' and immediately assumed
|
} |
void AppLauncherHandler::HandleGenerateAppForLink(const base::ListValue* args) { |