[webkit-changes] [WebKit/WebKit] cb01f4: ReadableStream::pipeTo memory leak
youennf
noreply at github.com
Tue Nov 29 01:39:54 PST 2022
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: cb01f4ca942d355c84e1c6248560cf63a58ebfd0
https://github.com/WebKit/WebKit/commit/cb01f4ca942d355c84e1c6248560cf63a58ebfd0
Author: Youenn Fablet <youennf at gmail.com>
Date: 2022-11-29 (Tue, 29 Nov 2022)
Changed paths:
M Source/WebCore/Modules/streams/ReadableStreamInternals.js
M Source/WebCore/bindings/js/JSDOMGlobalObject.cpp
M Source/WebCore/bindings/js/WebCoreBuiltinNames.h
M Source/WebCore/dom/AbortSignal.cpp
M Source/WebCore/dom/AbortSignal.h
M Source/WebCore/dom/AbortSignal.idl
Log Message:
-----------
ReadableStream::pipeTo memory leak
https://bugs.webkit.org/show_bug.cgi?id=247618
rdar://problem/102366716
Reviewed by Alex Christensen.
Before the patch, a reference to pipeState would be kept in the AbortSignal.
We are now removing the algorithm from thr AbortSignal when finalizing pipeTo to break the reference cycle.
* Source/WebCore/Modules/streams/ReadableStreamInternals.js:
(readableStreamPipeToWritableStream):
(pipeToFinalize):
* Source/WebCore/bindings/js/JSDOMGlobalObject.cpp:
(WebCore::JSC_DEFINE_HOST_FUNCTION):
(WebCore::JSDOMGlobalObject::addBuiltinGlobals):
* Source/WebCore/bindings/js/WebCoreBuiltinNames.h:
* Source/WebCore/dom/AbortSignal.cpp:
(WebCore::AbortSignal::signalAbort):
(WebCore::AbortSignal::addAbortAlgorithmToSignal):
(WebCore::AbortSignal::removeAbortAlgorithmFromSignal):
(WebCore::AbortSignal::addAlgorithm):
(WebCore::AbortSignal::removeAlgorithm):
(WebCore::AbortSignal::whenSignalAborted): Deleted.
* Source/WebCore/dom/AbortSignal.h:
* Source/WebCore/dom/AbortSignal.idl:
Canonical link: https://commits.webkit.org/257109@main
More information about the webkit-changes
mailing list