diff options
author | mmenke@chromium.org <mmenke@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-10-17 08:56:07 +0000 |
---|---|---|
committer | mmenke@chromium.org <mmenke@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-10-17 08:56:07 +0000 |
commit | 3fe8d2f86756a06a49ceff42cc32879e5e63117e (patch) | |
tree | 9fc8cb4874ae07be21440cfed7351199c4591bc1 /net/http/http_network_transaction.cc | |
parent | f875264b6ec84b960efdb31c7509bce9c3819f27 (diff) | |
download | chromium_src-3fe8d2f86756a06a49ceff42cc32879e5e63117e.zip chromium_src-3fe8d2f86756a06a49ceff42cc32879e5e63117e.tar.gz chromium_src-3fe8d2f86756a06a49ceff42cc32879e5e63117e.tar.bz2 |
Make HttpNetworkTransaction no longer own a reference to HttpNetworkSession.
It is a bug if anything is holding on to a transaction after the levels of
the network stack above the Session are destroyed, so there's no reason to hold
on to the reference.
There have historically been a number of such bugs, and they currently produce
useless crash stack traces, which show crashes as callbacks try to call into
deleted higher level objects. This should hopefully make them crash more
consistently, with more useful stack traces when owners of these requests
delete them in the absence of the network stack, assuming nothing else is holding
on to the HttpNetworkSession.
BUG=295344,294910
Review URL: https://codereview.chromium.org/24246016
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@229081 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/http/http_network_transaction.cc')
-rw-r--r-- | net/http/http_network_transaction.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/http/http_network_transaction.cc b/net/http/http_network_transaction.cc index b64002f..7c5f0de 100644 --- a/net/http/http_network_transaction.cc +++ b/net/http/http_network_transaction.cc @@ -159,7 +159,7 @@ HttpNetworkTransaction::~HttpNetworkTransaction() { } else { // Otherwise, we try to drain the response body. HttpStreamBase* stream = stream_.release(); - stream->Drain(session_.get()); + stream->Drain(session_); } } } |