Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 3e58747e49397a85a72c928148fe2c409d130960
https://github.com/WebKit/WebKit/commit/3e58747e49397a85a72c928148fe2c409d130960
Author: Youenn Fablet <[email protected]>
Date: 2025-09-23 (Tue, 23 Sep 2025)
Changed paths:
M
LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/default-reader.any-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/default-reader.any.serviceworker-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/default-reader.any.sharedworker-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/default-reader.any.worker-expected.txt
M LayoutTests/streams/reference-implementation/abstract-ops-expected.txt
M Source/WebCore/CMakeLists.txt
M Source/WebCore/DerivedSources-input.xcfilelist
M Source/WebCore/DerivedSources-output.xcfilelist
M Source/WebCore/DerivedSources.make
A Source/WebCore/Modules/streams/QueuingStrategy.h
A Source/WebCore/Modules/streams/QueuingStrategy.idl
A Source/WebCore/Modules/streams/QueuingStrategySize.h
A Source/WebCore/Modules/streams/QueuingStrategySize.idl
M Source/WebCore/Modules/streams/ReadableStream.cpp
M Source/WebCore/Modules/streams/ReadableStream.h
M Source/WebCore/Modules/streams/ReadableStream.idl
A Source/WebCore/Modules/streams/ReadableStreamDefaultReader.cpp
A Source/WebCore/Modules/streams/ReadableStreamDefaultReader.h
M Source/WebCore/Modules/streams/ReadableStreamDefaultReader.idl
M Source/WebCore/Modules/streams/ReadableStreamInternals.js
A Source/WebCore/Modules/streams/ReadableStreamReadResult.h
A Source/WebCore/Modules/streams/ReadableStreamReadResult.idl
A Source/WebCore/Modules/streams/ReadableStreamType.h
A Source/WebCore/Modules/streams/ReadableStreamType.idl
A Source/WebCore/Modules/streams/UnderlyingSource.h
A Source/WebCore/Modules/streams/UnderlyingSource.idl
A Source/WebCore/Modules/streams/UnderlyingSourceCancelCallback.h
A Source/WebCore/Modules/streams/UnderlyingSourceCancelCallback.idl
A Source/WebCore/Modules/streams/UnderlyingSourcePullCallback.h
A Source/WebCore/Modules/streams/UnderlyingSourcePullCallback.idl
A Source/WebCore/Modules/streams/UnderlyingSourceStartCallback.h
A Source/WebCore/Modules/streams/UnderlyingSourceStartCallback.idl
M Source/WebCore/Sources.txt
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
M Source/WebCore/bindings/js/InternalReadableStream.cpp
M Source/WebCore/bindings/js/InternalReadableStream.h
A Source/WebCore/bindings/js/InternalReadableStreamDefaultReader.cpp
A Source/WebCore/bindings/js/InternalReadableStreamDefaultReader.h
M Source/WebCore/bindings/js/JSDOMGlobalObject.cpp
M Source/WebCore/bindings/js/JSDOMPromise.cpp
M Source/WebCore/bindings/js/JSDOMPromise.h
Log Message:
-----------
Make ReadableStreamDefaultReader a C++ class
rdar://137978432
https://bugs.webkit.org/show_bug.cgi?id=281511
Reviewed by Chris Dumez.
To prepare ground for byte stream implementation update, we move
ReadableStreamDefaultReader to C++.
This allows better WebIDL typing and will allow to do the byte stream
implementation in C++, which will be better for native sources like fetch.
ReadableStreamDefaultReader will be able to handle both regular streams like
today and byte streams via an if check, until we move the whole ReadableStream
implementation to C++.
ReadableStream now takes a RefPtr<InternalReadableStream> as it will be null
for byte stream sources.
We add a bunch of WebIDL definitions following the specification to also
prepare readable byte stream implementation.
Covered by existing tests.
*
LayoutTests/imported/w3c/web-platform-tests/streams/readable-byte-streams/general.any.sharedworker-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/default-reader.any-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/default-reader.any.serviceworker-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/default-reader.any.sharedworker-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/default-reader.any.worker-expected.txt:
* LayoutTests/streams/readable-stream-byob-reader-expected.txt:
* LayoutTests/streams/readable-stream-byob-reader-worker-expected.txt:
* LayoutTests/streams/readable-stream-getReader-expected.txt:
* LayoutTests/streams/reference-implementation/abstract-ops-expected.txt:
* Source/WebCore/CMakeLists.txt:
* Source/WebCore/DerivedSources-input.xcfilelist:
* Source/WebCore/DerivedSources-output.xcfilelist:
* Source/WebCore/DerivedSources.make:
* Source/WebCore/Modules/streams/QueuingStrategy.h: Added.
* Source/WebCore/Modules/streams/QueuingStrategy.idl: Added.
* Source/WebCore/Modules/streams/QueuingStrategySize.h: Added.
* Source/WebCore/Modules/streams/QueuingStrategySize.idl: Added.
* Source/WebCore/Modules/streams/ReadableStream.cpp:
* Source/WebCore/Modules/streams/ReadableStream.h:
(WebCore::ReadableStream::internalReadableStream):
(WebCore::ReadableStream::setAsDisturbed):
(WebCore::ReadableStream::ReadableStream):
(WebCore::ReadableStream::lock): Deleted.
(WebCore::ReadableStream::isLocked const): Deleted.
(WebCore::ReadableStream::isDisturbed const): Deleted.
(WebCore::ReadableStream::cancel): Deleted.
* Source/WebCore/Modules/streams/ReadableStream.idl:
* Source/WebCore/Modules/streams/ReadableStreamDefaultReader.cpp: Added.
(WebCore::ReadableStreamDefaultReader::create):
(WebCore::ReadableStreamDefaultReader::ReadableStreamDefaultReader):
(WebCore::ReadableStreamDefaultReader::setup):
(WebCore::ReadableStreamDefaultReader::releaseLock):
(WebCore::ReadableStreamDefaultReader::read):
(WebCore::ReadableStreamDefaultReader::genericRelease):
(WebCore::ReadableStreamDefaultReader::errorReadRequests):
(WebCore::ReadableStreamDefaultReader::genericCancel):
(WebCore::ReadableStreamDefaultReader::closed const):
(WebCore::ReadableStreamDefaultReader::resolveClosedPromise):
(WebCore::ReadableStreamDefaultReader::rejectClosedPromise):
(WebCore::ReadableStreamDefaultReader::onClosedPromiseRejection):
(WebCore::ReadableStreamDefaultReader::onClosedPromiseResolution):
(WebCore::JSReadableStreamDefaultReader::read):
(WebCore::JSReadableStreamDefaultReader::closed const):
(WebCore::JSReadableStreamDefaultReader::cancel):
* Source/WebCore/Modules/streams/ReadableStreamDefaultReader.h: Added.
(WebCore::ReadableStreamDefaultReader::internalDefaultReader):
(WebCore::ReadableStreamDefaultReader::getNumReadRequests const):
(WebCore::ReadableStreamDefaultReader::addReadRequest):
(WebCore::ReadableStreamDefaultReader::takeFirstReadRequest):
* Source/WebCore/Modules/streams/ReadableStreamDefaultReader.idl:
* Source/WebCore/Modules/streams/ReadableStreamInternals.js:
(createInternalReadableStreamDefaultReader):
(readableStreamDefaultReaderClosedForBindings):
(readableStreamDefaultReaderReadForBindings):
(readableStreamDefaultReaderReleaseLockForBindings):
(readableStreamDefaultReaderCancelForBindings):
(readableStreamDefaultReaderClosedPromise):
(acquireReadableStreamDefaultReader):
(readableStreamError):
(readableStreamState):
(readableStreamStoredError):
(readableStreamGetReaderForBindings): Deleted.
* Source/WebCore/Modules/streams/ReadableStreamReadResult.h: Added.
* Source/WebCore/Modules/streams/ReadableStreamReadResult.idl: Copied from
Source/WebCore/Modules/streams/ReadableStreamDefaultReader.idl.
* Source/WebCore/Modules/streams/ReadableStreamType.h: Added.
* Source/WebCore/Modules/streams/ReadableStreamType.idl: Added.
* Source/WebCore/Modules/streams/UnderlyingSource.h: Added.
* Source/WebCore/Modules/streams/UnderlyingSource.idl: Added.
* Source/WebCore/Modules/streams/UnderlyingSourceCancelCallback.h: Added.
* Source/WebCore/Modules/streams/UnderlyingSourceCancelCallback.idl: Added.
* Source/WebCore/Modules/streams/UnderlyingSourcePullCallback.h: Added.
* Source/WebCore/Modules/streams/UnderlyingSourcePullCallback.idl: Added.
* Source/WebCore/Modules/streams/UnderlyingSourceStartCallback.h: Added.
* Source/WebCore/Modules/streams/UnderlyingSourceStartCallback.idl: Added.
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/bindings/js/InternalReadableStream.cpp:
(WebCore::InternalReadableStream::state const):
(WebCore::InternalReadableStream::storedError const):
(WebCore::InternalReadableStream::getReader): Deleted.
* Source/WebCore/bindings/js/InternalReadableStream.h:
* Source/WebCore/bindings/js/InternalReadableStreamDefaultReader.cpp: Added.
(WebCore::invokeReadableStreamDefaultReaderFunction):
(WebCore::InternalReadableStreamDefaultReader::create):
(WebCore::InternalReadableStreamDefaultReader::releaseLock):
(WebCore::InternalReadableStreamDefaultReader::readForBindings):
(WebCore::InternalReadableStreamDefaultReader::closedForBindings):
(WebCore::InternalReadableStreamDefaultReader::cancelForBindings):
(WebCore::InternalReadableStreamDefaultReader::onClosedPromiseRejection):
(WebCore::InternalReadableStreamDefaultReader::onClosedPromiseResolution):
* Source/WebCore/bindings/js/InternalReadableStreamDefaultReader.h: Copied from
Source/WebCore/bindings/js/InternalReadableStream.h.
* Source/WebCore/bindings/js/JSDOMGlobalObject.cpp:
(WebCore::JSC_DEFINE_HOST_FUNCTION):
* Source/WebCore/bindings/js/JSDOMPromise.cpp:
(WebCore::DOMPromise::whenSettled):
* Source/WebCore/bindings/js/JSDOMPromise.h:
Canonical link: https://commits.webkit.org/300392@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes