bug 1013623 - make nsHttpPipeline.mConnection a smart pointer r=hurley

This commit is contained in:
Patrick McManus 2014-05-21 10:01:56 -04:00
parent 403be7a9fd
commit c095e081f4
2 changed files with 4 additions and 7 deletions

View File

@ -62,8 +62,7 @@ private:
//-----------------------------------------------------------------------------
nsHttpPipeline::nsHttpPipeline()
: mConnection(nullptr)
, mStatus(NS_OK)
: mStatus(NS_OK)
, mRequestIsPartial(false)
, mResponseIsPartial(false)
, mClosed(false)
@ -83,8 +82,6 @@ nsHttpPipeline::~nsHttpPipeline()
// make sure we aren't still holding onto any transactions!
Close(NS_ERROR_ABORT);
NS_IF_RELEASE(mConnection);
if (mPushBackBuf)
free(mPushBackBuf);
}
@ -410,13 +407,13 @@ nsHttpPipeline::SetConnection(nsAHttpConnection *conn)
MOZ_ASSERT(PR_GetCurrentThread() == gSocketThread);
MOZ_ASSERT(!conn || !mConnection, "already have a connection");
NS_IF_ADDREF(mConnection = conn);
mConnection = conn;
}
nsAHttpConnection *
nsHttpPipeline::Connection()
{
LOG(("nsHttpPipeline::Connection [this=%p conn=%x]\n", this, mConnection));
LOG(("nsHttpPipeline::Connection [this=%p conn=%x]\n", this, mConnection.get()));
MOZ_ASSERT(PR_GetCurrentThread() == gSocketThread);
return mConnection;

View File

@ -58,7 +58,7 @@ private:
// overload of nsAHttpTransaction::QueryPipeline()
nsHttpPipeline *QueryPipeline();
nsAHttpConnection *mConnection;
nsRefPtr<nsAHttpConnection> mConnection;
nsTArray<nsAHttpTransaction*> mRequestQ; // array of transactions
nsTArray<nsAHttpTransaction*> mResponseQ; // array of transactions
nsresult mStatus;