Bug 1770630 - Worker stream readers should contribute to busy count. r=dom-worker-reviewers,jstutte
Differential Revision: https://phabricator.services.mozilla.com/D149185
This commit is contained in:
@@ -76,16 +76,14 @@ nsresult FetchStreamReader::Create(JSContext* aCx, nsIGlobalObject* aGlobal,
|
||||
WorkerPrivate* workerPrivate = GetWorkerPrivateFromContext(aCx);
|
||||
MOZ_ASSERT(workerPrivate);
|
||||
|
||||
RefPtr<WeakWorkerRef> workerRef =
|
||||
WeakWorkerRef::Create(workerPrivate, [streamReader]() {
|
||||
RefPtr<StrongWorkerRef> workerRef = StrongWorkerRef::Create(
|
||||
workerPrivate, "FetchStreamReader", [streamReader]() {
|
||||
MOZ_ASSERT(streamReader);
|
||||
MOZ_ASSERT(streamReader->mWorkerRef);
|
||||
|
||||
WorkerPrivate* workerPrivate = streamReader->mWorkerRef->GetPrivate();
|
||||
MOZ_ASSERT(workerPrivate);
|
||||
|
||||
streamReader->CloseAndRelease(workerPrivate->GetJSContext(),
|
||||
NS_ERROR_DOM_INVALID_STATE_ERR);
|
||||
streamReader->CloseAndRelease(
|
||||
streamReader->mWorkerRef->Private()->GetJSContext(),
|
||||
NS_ERROR_DOM_INVALID_STATE_ERR);
|
||||
});
|
||||
|
||||
if (NS_WARN_IF(!workerRef)) {
|
||||
@@ -194,6 +192,7 @@ void FetchStreamReader::StartConsuming(JSContext* aCx, ReadableStream* aStream,
|
||||
if (NS_WARN_IF(aRv.Failed())) {
|
||||
return;
|
||||
}
|
||||
mAsyncWaitWorkerRef = mWorkerRef;
|
||||
}
|
||||
|
||||
struct FetchReadRequest : public ReadRequest {
|
||||
@@ -236,6 +235,7 @@ MOZ_CAN_RUN_SCRIPT_BOUNDARY
|
||||
NS_IMETHODIMP
|
||||
FetchStreamReader::OnOutputStreamReady(nsIAsyncOutputStream* aStream) {
|
||||
NS_ASSERT_OWNINGTHREAD(FetchStreamReader);
|
||||
mAsyncWaitWorkerRef = nullptr;
|
||||
if (mStreamClosed) {
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user