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 235122d2e834ae363f77203bc88277c5ad2c96e5..b92247b62be8d8242bb275b71a76b1cc07ee1057 100644 |
--- a/net/http/http_stream_factory_impl.cc |
+++ b/net/http/http_stream_factory_impl.cc |
@@ -9,6 +9,7 @@ |
#include "base/logging.h" |
#include "base/stl_util.h" |
#include "base/strings/string_number_conversions.h" |
+#include "net/base/load_flags.h" |
#include "net/base/net_log.h" |
#include "net/base/net_util.h" |
#include "net/http/http_network_session.h" |
@@ -106,8 +107,8 @@ HttpStreamRequest* HttpStreamFactoryImpl::RequestStreamInternal( |
net_log); |
GURL alternate_url; |
- AlternateProtocolInfo alternate = |
- GetAlternateProtocolRequestFor(request_info.url, &alternate_url); |
+ AlternateProtocolInfo alternate = GetAlternateProtocolRequestFor( |
+ request_info.url, request_info.load_flags, &alternate_url); |
Job* alternate_job = NULL; |
if (alternate.protocol != UNINITIALIZED_ALTERNATE_PROTOCOL) { |
// Never share connection with other jobs for FTP requests. |
@@ -150,8 +151,8 @@ void HttpStreamFactoryImpl::PreconnectStreams( |
const SSLConfig& proxy_ssl_config) { |
DCHECK(!for_websockets_); |
GURL alternate_url; |
- AlternateProtocolInfo alternate = |
- GetAlternateProtocolRequestFor(request_info.url, &alternate_url); |
+ AlternateProtocolInfo alternate = GetAlternateProtocolRequestFor( |
+ request_info.url, request_info.load_flags, &alternate_url); |
Job* job = NULL; |
if (alternate.protocol != UNINITIALIZED_ALTERNATE_PROTOCOL) { |
HttpRequestInfo alternate_request_info = request_info; |
@@ -173,6 +174,7 @@ const HostMappingRules* HttpStreamFactoryImpl::GetHostMappingRules() const { |
AlternateProtocolInfo HttpStreamFactoryImpl::GetAlternateProtocolRequestFor( |
const GURL& original_url, |
+ int load_flags, |
GURL* alternate_url) { |
const AlternateProtocolInfo kNoAlternateProtocol; |
@@ -182,6 +184,9 @@ AlternateProtocolInfo HttpStreamFactoryImpl::GetAlternateProtocolRequestFor( |
if (original_url.SchemeIs("ftp")) |
return kNoAlternateProtocol; |
+ if (load_flags & LOAD_DISABLE_ALTERNATE_PROTOCOLS) |
+ return kNoAlternateProtocol; |
+ |
HostPortPair origin = HostPortPair::FromURL(original_url); |
HttpServerProperties& http_server_properties = |
*session_->http_server_properties(); |