forked from mirrors/gecko-dev
Bug 1832326 - Part 2: Remove FetchBody::mReadableStreamReader r=smaug
FetchBody does nothing with the strong reference. Both ReadableStream and FetchStreamReader have their strong references and corresponding cycle collection, so this one can go away. Depends on D177904 Differential Revision: https://phabricator.services.mozilla.com/D178098
This commit is contained in:
parent
86f1e6b8a7
commit
b758499f7e
6 changed files with 5 additions and 18 deletions
|
|
@ -1185,7 +1185,7 @@ nsresult ExtractByteStreamFromBody(const fetch::ResponseBodyInit& aBodyInit,
|
|||
|
||||
template <class Derived>
|
||||
FetchBody<Derived>::FetchBody(nsIGlobalObject* aOwner)
|
||||
: mOwner(aOwner), mReadableStreamReader(nullptr), mBodyUsed(false) {
|
||||
: mOwner(aOwner), mBodyUsed(false) {
|
||||
MOZ_ASSERT(aOwner);
|
||||
|
||||
if (!NS_IsMainThread()) {
|
||||
|
|
@ -1252,14 +1252,10 @@ void FetchBody<Derived>::SetBodyUsed(JSContext* aCx, ErrorResult& aRv) {
|
|||
} else {
|
||||
MOZ_ASSERT(mFetchStreamReader);
|
||||
// Let's activate the FetchStreamReader.
|
||||
RefPtr<ReadableStreamDefaultReader> reader;
|
||||
mFetchStreamReader->StartConsuming(aCx, mReadableStreamBody,
|
||||
getter_AddRefs(reader), aRv);
|
||||
mFetchStreamReader->StartConsuming(aCx, mReadableStreamBody, aRv);
|
||||
if (NS_WARN_IF(aRv.Failed())) {
|
||||
return;
|
||||
}
|
||||
|
||||
mReadableStreamReader = reader.forget();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1509,8 +1505,6 @@ void FetchBody<Derived>::LockStream(JSContext* aCx, ReadableStream* aStream,
|
|||
if (aRv.Failed()) {
|
||||
return;
|
||||
}
|
||||
|
||||
mReadableStreamReader = reader;
|
||||
}
|
||||
|
||||
template void FetchBody<Request>::LockStream(JSContext* aCx,
|
||||
|
|
@ -1610,7 +1604,6 @@ NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN_INHERITED(EmptyBody, FetchBody<EmptyBody>)
|
|||
NS_IMPL_CYCLE_COLLECTION_UNLINK(mOwner)
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK(mAbortSignalImpl)
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK(mFetchStreamReader)
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK(mReadableStreamReader)
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK_END
|
||||
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN_INHERITED(EmptyBody,
|
||||
|
|
@ -1618,7 +1611,6 @@ NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN_INHERITED(EmptyBody,
|
|||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mOwner)
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mAbortSignalImpl)
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mFetchStreamReader)
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mReadableStreamReader)
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
|
||||
|
||||
NS_IMPL_CYCLE_COLLECTION_TRACE_BEGIN_INHERITED(EmptyBody, FetchBody<EmptyBody>)
|
||||
|
|
|
|||
|
|
@ -217,7 +217,6 @@ class FetchBody : public BodyStreamHolder, public AbortFollower {
|
|||
|
||||
// This is the Reader used to retrieve data from the body. This needs to be
|
||||
// traversed by subclasses.
|
||||
RefPtr<ReadableStreamDefaultReader> mReadableStreamReader;
|
||||
RefPtr<FetchStreamReader> mFetchStreamReader;
|
||||
|
||||
explicit FetchBody(nsIGlobalObject* aOwner);
|
||||
|
|
|
|||
|
|
@ -173,7 +173,6 @@ void FetchStreamReader::CloseAndRelease(JSContext* aCx, nsresult aStatus) {
|
|||
|
||||
// https://fetch.spec.whatwg.org/#body-incrementally-read
|
||||
void FetchStreamReader::StartConsuming(JSContext* aCx, ReadableStream* aStream,
|
||||
ReadableStreamDefaultReader** aReader,
|
||||
ErrorResult& aRv) {
|
||||
MOZ_DIAGNOSTIC_ASSERT(!mReader);
|
||||
MOZ_DIAGNOSTIC_ASSERT(aStream);
|
||||
|
|
@ -186,7 +185,6 @@ void FetchStreamReader::StartConsuming(JSContext* aCx, ReadableStream* aStream,
|
|||
}
|
||||
|
||||
mReader = reader;
|
||||
reader.forget(aReader);
|
||||
|
||||
mAsyncWaitWorkerRef = mWorkerRef;
|
||||
aRv = mPipeOut->AsyncWait(this, 0, 0, mOwningEventTarget);
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ class FetchStreamReader final : public nsIOutputStreamCallback {
|
|||
void CloseAndRelease(JSContext* aCx, nsresult aStatus);
|
||||
|
||||
void StartConsuming(JSContext* aCx, ReadableStream* aStream,
|
||||
ReadableStreamDefaultReader** aReader, ErrorResult& aRv);
|
||||
ErrorResult& aRv);
|
||||
|
||||
private:
|
||||
explicit FetchStreamReader(nsIGlobalObject* aGlobal);
|
||||
|
|
|
|||
|
|
@ -34,18 +34,18 @@ NS_IMPL_RELEASE_INHERITED(Request, FetchBody<Request>)
|
|||
NS_IMPL_CYCLE_COLLECTION_WRAPPERCACHE_CLASS(Request)
|
||||
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN_INHERITED(Request, FetchBody<Request>)
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK(mReadableStreamReader)
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK(mOwner)
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK(mHeaders)
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK(mSignal)
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK(mFetchStreamReader)
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK_PRESERVED_WRAPPER
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK_END
|
||||
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN_INHERITED(Request, FetchBody<Request>)
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mReadableStreamReader)
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mOwner)
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mHeaders)
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mSignal)
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mFetchStreamReader)
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
|
||||
|
||||
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(Request)
|
||||
|
|
|
|||
|
|
@ -42,7 +42,6 @@ NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN_INHERITED(Response, FetchBody<Response>)
|
|||
NS_IMPL_CYCLE_COLLECTION_UNLINK(mHeaders)
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK(mSignalImpl)
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK(mFetchStreamReader)
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK(mReadableStreamReader)
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK_PRESERVED_WRAPPER
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK_END
|
||||
|
||||
|
|
@ -51,7 +50,6 @@ NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN_INHERITED(Response, FetchBody<Response>)
|
|||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mHeaders)
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mSignalImpl)
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mFetchStreamReader)
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mReadableStreamReader)
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
|
||||
|
||||
NS_IMPL_CYCLE_COLLECTION_TRACE_BEGIN_INHERITED(Response, FetchBody<Response>)
|
||||
|
|
|
|||
Loading…
Reference in a new issue