Index: chrome/browser/extensions/extension_web_ui.cc |
diff --git a/chrome/browser/extensions/extension_web_ui.cc b/chrome/browser/extensions/extension_web_ui.cc |
index e5d3b8ae6e82c7243a46e815a978cf57dc45bcfc..9ebeb1c52b5fbc1eed888b143600a0f5d4cc3d81 100644 |
--- a/chrome/browser/extensions/extension_web_ui.cc |
+++ b/chrome/browser/extensions/extension_web_ui.cc |
@@ -15,6 +15,7 @@ |
#include "base/strings/string_util.h" |
#include "base/strings/utf_string_conversions.h" |
#include "base/threading/thread_task_runner_handle.h" |
+#include "base/values.h" |
#include "chrome/browser/extensions/extension_tab_util.h" |
#include "chrome/browser/profiles/profile.h" |
#include "chrome/common/chrome_switches.h" |
@@ -471,12 +472,14 @@ void ExtensionWebUI::RegisterOrActivateChromeURLOverrides( |
DictionaryPrefUpdate update(prefs, kExtensionURLOverrides); |
base::DictionaryValue* all_overrides = update.Get(); |
for (const auto& page_override_pair : overrides) { |
- base::ListValue* page_overrides = nullptr; |
- if (!all_overrides->GetList(page_override_pair.first, &page_overrides)) { |
- page_overrides = new base::ListValue(); |
- all_overrides->Set(page_override_pair.first, page_overrides); |
+ base::ListValue* page_overrides_weak = nullptr; |
+ if (!all_overrides->GetList(page_override_pair.first, |
+ &page_overrides_weak)) { |
+ auto page_overrides = base::MakeUnique<base::ListValue>(); |
+ page_overrides_weak = page_overrides.get(); |
+ all_overrides->Set(page_override_pair.first, std::move(page_overrides)); |
} |
- AddOverridesToList(page_overrides, page_override_pair.second.spec()); |
+ AddOverridesToList(page_overrides_weak, page_override_pair.second.spec()); |
} |
} |