| 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 11e45fd2e665abf996652412096408c67e55ec4e..e88ff2f2c267fba44704a77da8f46a1dbfcf6036 100644
|
| --- a/chrome/browser/extensions/api/proxy/proxy_api_helpers.cc
|
| +++ b/chrome/browser/extensions/api/proxy/proxy_api_helpers.cc
|
| @@ -377,28 +377,31 @@ DictionaryValue* CreateProxyRulesDict(
|
| case net::ProxyConfig::ProxyRules::TYPE_NO_RULES:
|
| return NULL;
|
| case net::ProxyConfig::ProxyRules::TYPE_SINGLE_PROXY:
|
| - if (rules.single_proxy.is_valid()) {
|
| + if (!rules.single_proxies.IsEmpty()) {
|
| extension_proxy_rules->Set(keys::field_name[keys::SCHEME_ALL],
|
| - CreateProxyServerDict(rules.single_proxy));
|
| + CreateProxyServerDict(rules.single_proxies));
|
| }
|
| break;
|
| case net::ProxyConfig::ProxyRules::TYPE_PROXY_PER_SCHEME:
|
| - if (rules.proxy_for_http.is_valid()) {
|
| - extension_proxy_rules->Set(keys::field_name[keys::SCHEME_HTTP],
|
| - CreateProxyServerDict(rules.proxy_for_http));
|
| + if (!rules.proxies_for_http.IsEmpty()) {
|
| + extension_proxy_rules->Set(
|
| + keys::field_name[keys::SCHEME_HTTP],
|
| + CreateProxyServerDict(rules.proxies_for_http));
|
| }
|
| - if (rules.proxy_for_https.is_valid()) {
|
| + if (!rules.proxies_for_https.IsEmpty()) {
|
| extension_proxy_rules->Set(
|
| keys::field_name[keys::SCHEME_HTTPS],
|
| - CreateProxyServerDict(rules.proxy_for_https));
|
| + CreateProxyServerDict(rules.proxies_for_https));
|
| }
|
| - if (rules.proxy_for_ftp.is_valid()) {
|
| - extension_proxy_rules->Set(keys::field_name[keys::SCHEME_FTP],
|
| - CreateProxyServerDict(rules.proxy_for_ftp));
|
| + if (!rules.proxies_for_ftp.IsEmpty()) {
|
| + extension_proxy_rules->Set(
|
| + keys::field_name[keys::SCHEME_FTP],
|
| + CreateProxyServerDict(rules.proxies_for_ftp));
|
| }
|
| - if (rules.fallback_proxy.is_valid()) {
|
| - extension_proxy_rules->Set(keys::field_name[keys::SCHEME_FALLBACK],
|
| - CreateProxyServerDict(rules.fallback_proxy));
|
| + if (!rules.fallback_proxies.IsEmpty()) {
|
| + extension_proxy_rules->Set(
|
| + keys::field_name[keys::SCHEME_FALLBACK],
|
| + CreateProxyServerDict(rules.fallback_proxies));
|
| }
|
| break;
|
| }
|
| @@ -420,7 +423,9 @@ DictionaryValue* CreateProxyRulesDict(
|
| return extension_proxy_rules.release();
|
| }
|
|
|
| -DictionaryValue* CreateProxyServerDict(const net::ProxyServer& proxy) {
|
| +DictionaryValue* CreateProxyServerDict(const net::ProxyList& proxies) {
|
| + CHECK(proxies.size() == 1);
|
| + net::ProxyServer proxy = proxies.Get();
|
| scoped_ptr<DictionaryValue> out(new DictionaryValue);
|
| switch (proxy.scheme()) {
|
| case net::ProxyServer::SCHEME_HTTP:
|
|
|