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

Side by Side Diff: net/http/http_network_session.cc

Issue 2521573006: Server push cancellation: change the ownership of ServerPushDelegate to HttpNetworkSession. (Closed)
Patch Set: rebase Created 4 years 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "net/http/http_network_session.h" 5 #include "net/http/http_network_session.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/atomic_sequence_num.h" 9 #include "base/atomic_sequence_num.h"
10 #include "base/compiler_specific.h" 10 #include "base/compiler_specific.h"
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
139 HttpNetworkSession::Params::~Params() {} 139 HttpNetworkSession::Params::~Params() {}
140 140
141 // TODO(mbelshe): Move the socket factories into HttpStreamFactory. 141 // TODO(mbelshe): Move the socket factories into HttpStreamFactory.
142 HttpNetworkSession::HttpNetworkSession(const Params& params) 142 HttpNetworkSession::HttpNetworkSession(const Params& params)
143 : net_log_(params.net_log), 143 : net_log_(params.net_log),
144 http_server_properties_(params.http_server_properties), 144 http_server_properties_(params.http_server_properties),
145 cert_verifier_(params.cert_verifier), 145 cert_verifier_(params.cert_verifier),
146 http_auth_handler_factory_(params.http_auth_handler_factory), 146 http_auth_handler_factory_(params.http_auth_handler_factory),
147 proxy_service_(params.proxy_service), 147 proxy_service_(params.proxy_service),
148 ssl_config_service_(params.ssl_config_service), 148 ssl_config_service_(params.ssl_config_service),
149 push_delegate_(nullptr),
149 quic_stream_factory_( 150 quic_stream_factory_(
150 params.net_log, 151 params.net_log,
151 params.host_resolver, 152 params.host_resolver,
152 params.ssl_config_service, 153 params.ssl_config_service,
153 params.client_socket_factory 154 params.client_socket_factory
154 ? params.client_socket_factory 155 ? params.client_socket_factory
155 : ClientSocketFactory::GetDefaultFactory(), 156 : ClientSocketFactory::GetDefaultFactory(),
156 params.http_server_properties, 157 params.http_server_properties,
157 params.proxy_delegate, 158 params.proxy_delegate,
158 params.cert_verifier, 159 params.cert_verifier,
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after
356 return true; 357 return true;
357 case kProtoHTTP2: 358 case kProtoHTTP2:
358 return params_.enable_http2; 359 return params_.enable_http2;
359 case kProtoQUIC: 360 case kProtoQUIC:
360 return params_.enable_quic; 361 return params_.enable_quic;
361 } 362 }
362 NOTREACHED(); 363 NOTREACHED();
363 return false; 364 return false;
364 } 365 }
365 366
367 void HttpNetworkSession::SetServerPushDelegate(
368 std::unique_ptr<ServerPushDelegate> push_delegate) {
369 DCHECK(!push_delegate_ && push_delegate);
370
371 push_delegate_ = std::move(push_delegate);
372 spdy_session_pool_.set_server_push_delegate(push_delegate_.get());
373 quic_stream_factory_.set_server_push_delegate(push_delegate_.get());
374 }
375
366 void HttpNetworkSession::GetAlpnProtos(NextProtoVector* alpn_protos) const { 376 void HttpNetworkSession::GetAlpnProtos(NextProtoVector* alpn_protos) const {
367 *alpn_protos = next_protos_; 377 *alpn_protos = next_protos_;
368 } 378 }
369 379
370 void HttpNetworkSession::GetSSLConfig(const HttpRequestInfo& request, 380 void HttpNetworkSession::GetSSLConfig(const HttpRequestInfo& request,
371 SSLConfig* server_config, 381 SSLConfig* server_config,
372 SSLConfig* proxy_config) const { 382 SSLConfig* proxy_config) const {
373 ssl_config_service_->GetSSLConfig(server_config); 383 ssl_config_service_->GetSSLConfig(server_config);
374 GetAlpnProtos(&server_config->alpn_protos); 384 GetAlpnProtos(&server_config->alpn_protos);
375 *proxy_config = *server_config; 385 *proxy_config = *server_config;
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
443 break; 453 break;
444 case base::MemoryState::SUSPENDED: 454 case base::MemoryState::SUSPENDED:
445 // Note: Not supported at present. Fall through. 455 // Note: Not supported at present. Fall through.
446 case base::MemoryState::UNKNOWN: 456 case base::MemoryState::UNKNOWN:
447 NOTREACHED(); 457 NOTREACHED();
448 break; 458 break;
449 } 459 }
450 } 460 }
451 461
452 } // namespace net 462 } // namespace net
OLDNEW
« no previous file with comments | « net/http/http_network_session.h ('k') | net/quic/chromium/bidirectional_stream_quic_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698