Index: net/proxy/proxy_config.cc |
diff --git a/net/proxy/proxy_config.cc b/net/proxy/proxy_config.cc |
index 86c5284d837429b03e201b76b948c172f6ec1c40..94161a2e24fb7893749995d9f6a3b277df1e9f44 100644 |
--- a/net/proxy/proxy_config.cc |
+++ b/net/proxy/proxy_config.cc |
@@ -170,9 +170,21 @@ ProxyList* ProxyConfig::ProxyRules::MapUrlSchemeToProxyListNoFallback( |
return &proxies_for_https; |
if (scheme == "ftp") |
return &proxies_for_ftp; |
+ if (scheme == "ws" || scheme == "wss") |
+ return GetProxyListForWebSocketScheme(); |
return NULL; // No mapping for this scheme. |
} |
+ProxyList* ProxyConfig::ProxyRules::GetProxyListForWebSocketScheme() { |
+ if (!fallback_proxies.IsEmpty()) |
+ return &fallback_proxies; |
+ if (!proxies_for_https.IsEmpty()) |
+ return &proxies_for_https; |
+ if (!proxies_for_http.IsEmpty()) |
+ return &proxies_for_http; |
+ return NULL; |
+} |
+ |
ProxyConfig::ProxyConfig() |
: auto_detect_(false), pac_mandatory_(false), |
source_(PROXY_CONFIG_SOURCE_UNKNOWN), id_(kInvalidConfigID) { |