Index: net/http/http_stream_factory_impl_job.cc |
diff --git a/net/http/http_stream_factory_impl_job.cc b/net/http/http_stream_factory_impl_job.cc |
index 54e837914b04d3ac0c4622cb89b11a1902b39a1b..d4a1727ad530a5947a1ae60b80932445eb4df0c1 100644 |
--- a/net/http/http_stream_factory_impl_job.cc |
+++ b/net/http/http_stream_factory_impl_job.cc |
@@ -628,7 +628,6 @@ int HttpStreamFactoryImpl::Job::DoStart() { |
// https://<alternative host>:<alternative port>/... |
// so the proxy resolution works with the actual destination, and so |
// that the correct socket pool is used. |
- // TODO(rch): change the socket pool API to not require a full URL. |
if (alternative_service_.protocol >= NPN_SPDY_MINIMUM_VERSION && |
alternative_service_.protocol <= NPN_SPDY_MAXIMUM_VERSION) { |
// TODO(rch): Figure out how to make QUIC iteract with PAC |
@@ -870,7 +869,7 @@ int HttpStreamFactoryImpl::Job::DoInitConnection() { |
if (IsPreconnecting()) { |
DCHECK(!stream_factory_->for_websockets_); |
return PreconnectSocketsForHttpRequest( |
- alternative_service_url_, request_info_.extra_headers, |
+ GetSocketGroup(), server_, request_info_.extra_headers, |
request_info_.load_flags, priority_, session_, proxy_info_, |
ShouldForceSpdySSL(), want_spdy_over_npn, server_ssl_config_, |
proxy_ssl_config_, request_info_.privacy_mode, net_log_, num_streams_); |
@@ -887,15 +886,15 @@ int HttpStreamFactoryImpl::Job::DoInitConnection() { |
SSLConfig websocket_server_ssl_config = server_ssl_config_; |
websocket_server_ssl_config.next_protos.clear(); |
return InitSocketHandleForWebSocketRequest( |
- origin_url_, request_info_.extra_headers, request_info_.load_flags, |
- priority_, session_, proxy_info_, ShouldForceSpdySSL(), |
- want_spdy_over_npn, websocket_server_ssl_config, proxy_ssl_config_, |
- request_info_.privacy_mode, net_log_, |
+ GetSocketGroup(), server_, request_info_.extra_headers, |
+ request_info_.load_flags, priority_, session_, proxy_info_, |
+ ShouldForceSpdySSL(), want_spdy_over_npn, websocket_server_ssl_config, |
+ proxy_ssl_config_, request_info_.privacy_mode, net_log_, |
connection_.get(), resolution_callback, io_callback_); |
} |
return InitSocketHandleForHttpRequest( |
- alternative_service_url_, request_info_.extra_headers, |
+ GetSocketGroup(), server_, request_info_.extra_headers, |
request_info_.load_flags, priority_, session_, proxy_info_, |
ShouldForceSpdySSL(), want_spdy_over_npn, server_ssl_config_, |
proxy_ssl_config_, request_info_.privacy_mode, net_log_, |
@@ -1490,4 +1489,13 @@ void HttpStreamFactoryImpl::Job::MaybeMarkAlternativeServiceBroken() { |
} |
} |
+ClientSocketPoolManager::SocketGroupType |
+HttpStreamFactoryImpl::Job::GetSocketGroup() const { |
+ if (ShouldForceSpdySSL()) |
+ return ClientSocketPoolManager::SSL_GROUP; |
+ |
+ return ClientSocketPoolManager::GroupTypeFromScheme( |
+ alternative_service_url_.scheme()); |
+} |
+ |
} // namespace net |