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

Reply via email to