| 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());
|
|
|