Loading netwerk/protocol/http/nsHttpConnection.cpp +10 −6 Original line number Diff line number Diff line Loading @@ -1635,7 +1635,8 @@ nsresult nsHttpConnection::OnSocketWritable() { } LOG((" writing transaction request stream\n")); rv = mTransaction->ReadSegmentsAgain(this, RefPtr<nsAHttpTransaction> transaction = mTransaction; rv = transaction->ReadSegmentsAgain(this, nsIOService::gDefaultSegmentSize, &transactionBytes, &again); if (mTlsHandshaker->EarlyDataUsed()) { Loading @@ -1660,7 +1661,8 @@ nsresult nsHttpConnection::OnSocketWritable() { static_cast<uint32_t>(mSocketOutCondition), again)); // XXX some streams return NS_BASE_STREAM_CLOSED to indicate EOF. if (rv == NS_BASE_STREAM_CLOSED && !mTransaction->IsDone()) { if (rv == NS_BASE_STREAM_CLOSED && (mTransaction && !mTransaction->IsDone())) { rv = NS_OK; transactionBytes = 0; } Loading Loading @@ -1703,7 +1705,8 @@ nsresult nsHttpConnection::OnSocketWritable() { // When Spdy tunnel is used we need to explicitly set when a request is // done. if ((mState != HttpConnectionState::SETTING_UP_TUNNEL) && !mSpdySession) { nsHttpTransaction* trans = mTransaction->QueryHttpTransaction(); nsHttpTransaction* trans = mTransaction ? mTransaction->QueryHttpTransaction() : nullptr; // needed for websocket over h2 (direct) if (!trans || !trans->IsWebsocketUpgrade()) { mRequestDone = true; Loading Loading @@ -1806,7 +1809,8 @@ nsresult nsHttpConnection::OnSocketReadable() { rv = NS_ERROR_FAILURE; LOG((" No Transaction In OnSocketWritable\n")); } else { rv = mTransaction->WriteSegmentsAgain( RefPtr<nsAHttpTransaction> transaction = mTransaction; rv = transaction->WriteSegmentsAgain( this, nsIOService::gDefaultSegmentSize, &n, &again); } LOG(("nsHttpConnection::OnSocketReadable %p trans->ws rv=%" PRIx32 Loading Loading
netwerk/protocol/http/nsHttpConnection.cpp +10 −6 Original line number Diff line number Diff line Loading @@ -1635,7 +1635,8 @@ nsresult nsHttpConnection::OnSocketWritable() { } LOG((" writing transaction request stream\n")); rv = mTransaction->ReadSegmentsAgain(this, RefPtr<nsAHttpTransaction> transaction = mTransaction; rv = transaction->ReadSegmentsAgain(this, nsIOService::gDefaultSegmentSize, &transactionBytes, &again); if (mTlsHandshaker->EarlyDataUsed()) { Loading @@ -1660,7 +1661,8 @@ nsresult nsHttpConnection::OnSocketWritable() { static_cast<uint32_t>(mSocketOutCondition), again)); // XXX some streams return NS_BASE_STREAM_CLOSED to indicate EOF. if (rv == NS_BASE_STREAM_CLOSED && !mTransaction->IsDone()) { if (rv == NS_BASE_STREAM_CLOSED && (mTransaction && !mTransaction->IsDone())) { rv = NS_OK; transactionBytes = 0; } Loading Loading @@ -1703,7 +1705,8 @@ nsresult nsHttpConnection::OnSocketWritable() { // When Spdy tunnel is used we need to explicitly set when a request is // done. if ((mState != HttpConnectionState::SETTING_UP_TUNNEL) && !mSpdySession) { nsHttpTransaction* trans = mTransaction->QueryHttpTransaction(); nsHttpTransaction* trans = mTransaction ? mTransaction->QueryHttpTransaction() : nullptr; // needed for websocket over h2 (direct) if (!trans || !trans->IsWebsocketUpgrade()) { mRequestDone = true; Loading Loading @@ -1806,7 +1809,8 @@ nsresult nsHttpConnection::OnSocketReadable() { rv = NS_ERROR_FAILURE; LOG((" No Transaction In OnSocketWritable\n")); } else { rv = mTransaction->WriteSegmentsAgain( RefPtr<nsAHttpTransaction> transaction = mTransaction; rv = transaction->WriteSegmentsAgain( this, nsIOService::gDefaultSegmentSize, &n, &again); } LOG(("nsHttpConnection::OnSocketReadable %p trans->ws rv=%" PRIx32 Loading