Index: net/http/http_stream_factory_impl.cc |
diff --git a/net/http/http_stream_factory_impl.cc b/net/http/http_stream_factory_impl.cc |
index 4d32ffcf207320ddfbf65bf5787c98d33770be37..f3ab8bcbc85cb0c4be204c41b2a5e31774e52a20 100644 |
--- a/net/http/http_stream_factory_impl.cc |
+++ b/net/http/http_stream_factory_impl.cc |
@@ -133,6 +133,12 @@ void HttpStreamFactoryImpl::PreconnectStreams( |
if (!alternative_service_vector.empty()) { |
// TODO(bnc): Pass on multiple alternative services to Job. |
alternative_service = alternative_service_vector[0]; |
+ if (session_->params().disable_preconnects && |
+ alternative_service.protocol == QUIC && |
+ session_->quic_stream_factory()->IsQuicDoingZeroRTT( |
+ alternative_service.host_port_pair(), request_info.privacy_mode)) { |
+ return; |
+ } |
} |
// Due to how the socket pools handle priorities and idle sockets, only IDLE |
@@ -211,9 +217,8 @@ AlternativeServiceVector HttpStreamFactoryImpl::GetAlternativeServicesFor( |
if (session_->quic_stream_factory()->IsQuicDisabled(origin.port())) |
continue; |
- if (!original_url.SchemeIs("https")) { |
+ if (!original_url.SchemeIs("https")) |
continue; |
- } |
enabled_alternative_service_vector.push_back(alternative_service); |
} |