Index: chrome/browser/chromeos/proxy_cros_settings_parser.cc |
diff --git a/chrome/browser/chromeos/proxy_cros_settings_parser.cc b/chrome/browser/chromeos/proxy_cros_settings_parser.cc |
index c1726f7b11d09eb27627b5bd4b3dba2038372d6b..a4a034ba4e37db9af6bd6c68313e41963c06ead0 100644 |
--- a/chrome/browser/chromeos/proxy_cros_settings_parser.cc |
+++ b/chrome/browser/chromeos/proxy_cros_settings_parser.cc |
@@ -7,6 +7,8 @@ |
#include "base/string_util.h" |
#include "base/values.h" |
#include "chrome/browser/chromeos/proxy_config_service_impl.h" |
+#include "chrome/browser/chromeos/ui_proxy_config.h" |
+#include "chrome/browser/chromeos/ui_proxy_config_service.h" |
#include "chrome/browser/profiles/profile.h" |
namespace chromeos { |
@@ -55,15 +57,13 @@ const size_t kProxySettingsCount = arraysize(kProxySettings); |
namespace { |
-base::Value* CreateServerHostValue( |
- const ProxyConfigServiceImpl::ProxyConfig::ManualProxy& proxy) { |
+base::Value* CreateServerHostValue(const UIProxyConfig::ManualProxy& proxy) { |
return proxy.server.is_valid() ? |
new base::StringValue(proxy.server.host_port_pair().host()) : |
NULL; |
} |
-base::Value* CreateServerPortValue( |
- const ProxyConfigServiceImpl::ProxyConfig::ManualProxy& proxy) { |
+base::Value* CreateServerPortValue(const UIProxyConfig::ManualProxy& proxy) { |
return proxy.server.is_valid() ? |
base::Value::CreateIntegerValue(proxy.server.host_port_pair().port()) : |
NULL; |
@@ -91,7 +91,7 @@ net::ProxyServer CreateProxyServer(std::string host, |
net::ProxyServer CreateProxyServerFromHost( |
const std::string& host, |
- const ProxyConfigServiceImpl::ProxyConfig::ManualProxy& proxy, |
+ const UIProxyConfig::ManualProxy& proxy, |
net::ProxyServer::Scheme scheme) { |
uint16 port = 0; |
if (proxy.server.is_valid()) |
@@ -101,7 +101,7 @@ net::ProxyServer CreateProxyServerFromHost( |
net::ProxyServer CreateProxyServerFromPort( |
uint16 port, |
- const ProxyConfigServiceImpl::ProxyConfig::ManualProxy& proxy, |
+ const UIProxyConfig::ManualProxy& proxy, |
net::ProxyServer::Scheme scheme) { |
std::string host; |
if (proxy.server.is_valid()) |
@@ -125,59 +125,59 @@ void SetProxyPrefValue(Profile* profile, |
return; |
} |
- chromeos::ProxyConfigServiceImpl* config_service = |
- profile->GetProxyConfigTracker(); |
+ UIProxyConfigService* config_service = |
+ &profile->GetProxyConfigTracker()->GetUIService(); |
// Retrieve proxy config. |
- chromeos::ProxyConfigServiceImpl::ProxyConfig config; |
- config_service->UIGetProxyConfig(&config); |
+ UIProxyConfig config; |
+ config_service->GetProxyConfig(&config); |
if (path == kProxyPacUrl) { |
std::string val; |
if (in_value->GetAsString(&val)) { |
GURL url(val); |
if (url.is_valid()) |
- config_service->UISetProxyConfigToPACScript(url); |
+ config.SetPacUrl(url); |
else |
- config_service->UISetProxyConfigToAutoDetect(); |
+ config.mode = UIProxyConfig::MODE_AUTO_DETECT; |
} |
} else if (path == kProxySingleHttp) { |
std::string val; |
if (in_value->GetAsString(&val)) { |
- config_service->UISetProxyConfigToSingleProxy(CreateProxyServerFromHost( |
+ config.SetSingleProxy(CreateProxyServerFromHost( |
val, config.single_proxy, net::ProxyServer::SCHEME_HTTP)); |
} |
} else if (path == kProxySingleHttpPort) { |
int val; |
if (in_value->GetAsInteger(&val)) { |
- config_service->UISetProxyConfigToSingleProxy(CreateProxyServerFromPort( |
+ config.SetSingleProxy(CreateProxyServerFromPort( |
val, config.single_proxy, net::ProxyServer::SCHEME_HTTP)); |
} |
} else if (path == kProxyHttpUrl) { |
std::string val; |
if (in_value->GetAsString(&val)) { |
- config_service->UISetProxyConfigToProxyPerScheme("http", |
- CreateProxyServerFromHost( |
+ config.SetProxyForScheme( |
+ "http", CreateProxyServerFromHost( |
val, config.http_proxy, net::ProxyServer::SCHEME_HTTP)); |
} |
} else if (path == kProxyHttpPort) { |
int val; |
if (in_value->GetAsInteger(&val)) { |
- config_service->UISetProxyConfigToProxyPerScheme("http", |
- CreateProxyServerFromPort( |
+ config.SetProxyForScheme( |
+ "http", CreateProxyServerFromPort( |
val, config.http_proxy, net::ProxyServer::SCHEME_HTTP)); |
} |
} else if (path == kProxyHttpsUrl) { |
std::string val; |
if (in_value->GetAsString(&val)) { |
- config_service->UISetProxyConfigToProxyPerScheme("https", |
- CreateProxyServerFromHost( |
+ config.SetProxyForScheme( |
+ "https", CreateProxyServerFromHost( |
val, config.https_proxy, net::ProxyServer::SCHEME_HTTP)); |
} |
} else if (path == kProxyHttpsPort) { |
int val; |
if (in_value->GetAsInteger(&val)) { |
- config_service->UISetProxyConfigToProxyPerScheme("https", |
- CreateProxyServerFromPort( |
+ config.SetProxyForScheme( |
+ "https", CreateProxyServerFromPort( |
val, config.https_proxy, net::ProxyServer::SCHEME_HTTP)); |
} |
} else if (path == kProxyType) { |
@@ -185,97 +185,89 @@ void SetProxyPrefValue(Profile* profile, |
if (in_value->GetAsInteger(&val)) { |
if (val == 3) { |
if (config.automatic_proxy.pac_url.is_valid()) |
- config_service->UISetProxyConfigToPACScript( |
- config.automatic_proxy.pac_url); |
+ config.SetPacUrl(config.automatic_proxy.pac_url); |
else |
- config_service->UISetProxyConfigToAutoDetect(); |
+ config.mode = UIProxyConfig::MODE_AUTO_DETECT; |
} else if (val == 2) { |
if (config.single_proxy.server.is_valid()) { |
- config_service->UISetProxyConfigToSingleProxy( |
- config.single_proxy.server); |
+ config.SetSingleProxy(config.single_proxy.server); |
} else { |
bool set_config = false; |
if (config.http_proxy.server.is_valid()) { |
- config_service->UISetProxyConfigToProxyPerScheme("http", |
- config.http_proxy.server); |
+ config.SetProxyForScheme("http", config.http_proxy.server); |
set_config = true; |
} |
if (config.https_proxy.server.is_valid()) { |
- config_service->UISetProxyConfigToProxyPerScheme("https", |
- config.https_proxy.server); |
+ config.SetProxyForScheme("https", config.https_proxy.server); |
set_config = true; |
} |
if (config.ftp_proxy.server.is_valid()) { |
- config_service->UISetProxyConfigToProxyPerScheme("ftp", |
- config.ftp_proxy.server); |
+ config.SetProxyForScheme("ftp", config.ftp_proxy.server); |
set_config = true; |
} |
if (config.socks_proxy.server.is_valid()) { |
- config_service->UISetProxyConfigToProxyPerScheme("socks", |
- config.socks_proxy.server); |
+ config.SetProxyForScheme("socks", config.socks_proxy.server); |
set_config = true; |
} |
- if (!set_config) { |
- config_service->UISetProxyConfigToProxyPerScheme("http", |
- net::ProxyServer()); |
- } |
+ if (!set_config) |
+ config.SetProxyForScheme("http", net::ProxyServer()); |
} |
} else { |
- config_service->UISetProxyConfigToDirect(); |
+ config.mode = UIProxyConfig::MODE_DIRECT; |
} |
} |
} else if (path == kProxySingle) { |
bool val; |
if (in_value->GetAsBoolean(&val)) { |
if (val) |
- config_service->UISetProxyConfigToSingleProxy( |
- config.single_proxy.server); |
+ config.SetSingleProxy(config.single_proxy.server); |
else |
- config_service->UISetProxyConfigToProxyPerScheme("http", |
- config.http_proxy.server); |
+ config.SetProxyForScheme("http", config.http_proxy.server); |
} |
} else if (path == kProxyUsePacUrl) { |
bool use_pac_url; |
if (in_value->GetAsBoolean(&use_pac_url)) { |
- if (use_pac_url && config.automatic_proxy.pac_url.is_valid()) { |
- config_service->UISetProxyConfigToPACScript( |
- config.automatic_proxy.pac_url); |
- } else { |
- config_service->UISetProxyConfigToAutoDetect(); |
- } |
+ if (use_pac_url && config.automatic_proxy.pac_url.is_valid()) |
+ config.SetPacUrl(config.automatic_proxy.pac_url); |
+ else |
+ config.mode = UIProxyConfig::MODE_AUTO_DETECT; |
} |
} else if (path == kProxyFtpUrl) { |
std::string val; |
if (in_value->GetAsString(&val)) { |
- config_service->UISetProxyConfigToProxyPerScheme("ftp", |
- CreateProxyServerFromHost( |
+ config.SetProxyForScheme( |
+ "ftp", CreateProxyServerFromHost( |
val, config.ftp_proxy, net::ProxyServer::SCHEME_HTTP)); |
} |
} else if (path == kProxyFtpPort) { |
int val; |
if (in_value->GetAsInteger(&val)) { |
- config_service->UISetProxyConfigToProxyPerScheme("ftp", |
- CreateProxyServerFromPort( |
+ config.SetProxyForScheme( |
+ "ftp", CreateProxyServerFromPort( |
val, config.ftp_proxy, net::ProxyServer::SCHEME_HTTP)); |
} |
} else if (path == kProxySocks) { |
std::string val; |
if (in_value->GetAsString(&val)) { |
- config_service->UISetProxyConfigToProxyPerScheme("socks", |
- CreateProxyServerFromHost(val, config.socks_proxy, |
- StartsWithASCII(val, "socks5://", false) ? |
- net::ProxyServer::SCHEME_SOCKS5 : |
- net::ProxyServer::SCHEME_SOCKS4)); |
+ config.SetProxyForScheme( |
+ "socks", CreateProxyServerFromHost( |
+ val, |
+ config.socks_proxy, |
+ StartsWithASCII(val, "socks5://", false) ? |
+ net::ProxyServer::SCHEME_SOCKS5 : |
+ net::ProxyServer::SCHEME_SOCKS4)); |
} |
} else if (path == kProxySocksPort) { |
int val; |
if (in_value->GetAsInteger(&val)) { |
std::string host = config.socks_proxy.server.host_port_pair().host(); |
- config_service->UISetProxyConfigToProxyPerScheme("socks", |
- CreateProxyServerFromPort(val, config.socks_proxy, |
- StartsWithASCII(host, "socks5://", false) ? |
- net::ProxyServer::SCHEME_SOCKS5 : |
- net::ProxyServer::SCHEME_SOCKS4)); |
+ config.SetProxyForScheme( |
+ "socks", CreateProxyServerFromPort( |
+ val, |
+ config.socks_proxy, |
+ StartsWithASCII(host, "socks5://", false) ? |
+ net::ProxyServer::SCHEME_SOCKS5 : |
+ net::ProxyServer::SCHEME_SOCKS4)); |
} |
} else if (path == kProxyIgnoreList) { |
net::ProxyBypassRules bypass_rules; |
@@ -283,13 +275,17 @@ void SetProxyPrefValue(Profile* profile, |
const ListValue* list_value = static_cast<const ListValue*>(in_value); |
for (size_t x = 0; x < list_value->GetSize(); x++) { |
std::string val; |
- if (list_value->GetString(x, &val)) { |
+ if (list_value->GetString(x, &val)) |
bypass_rules.AddRuleFromString(val); |
- } |
} |
- config_service->UISetProxyConfigBypassRules(bypass_rules); |
+ config.SetBypassRules(bypass_rules); |
} |
+ } else { |
+ LOG(WARNING) << "Unknown proxy settings path " << path; |
+ return; |
} |
+ |
+ config_service->SetProxyConfig(config); |
} |
bool GetProxyPrefValue(Profile* profile, |
@@ -297,15 +293,14 @@ bool GetProxyPrefValue(Profile* profile, |
base::Value** out_value) { |
std::string controlled_by; |
base::Value* data = NULL; |
- chromeos::ProxyConfigServiceImpl* config_service = |
- profile->GetProxyConfigTracker(); |
- chromeos::ProxyConfigServiceImpl::ProxyConfig config; |
- config_service->UIGetProxyConfig(&config); |
+ UIProxyConfigService& config_service = |
+ profile->GetProxyConfigTracker()->GetUIService(); |
+ UIProxyConfig config; |
+ config_service.GetProxyConfig(&config); |
if (path == kProxyPacUrl) { |
// Only show pacurl for pac-script mode. |
- if (config.mode == |
- chromeos::ProxyConfigServiceImpl::ProxyConfig::MODE_PAC_SCRIPT && |
+ if (config.mode == UIProxyConfig::MODE_PAC_SCRIPT && |
config.automatic_proxy.pac_url.is_valid()) { |
data = new base::StringValue(config.automatic_proxy.pac_url.spec()); |
} |
@@ -318,15 +313,11 @@ bool GetProxyPrefValue(Profile* profile, |
} else if (path == kProxyHttpsUrl) { |
data = CreateServerHostValue(config.https_proxy); |
} else if (path == kProxyType) { |
- if (config.mode == |
- chromeos::ProxyConfigServiceImpl::ProxyConfig::MODE_AUTO_DETECT || |
- config.mode == |
- chromeos::ProxyConfigServiceImpl::ProxyConfig::MODE_PAC_SCRIPT) { |
+ if (config.mode == UIProxyConfig::MODE_AUTO_DETECT || |
+ config.mode == UIProxyConfig::MODE_PAC_SCRIPT) { |
data = base::Value::CreateIntegerValue(3); |
- } else if (config.mode == |
- chromeos::ProxyConfigServiceImpl::ProxyConfig::MODE_SINGLE_PROXY || |
- config.mode == |
- chromeos::ProxyConfigServiceImpl::ProxyConfig::MODE_PROXY_PER_SCHEME) { |
+ } else if (config.mode == UIProxyConfig::MODE_SINGLE_PROXY || |
+ config.mode == UIProxyConfig::MODE_PROXY_PER_SCHEME) { |
data = base::Value::CreateIntegerValue(2); |
} else { |
data = base::Value::CreateIntegerValue(1); |
@@ -347,11 +338,11 @@ bool GetProxyPrefValue(Profile* profile, |
break; |
} |
} else if (path == kProxySingle) { |
- data = base::Value::CreateBooleanValue(config.mode == |
- chromeos::ProxyConfigServiceImpl::ProxyConfig::MODE_SINGLE_PROXY); |
+ data = base::Value::CreateBooleanValue( |
+ config.mode == UIProxyConfig::MODE_SINGLE_PROXY); |
} else if (path == kProxyUsePacUrl) { |
- data = base::Value::CreateBooleanValue(config.mode == |
- chromeos::ProxyConfigServiceImpl::ProxyConfig::MODE_PAC_SCRIPT); |
+ data = base::Value::CreateBooleanValue( |
+ config.mode == UIProxyConfig::MODE_PAC_SCRIPT); |
} else if (path == kProxyFtpUrl) { |
data = CreateServerHostValue(config.ftp_proxy); |
} else if (path == kProxySocks) { |
@@ -367,9 +358,8 @@ bool GetProxyPrefValue(Profile* profile, |
} else if (path == kProxyIgnoreList) { |
ListValue* list = new ListValue(); |
net::ProxyBypassRules::RuleList bypass_rules = config.bypass_rules.rules(); |
- for (size_t x = 0; x < bypass_rules.size(); x++) { |
+ for (size_t x = 0; x < bypass_rules.size(); x++) |
list->Append(new base::StringValue(bypass_rules[x]->ToString())); |
- } |
data = list; |
} else { |
*out_value = NULL; |