Bug 1831635: don't try to processed deferred WebTransport CreateStreams if connection is closed/refused r=necko-reviewers,kershaw

Differential Revision: https://phabricator.services.mozilla.com/D177316
This commit is contained in:
Randell Jesup 2023-05-06 01:47:07 +00:00
parent 9d916fde7e
commit e4c7bf565a

View file

@ -621,6 +621,14 @@ WebTransportSessionProxy::OnStopRequest(nsIRequest* aRequest,
}
pendingEvents = std::move(mPendingEvents);
pendingCreateStreamEvents = std::move(mPendingCreateStreamEvents);
if (!pendingCreateStreamEvents.IsEmpty()) {
if (NS_SUCCEEDED(aStatus) &&
(mState == WebTransportSessionProxyState::DONE ||
mState == WebTransportSessionProxyState::SESSION_CLOSE_PENDING)) {
aStatus = NS_ERROR_FAILURE;
}
}
mStopRequestCalled = true;
}
@ -633,7 +641,7 @@ WebTransportSessionProxy::OnStopRequest(nsIRequest* aRequest,
event(status);
}
}));
}
} // otherwise let the CreateStreams just go away
if (listener) {
if (succeeded) {