diff --git a/netwerk/protocol/http/HttpTransactionChild.cpp b/netwerk/protocol/http/HttpTransactionChild.cpp index 46765ef57e07..96a6935ed5a0 100644 --- a/netwerk/protocol/http/HttpTransactionChild.cpp +++ b/netwerk/protocol/http/HttpTransactionChild.cpp @@ -475,11 +475,14 @@ HttpTransactionChild::OnStopRequest(nsIRequest* aRequest, nsresult aStatus) { responseTrailers.emplace(*headerArray); } - Unused << SendOnStopRequest( - aStatus, mTransaction->ResponseIsComplete(), - mTransaction->GetTransferSize(), - ToTimingStructArgs(mTransaction->Timings()), responseTrailers, - mTransaction->HasStickyConnection(), mTransactionObserverResult); + int64_t requestSize = mTransaction->GetRequestSize(); + + Unused << SendOnStopRequest(aStatus, mTransaction->ResponseIsComplete(), + mTransaction->GetTransferSize(), + ToTimingStructArgs(mTransaction->Timings()), + responseTrailers, + mTransaction->HasStickyConnection(), + mTransactionObserverResult, requestSize); return NS_OK; } diff --git a/netwerk/protocol/http/HttpTransactionParent.cpp b/netwerk/protocol/http/HttpTransactionParent.cpp index 041ecb804da3..a9c852ca1101 100644 --- a/netwerk/protocol/http/HttpTransactionParent.cpp +++ b/netwerk/protocol/http/HttpTransactionParent.cpp @@ -489,7 +489,8 @@ mozilla::ipc::IPCResult HttpTransactionParent::RecvOnStopRequest( const int64_t& aTransferSize, const TimingStructArgs& aTimings, const Maybe& aResponseTrailers, const bool& aHasStickyConn, - Maybe&& aTransactionObserverResult) { + Maybe&& aTransactionObserverResult, + const int64_t& aRequestSize) { LOG(("HttpTransactionParent::RecvOnStopRequest [this=%p status=%" PRIx32 "]\n", this, static_cast(aStatus))); @@ -497,11 +498,12 @@ mozilla::ipc::IPCResult HttpTransactionParent::RecvOnStopRequest( this, [self = UnsafePtr(this), aStatus, aResponseIsComplete, aTransferSize, aTimings, aResponseTrailers, aHasStickyConn, - aTransactionObserverResult{ - std::move(aTransactionObserverResult)}]() mutable { + aTransactionObserverResult{std::move(aTransactionObserverResult)}, + aRequestSize]() mutable { self->DoOnStopRequest(aStatus, aResponseIsComplete, aTransferSize, aTimings, aResponseTrailers, aHasStickyConn, - std::move(aTransactionObserverResult)); + std::move(aTransactionObserverResult), + aRequestSize); })); return IPC_OK(); } @@ -511,7 +513,8 @@ void HttpTransactionParent::DoOnStopRequest( const int64_t& aTransferSize, const TimingStructArgs& aTimings, const Maybe& aResponseTrailers, const bool& aHasStickyConn, - Maybe&& aTransactionObserverResult) { + Maybe&& aTransactionObserverResult, + const int64_t& aRequestSize) { LOG(("HttpTransactionParent::DoOnStopRequest [this=%p]\n", this)); if (mCanceled) { return; @@ -525,6 +528,7 @@ void HttpTransactionParent::DoOnStopRequest( mResponseIsComplete = aResponseIsComplete; mTransferSize = aTransferSize; + mRequestSize = aRequestSize; TimingStructArgsToTimingsStruct(aTimings, mTimings); if (aResponseTrailers.isSome()) { diff --git a/netwerk/protocol/http/HttpTransactionParent.h b/netwerk/protocol/http/HttpTransactionParent.h index 3de73e2bd2b1..94b417084f36 100644 --- a/netwerk/protocol/http/HttpTransactionParent.h +++ b/netwerk/protocol/http/HttpTransactionParent.h @@ -62,7 +62,8 @@ class HttpTransactionParent final : public PHttpTransactionParent, const int64_t& aTransferSize, const TimingStructArgs& aTimings, const Maybe& responseTrailers, const bool& aHasStickyConn, - Maybe&& aTransactionObserverResult); + Maybe&& aTransactionObserverResult, + const int64_t& aRequestSize); mozilla::ipc::IPCResult RecvOnNetAddrUpdate(const NetAddr& aSelfAddr, const NetAddr& aPeerAddr, const bool& aResolvedByTRR); @@ -100,7 +101,8 @@ class HttpTransactionParent final : public PHttpTransactionParent, const int64_t& aTransferSize, const TimingStructArgs& aTimings, const Maybe& responseTrailers, const bool& aHasStickyConn, - Maybe&& aTransactionObserverResult); + Maybe&& aTransactionObserverResult, + const int64_t& aRequestSize); void DoNotifyListener(); nsCOMPtr mEventsink; diff --git a/netwerk/protocol/http/PHttpTransaction.ipdl b/netwerk/protocol/http/PHttpTransaction.ipdl index 9463e51885e8..779295f49ef2 100644 --- a/netwerk/protocol/http/PHttpTransaction.ipdl +++ b/netwerk/protocol/http/PHttpTransaction.ipdl @@ -51,7 +51,8 @@ parent: TimingStructArgs timings, nsHttpHeaderArray? responseTrailers, bool hasStickyConn, - TransactionObserverResult? transactionObserverResult); + TransactionObserverResult? transactionObserverResult, + int64_t requestSize); async OnNetAddrUpdate(NetAddr selfAddr, NetAddr peerAddr, bool resolvedByTRR); async OnInitFailed(nsresult status); async OnH2PushStream(uint32_t pushedStreamId,