diff options
author | arindam@chromium.org <arindam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-14 05:23:30 +0000 |
---|---|---|
committer | arindam@chromium.org <arindam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-14 05:23:30 +0000 |
commit | 87a102b1bd6d2e450f10ed0931c09ffcfef9a51c (patch) | |
tree | 6877259bfdf9ec82c9952a1f66d9d450c037f331 /net/proxy/proxy_config_service_common_unittest.cc | |
parent | 565243e032009b7022b49c085b1157c3fb4986d4 (diff) | |
download | chromium_src-87a102b1bd6d2e450f10ed0931c09ffcfef9a51c.zip chromium_src-87a102b1bd6d2e450f10ed0931c09ffcfef9a51c.tar.gz chromium_src-87a102b1bd6d2e450f10ed0931c09ffcfef9a51c.tar.bz2 |
Whenever proxy configurations contain socks and http/https/ftp proxies, socks configuration over rid the other proxies. Fixes the issue. Attached test cases.
BUG=15738
TEST=unittest (ProxyConfigTest.ParseProxyRules, ProxyServiceTest.DefaultProxyFallbackToSOCKS)
Review URL: http://codereview.chromium.org/149191
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20605 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/proxy/proxy_config_service_common_unittest.cc')
-rw-r--r-- | net/proxy/proxy_config_service_common_unittest.cc | 29 |
1 files changed, 22 insertions, 7 deletions
diff --git a/net/proxy/proxy_config_service_common_unittest.cc b/net/proxy/proxy_config_service_common_unittest.cc index 06f1c6a..1a61468 100644 --- a/net/proxy/proxy_config_service_common_unittest.cc +++ b/net/proxy/proxy_config_service_common_unittest.cc @@ -16,19 +16,26 @@ ProxyConfig::ProxyRules MakeProxyRules( const char* single_proxy, const char* proxy_for_http, const char* proxy_for_https, - const char* proxy_for_ftp) { + const char* proxy_for_ftp, + const char* socks_proxy) { ProxyConfig::ProxyRules rules; rules.type = type; - rules.single_proxy = ProxyServer::FromURI(single_proxy); - rules.proxy_for_http = ProxyServer::FromURI(proxy_for_http); - rules.proxy_for_https = ProxyServer::FromURI(proxy_for_https); - rules.proxy_for_ftp = ProxyServer::FromURI(proxy_for_ftp); + rules.single_proxy = ProxyServer::FromURI(single_proxy, + ProxyServer::SCHEME_HTTP); + rules.proxy_for_http = ProxyServer::FromURI(proxy_for_http, + ProxyServer::SCHEME_HTTP); + rules.proxy_for_https = ProxyServer::FromURI(proxy_for_https, + ProxyServer::SCHEME_HTTP); + rules.proxy_for_ftp = ProxyServer::FromURI(proxy_for_ftp, + ProxyServer::SCHEME_HTTP); + rules.socks_proxy = ProxyServer::FromURI(socks_proxy, + ProxyServer::SCHEME_SOCKS4); return rules; } ProxyConfig::ProxyRules MakeSingleProxyRules(const char* single_proxy) { return MakeProxyRules(ProxyConfig::ProxyRules::TYPE_SINGLE_PROXY, - single_proxy, "", "", ""); + single_proxy, "", "", "", ""); } ProxyConfig::ProxyRules MakeProxyPerSchemeRules( @@ -36,7 +43,15 @@ ProxyConfig::ProxyRules MakeProxyPerSchemeRules( const char* proxy_https, const char* proxy_ftp) { return MakeProxyRules(ProxyConfig::ProxyRules::TYPE_PROXY_PER_SCHEME, - "", proxy_http, proxy_https, proxy_ftp); + "", proxy_http, proxy_https, proxy_ftp, ""); +} +ProxyConfig::ProxyRules MakeProxyPerSchemeRules( + const char* proxy_http, + const char* proxy_https, + const char* proxy_ftp, + const char* socks_proxy) { + return MakeProxyRules(ProxyConfig::ProxyRules::TYPE_PROXY_PER_SCHEME, + "", proxy_http, proxy_https, proxy_ftp, socks_proxy); } std::string FlattenProxyBypass(const BypassList& proxy_bypass) { |