Index: net/http/http_network_session.cc |
diff --git a/net/http/http_network_session.cc b/net/http/http_network_session.cc |
index 2936e12e5048e5b176db85fc7768bf0e4b7b697c..e36596daff20ff19ad8eb3edff65e65fd258e79f 100644 |
--- a/net/http/http_network_session.cc |
+++ b/net/http/http_network_session.cc |
@@ -87,6 +87,7 @@ HttpNetworkSession::Params::Params() |
testing_fixed_http_port(0), |
testing_fixed_https_port(0), |
enable_tcp_fast_open_for_ssl(false), |
+ shared_dynamic_params(NULL), |
enable_spdy_ping_based_connection_checking(true), |
enable_http2(true), |
spdy_session_max_recv_window_size(kSpdySessionMaxRecvWindowSize), |
@@ -136,6 +137,19 @@ HttpNetworkSession::Params::Params(const Params& other) = default; |
HttpNetworkSession::Params::~Params() {} |
+bool HttpNetworkSession::Params::is_enable_quic_for_new_streams() const { |
+ return enable_quic && (!shared_dynamic_params || |
+ shared_dynamic_params->enable_quic_for_new_streams); |
+} |
+ |
+HttpNetworkSession::SharedParams::SharedParams() |
+ : enable_quic_for_new_streams(true) {} |
+ |
+HttpNetworkSession::SharedParams::SharedParams(const SharedParams& other) = |
+ default; |
+ |
+HttpNetworkSession::SharedParams::~SharedParams() {} |
+ |
// TODO(mbelshe): Move the socket factories into HttpStreamFactory. |
HttpNetworkSession::HttpNetworkSession(const Params& params) |
: net_log_(params.net_log), |
@@ -291,6 +305,8 @@ std::unique_ptr<base::Value> HttpNetworkSession::QuicInfoToValue() const { |
std::unique_ptr<base::DictionaryValue> dict(new base::DictionaryValue()); |
dict->Set("sessions", quic_stream_factory_.QuicStreamFactoryInfoToValue()); |
dict->SetBoolean("quic_enabled", params_.enable_quic); |
+ dict->SetBoolean("quic_enabled_for_new_streams", |
+ params_.is_enable_quic_for_new_streams()); |
dict->SetBoolean("enable_quic_port_selection", |
params_.enable_quic_port_selection); |
std::unique_ptr<base::ListValue> connection_options(new base::ListValue); |
@@ -358,7 +374,7 @@ bool HttpNetworkSession::IsProtocolEnabled(NextProto protocol) const { |
case kProtoHTTP2: |
return params_.enable_http2; |
case kProtoQUIC: |
- return params_.enable_quic; |
+ return params_.is_enable_quic_for_new_streams(); |
} |
NOTREACHED(); |
return false; |