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

Unified Diff: components/proxy_config/proxy_config_dictionary.cc

Issue 2785883003: Use unique_ptr<DictionaryValue> in ProxyConfigDictionary (Closed)
Patch Set: Created 3 years, 9 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: components/proxy_config/proxy_config_dictionary.cc
diff --git a/components/proxy_config/proxy_config_dictionary.cc b/components/proxy_config/proxy_config_dictionary.cc
index 1251ae68442ce4e7d9c41b27c1d37132cb237eb7..b1bb90340ba7914a2b6ccd64dba770162dc3f58d 100644
--- a/components/proxy_config/proxy_config_dictionary.cc
+++ b/components/proxy_config/proxy_config_dictionary.cc
@@ -4,7 +4,10 @@
#include "components/proxy_config/proxy_config_dictionary.h"
+#include <utility>
+
#include "base/logging.h"
+#include "base/memory/ptr_util.h"
#include "base/values.h"
#include "net/proxy/proxy_config.h"
@@ -29,9 +32,12 @@ const char kProxyBypassList[] = "bypass_list";
} // namespace
+ProxyConfigDictionary::ProxyConfigDictionary(
+ std::unique_ptr<base::DictionaryValue> dict)
+ : dict_(std::move(dict)) {}
+
ProxyConfigDictionary::ProxyConfigDictionary(const base::DictionaryValue* dict)
- : dict_(dict->DeepCopy()) {
-}
+ : dict_(dict->CreateDeepCopy()) {}
ProxyConfigDictionary::~ProxyConfigDictionary() {}
@@ -70,7 +76,7 @@ const base::DictionaryValue& ProxyConfigDictionary::GetDictionary() const {
}
// static
-base::DictionaryValue* ProxyConfigDictionary::CreateDirect() {
+std::unique_ptr<base::DictionaryValue> ProxyConfigDictionary::CreateDirect() {
return CreateDictionary(ProxyPrefs::MODE_DIRECT,
std::string(),
false,
@@ -79,7 +85,8 @@ base::DictionaryValue* ProxyConfigDictionary::CreateDirect() {
}
// static
-base::DictionaryValue* ProxyConfigDictionary::CreateAutoDetect() {
+std::unique_ptr<base::DictionaryValue>
+ProxyConfigDictionary::CreateAutoDetect() {
return CreateDictionary(ProxyPrefs::MODE_AUTO_DETECT,
std::string(),
false,
@@ -88,7 +95,7 @@ base::DictionaryValue* ProxyConfigDictionary::CreateAutoDetect() {
}
// static
-base::DictionaryValue* ProxyConfigDictionary::CreatePacScript(
+std::unique_ptr<base::DictionaryValue> ProxyConfigDictionary::CreatePacScript(
const std::string& pac_url,
bool pac_mandatory) {
return CreateDictionary(ProxyPrefs::MODE_PAC_SCRIPT,
@@ -99,9 +106,9 @@ base::DictionaryValue* ProxyConfigDictionary::CreatePacScript(
}
// static
-base::DictionaryValue* ProxyConfigDictionary::CreateFixedServers(
- const std::string& proxy_server,
- const std::string& bypass_list) {
+std::unique_ptr<base::DictionaryValue>
+ProxyConfigDictionary::CreateFixedServers(const std::string& proxy_server,
+ const std::string& bypass_list) {
if (!proxy_server.empty()) {
return CreateDictionary(ProxyPrefs::MODE_FIXED_SERVERS,
std::string(),
@@ -114,7 +121,7 @@ base::DictionaryValue* ProxyConfigDictionary::CreateFixedServers(
}
// static
-base::DictionaryValue* ProxyConfigDictionary::CreateSystem() {
+std::unique_ptr<base::DictionaryValue> ProxyConfigDictionary::CreateSystem() {
return CreateDictionary(ProxyPrefs::MODE_SYSTEM,
std::string(),
false,
@@ -123,13 +130,14 @@ base::DictionaryValue* ProxyConfigDictionary::CreateSystem() {
}
// static
-base::DictionaryValue* ProxyConfigDictionary::CreateDictionary(
+std::unique_ptr<base::DictionaryValue> ProxyConfigDictionary::CreateDictionary(
ProxyPrefs::ProxyMode mode,
const std::string& pac_url,
bool pac_mandatory,
const std::string& proxy_server,
const std::string& bypass_list) {
- base::DictionaryValue* dict = new base::DictionaryValue();
+ std::unique_ptr<base::DictionaryValue> dict =
jdoerrie 2017/03/30 11:00:39 nit: auto
vabr (Chromium) 2017/03/30 12:07:41 Done.
+ base::MakeUnique<base::DictionaryValue>();
dict->SetString(kProxyMode, ProxyModeToString(mode));
if (!pac_url.empty()) {
dict->SetString(kProxyPacUrl, pac_url);

Powered by Google App Engine
This is Rietveld 408576698