Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(298)

Unified Diff: net/http/http_network_session.cc

Issue 2521573006: Server push cancellation: change the ownership of ServerPushDelegate to HttpNetworkSession. (Closed)
Patch Set: address comments Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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..310253a79dc9418a410db42c1e98c917a7d6ce2b 100644
--- a/net/http/http_network_session.cc
+++ b/net/http/http_network_session.cc
@@ -144,6 +144,7 @@ HttpNetworkSession::HttpNetworkSession(const Params& params)
http_auth_handler_factory_(params.http_auth_handler_factory),
proxy_service_(params.proxy_service),
ssl_config_service_(params.ssl_config_service),
+ push_delegate_(nullptr),
quic_stream_factory_(
params.net_log,
params.host_resolver,
@@ -364,6 +365,15 @@ bool HttpNetworkSession::IsProtocolEnabled(NextProto protocol) const {
return false;
}
+void HttpNetworkSession::SetServerPushDelegate(
+ std::unique_ptr<ServerPushDelegate> push_delegate) {
+ DCHECK(!push_delegate_ && push_delegate);
+
+ push_delegate_ = std::move(push_delegate);
+ spdy_session_pool_.set_server_push_delegate(push_delegate_.get());
+ quic_stream_factory_.set_server_push_delegate(push_delegate_.get());
+}
+
void HttpNetworkSession::GetAlpnProtos(NextProtoVector* alpn_protos) const {
*alpn_protos = next_protos_;
}

Powered by Google App Engine
This is Rietveld 408576698