Index: net/socket/client_socket_pool_manager.cc |
diff --git a/net/socket/client_socket_pool_manager.cc b/net/socket/client_socket_pool_manager.cc |
index a7bf1fe5b753bc7796b1019c7260649f06a6bc06..964c01a610513498915085a1f78495deefe6be9d 100644 |
--- a/net/socket/client_socket_pool_manager.cc |
+++ b/net/socket/client_socket_pool_manager.cc |
@@ -84,7 +84,6 @@ int InitSocketPoolHelper(const GURL& request_url, |
HttpNetworkSession::SocketPoolType socket_pool_type, |
const OnHostResolutionCallback& resolution_callback, |
const CompletionCallback& callback) { |
- scoped_refptr<TransportSocketParams> tcp_params; |
scoped_refptr<HttpProxySocketParams> http_proxy_params; |
scoped_refptr<SOCKSSocketParams> socks_params; |
scoped_ptr<HostPortPair> proxy_host_port; |
@@ -155,19 +154,15 @@ int InitSocketPoolHelper(const GURL& request_url, |
} |
bool ignore_limits = (request_load_flags & LOAD_IGNORE_LIMITS) != 0; |
- if (proxy_info.is_direct()) { |
- tcp_params = new TransportSocketParams(origin_host_port, |
- disable_resolver_cache, |
- ignore_limits, |
- resolution_callback); |
- } else { |
+ if (!proxy_info.is_direct()) { |
ProxyServer proxy_server = proxy_info.proxy_server(); |
proxy_host_port.reset(new HostPortPair(proxy_server.host_port_pair())); |
scoped_refptr<TransportSocketParams> proxy_tcp_params( |
new TransportSocketParams(*proxy_host_port, |
disable_resolver_cache, |
ignore_limits, |
- resolution_callback)); |
+ resolution_callback, |
+ AUTO_CONNECT_USE_DEFAULT)); |
if (proxy_info.is_http() || proxy_info.is_https()) { |
std::string user_agent; |
@@ -175,17 +170,25 @@ int InitSocketPoolHelper(const GURL& request_url, |
&user_agent); |
scoped_refptr<SSLSocketParams> ssl_params; |
if (proxy_info.is_https()) { |
- // Set ssl_params, and unset proxy_tcp_params |
- ssl_params = new SSLSocketParams(proxy_tcp_params, |
- NULL, |
- NULL, |
- *proxy_host_port.get(), |
- ssl_config_for_proxy, |
- PRIVACY_MODE_DISABLED, |
- load_flags, |
- force_spdy_over_ssl, |
- want_spdy_over_npn); |
- proxy_tcp_params = NULL; |
+ // TODO (jri): Enable a finch trial to use AUTO_CONNECT_ENABLED |
+ // for SSL sockets. |
+ proxy_tcp_params = |
+ new TransportSocketParams(*proxy_host_port, |
+ disable_resolver_cache, |
+ ignore_limits, |
+ resolution_callback, |
+ AUTO_CONNECT_USE_DEFAULT); |
+ // Set ssl_params, and unset proxy_tcp_params |
+ ssl_params = new SSLSocketParams(proxy_tcp_params, |
mmenke
2014/09/05 19:36:41
-2 indent
Jana
2014/09/05 20:38:56
Done.
|
+ NULL, |
+ NULL, |
+ *proxy_host_port.get(), |
+ ssl_config_for_proxy, |
+ PRIVACY_MODE_DISABLED, |
+ load_flags, |
+ force_spdy_over_ssl, |
+ want_spdy_over_npn); |
+ proxy_tcp_params = NULL; |
mmenke
2014/09/05 19:36:41
-2 indent
Jana
2014/09/05 20:38:56
Done.
|
} |
http_proxy_params = |
@@ -220,8 +223,19 @@ int InitSocketPoolHelper(const GURL& request_url, |
// Deal with SSL - which layers on top of any given proxy. |
if (using_ssl) { |
+ scoped_refptr<TransportSocketParams> ssl_tcp_params; |
+ if (proxy_info.is_direct()) { |
+ // Setup TCP params if non-proxied SSL connection. |
+ // TODO (jri): Enable a finch trial to use AUTO_CONNECT_ENABLED |
+ // for SSL sockets. |
mmenke
2014/09/05 19:36:41
Make sure to update your CL description to reflect
Jana
2014/09/05 20:38:56
Done.
|
+ ssl_tcp_params = new TransportSocketParams(origin_host_port, |
+ disable_resolver_cache, |
+ ignore_limits, |
+ resolution_callback, |
+ AUTO_CONNECT_USE_DEFAULT); |
+ } |
scoped_refptr<SSLSocketParams> ssl_params = |
- new SSLSocketParams(tcp_params, |
+ new SSLSocketParams(ssl_tcp_params, |
socks_params, |
http_proxy_params, |
origin_host_port, |
@@ -280,7 +294,12 @@ int InitSocketPoolHelper(const GURL& request_url, |
} |
DCHECK(proxy_info.is_direct()); |
- |
+ scoped_refptr<TransportSocketParams> tcp_params = |
+ new TransportSocketParams(origin_host_port, |
mmenke
2014/09/05 19:36:41
+2 indent.
Jana
2014/09/05 20:38:56
Done.
|
+ disable_resolver_cache, |
+ ignore_limits, |
+ resolution_callback, |
+ AUTO_CONNECT_USE_DEFAULT); |
TransportClientSocketPool* pool = |
session->GetTransportSocketPool(socket_pool_type); |
if (num_preconnect_streams) { |