summaryrefslogtreecommitdiffstats
path: root/net/http/http_network_session.cc
diff options
context:
space:
mode:
authorwillchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-28 16:28:44 +0000
committerwillchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-28 16:28:44 +0000
commit9b5e46cbcd9b292cb6e7ff59d61dde9426e3bed3 (patch)
tree480b5b99942f44386a469e9ccda0e288c5e576a5 /net/http/http_network_session.cc
parentc1f06d70cb2c39e48877cdef363d16dd6b8d5e64 (diff)
downloadchromium_src-9b5e46cbcd9b292cb6e7ff59d61dde9426e3bed3.zip
chromium_src-9b5e46cbcd9b292cb6e7ff59d61dde9426e3bed3.tar.gz
chromium_src-9b5e46cbcd9b292cb6e7ff59d61dde9426e3bed3.tar.bz2
Kill all HttpResponseBodyDrainers when HttpNetworkSession goes away.
BUG=none TEST=none Review URL: http://codereview.chromium.org/3388022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60798 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/http/http_network_session.cc')
-rw-r--r--net/http/http_network_session.cc13
1 files changed, 13 insertions, 0 deletions
diff --git a/net/http/http_network_session.cc b/net/http/http_network_session.cc
index 0065fd5..851956e 100644
--- a/net/http/http_network_session.cc
+++ b/net/http/http_network_session.cc
@@ -11,6 +11,7 @@
#include "base/string_util.h"
#include "base/values.h"
#include "net/http/http_auth_handler_factory.h"
+#include "net/http/http_response_body_drainer.h"
#include "net/http/url_security_manager.h"
#include "net/spdy/spdy_session_pool.h"
@@ -91,6 +92,18 @@ HttpNetworkSession::HttpNetworkSession(
}
HttpNetworkSession::~HttpNetworkSession() {
+ STLDeleteElements(&response_drainers_);
+}
+
+void HttpNetworkSession::AddResponseDrainer(HttpResponseBodyDrainer* drainer) {
+ DCHECK(!ContainsKey(response_drainers_, drainer));
+ response_drainers_.insert(drainer);
+}
+
+void HttpNetworkSession::RemoveResponseDrainer(
+ HttpResponseBodyDrainer* drainer) {
+ DCHECK(ContainsKey(response_drainers_, drainer));
+ response_drainers_.erase(drainer);
}
const scoped_refptr<HttpProxyClientSocketPool>&