summaryrefslogtreecommitdiffstats
path: root/net/http/http_network_layer.cc
diff options
context:
space:
mode:
authorwillchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-30 00:30:12 +0000
committerwillchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-30 00:30:12 +0000
commit13eae8ce32b768450bdda9af60bd791491a5fd82 (patch)
tree81dfd2b600b24ead8afe9547b909333f4252df79 /net/http/http_network_layer.cc
parent1e721f5632a5eddfba9730f367f18d0befe0463d (diff)
downloadchromium_src-13eae8ce32b768450bdda9af60bd791491a5fd82.zip
chromium_src-13eae8ce32b768450bdda9af60bd791491a5fd82.tar.gz
chromium_src-13eae8ce32b768450bdda9af60bd791491a5fd82.tar.bz2
Stop refcounting SpdySessionPool.
BUG=57343 TEST=none Review URL: http://codereview.chromium.org/3602001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61015 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/http/http_network_layer.cc')
-rw-r--r--net/http/http_network_layer.cc17
1 files changed, 12 insertions, 5 deletions
diff --git a/net/http/http_network_layer.cc b/net/http/http_network_layer.cc
index 65d2aa3..a883db2 100644
--- a/net/http/http_network_layer.cc
+++ b/net/http/http_network_layer.cc
@@ -94,7 +94,7 @@ HttpNetworkLayer::HttpNetworkLayer(HttpNetworkSession* session)
: socket_factory_(ClientSocketFactory::GetDefaultFactory()),
ssl_config_service_(NULL),
session_(session),
- spdy_session_pool_(session->spdy_session_pool()),
+ spdy_session_pool_(NULL),
http_auth_handler_factory_(NULL),
network_delegate_(NULL),
net_log_(NULL),
@@ -127,10 +127,17 @@ void HttpNetworkLayer::Suspend(bool suspend) {
HttpNetworkSession* HttpNetworkLayer::GetSession() {
if (!session_) {
DCHECK(proxy_service_);
- SpdySessionPool* spdy_pool = new SpdySessionPool(ssl_config_service_);
- session_ = new HttpNetworkSession(host_resolver_, proxy_service_,
- socket_factory_, ssl_config_service_, spdy_pool,
- http_auth_handler_factory_, network_delegate_, net_log_);
+ if (!spdy_session_pool_.get())
+ spdy_session_pool_.reset(new SpdySessionPool(ssl_config_service_));
+ session_ = new HttpNetworkSession(
+ host_resolver_,
+ proxy_service_,
+ socket_factory_,
+ ssl_config_service_,
+ spdy_session_pool_.release(),
+ http_auth_handler_factory_,
+ network_delegate_,
+ net_log_);
// These were just temps for lazy-initializing HttpNetworkSession.
host_resolver_ = NULL;
proxy_service_ = NULL;