| Index: net/http/http_network_session.cc
|
| diff --git a/net/http/http_network_session.cc b/net/http/http_network_session.cc
|
| index 4b7bcd3fe3c08033a21de65091c800b755d9087a..361156b3cf36df48009dde5ed554bb91007440ba 100644
|
| --- a/net/http/http_network_session.cc
|
| +++ b/net/http/http_network_session.cc
|
| @@ -105,6 +105,7 @@ HttpNetworkSession::Params::Params()
|
| : client_socket_factory(nullptr),
|
| host_resolver(nullptr),
|
| cert_verifier(nullptr),
|
| + enable_server_push_cancellation(false),
|
| channel_id_service(nullptr),
|
| transport_security_state(nullptr),
|
| cert_transparency_verifier(nullptr),
|
| @@ -396,7 +397,9 @@ bool HttpNetworkSession::IsProtocolEnabled(NextProto protocol) const {
|
|
|
| void HttpNetworkSession::SetServerPushDelegate(
|
| std::unique_ptr<ServerPushDelegate> push_delegate) {
|
| - DCHECK(!push_delegate_ && push_delegate);
|
| + DCHECK(push_delegate);
|
| + if (!params_.enable_server_push_cancellation || push_delegate_)
|
| + return;
|
|
|
| push_delegate_ = std::move(push_delegate);
|
| spdy_session_pool_.set_server_push_delegate(push_delegate_.get());
|
|
|