Index: chrome/browser/extensions/api/proxy/proxy_api_helpers.cc |
diff --git a/chrome/browser/extensions/api/proxy/proxy_api_helpers.cc b/chrome/browser/extensions/api/proxy/proxy_api_helpers.cc |
index 48b590a2516875df99c0b7f9bdfd4a487fac1716..c7639303ea45fb5d1ab8927c37d57dfafa1ea21f 100644 |
--- a/chrome/browser/extensions/api/proxy/proxy_api_helpers.cc |
+++ b/chrome/browser/extensions/api/proxy/proxy_api_helpers.cc |
@@ -15,7 +15,10 @@ |
#include <stddef.h> |
+#include <utility> |
+ |
#include "base/base64.h" |
+#include "base/memory/ptr_util.h" |
#include "base/strings/string_tokenizer.h" |
#include "base/strings/string_util.h" |
#include "base/strings/utf_string_conversions.h" |
@@ -359,13 +362,12 @@ std::unique_ptr<base::DictionaryValue> CreateProxyConfigDict( |
return result_proxy_config; |
} |
-base::DictionaryValue* CreateProxyRulesDict( |
+std::unique_ptr<base::DictionaryValue> CreateProxyRulesDict( |
const ProxyConfigDictionary& proxy_config) { |
ProxyPrefs::ProxyMode mode; |
CHECK(proxy_config.GetMode(&mode) && mode == ProxyPrefs::MODE_FIXED_SERVERS); |
- std::unique_ptr<base::DictionaryValue> extension_proxy_rules( |
- new base::DictionaryValue); |
+ auto extension_proxy_rules = base::MakeUnique<base::DictionaryValue>(); |
std::string proxy_servers; |
if (!proxy_config.GetProxyServer(&proxy_servers)) { |
@@ -421,16 +423,18 @@ base::DictionaryValue* CreateProxyRulesDict( |
LOG(ERROR) << "Invalid bypassList in configuration."; |
return NULL; |
} |
- base::ListValue* bypass_list = |
+ std::unique_ptr<base::ListValue> bypass_list = |
TokenizeToStringList(bypass_list_string, ",;"); |
- extension_proxy_rules->Set(keys::kProxyConfigBypassList, bypass_list); |
+ extension_proxy_rules->Set(keys::kProxyConfigBypassList, |
+ std::move(bypass_list)); |
} |
- return extension_proxy_rules.release(); |
+ return extension_proxy_rules; |
} |
-base::DictionaryValue* CreateProxyServerDict(const net::ProxyServer& proxy) { |
- std::unique_ptr<base::DictionaryValue> out(new base::DictionaryValue); |
+std::unique_ptr<base::DictionaryValue> CreateProxyServerDict( |
+ const net::ProxyServer& proxy) { |
+ auto out = base::MakeUnique<base::DictionaryValue>(); |
switch (proxy.scheme()) { |
case net::ProxyServer::SCHEME_HTTP: |
out->SetString(keys::kProxyConfigRuleScheme, "http"); |
@@ -454,16 +458,15 @@ base::DictionaryValue* CreateProxyServerDict(const net::ProxyServer& proxy) { |
} |
out->SetString(keys::kProxyConfigRuleHost, proxy.host_port_pair().host()); |
out->SetInteger(keys::kProxyConfigRulePort, proxy.host_port_pair().port()); |
- return out.release(); |
+ return out; |
} |
-base::DictionaryValue* CreatePacScriptDict( |
+std::unique_ptr<base::DictionaryValue> CreatePacScriptDict( |
const ProxyConfigDictionary& proxy_config) { |
ProxyPrefs::ProxyMode mode; |
CHECK(proxy_config.GetMode(&mode) && mode == ProxyPrefs::MODE_PAC_SCRIPT); |
- std::unique_ptr<base::DictionaryValue> pac_script_dict( |
- new base::DictionaryValue); |
+ auto pac_script_dict = base::MakeUnique<base::DictionaryValue>(); |
std::string pac_url; |
if (!proxy_config.GetPacUrl(&pac_url)) { |
LOG(ERROR) << "Invalid proxy configuration. Missing PAC URL."; |
@@ -487,12 +490,13 @@ base::DictionaryValue* CreatePacScriptDict( |
} |
pac_script_dict->SetBoolean(keys::kProxyConfigPacScriptMandatory, |
pac_mandatory); |
- return pac_script_dict.release(); |
+ return pac_script_dict; |
} |
-base::ListValue* TokenizeToStringList(const std::string& in, |
- const std::string& delims) { |
- base::ListValue* out = new base::ListValue; |
+std::unique_ptr<base::ListValue> TokenizeToStringList( |
+ const std::string& in, |
+ const std::string& delims) { |
+ auto out = base::MakeUnique<base::ListValue>(); |
base::StringTokenizer entries(in, delims); |
while (entries.GetNext()) |
out->AppendString(entries.token()); |