Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 128adeb3583007cb1dcff5177a42425c4ae1b5dc
      
https://github.com/WebKit/WebKit/commit/128adeb3583007cb1dcff5177a42425c4ae1b5dc
  Author: Youenn Fablet <[email protected]>
  Date:   2025-11-17 (Mon, 17 Nov 2025)

  Changed paths:
    A LayoutTests/http/wpt/fetch/fetch-byte-stream-expected.txt
    A LayoutTests/http/wpt/fetch/fetch-byte-stream.html
    M 
LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/response-consume-stream.any-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/response-consume-stream.any.html
    M 
LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/response-consume-stream.any.serviceworker-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/response-consume-stream.any.serviceworker.html
    M 
LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/response-consume-stream.any.sharedworker-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/response-consume-stream.any.sharedworker.html
    M 
LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/response-consume-stream.any.worker-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/response-consume-stream.any.worker.html
    M 
LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/response-error-from-stream.any-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/response-error-from-stream.any.serviceworker-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/response-error-from-stream.any.sharedworker-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/response-error-from-stream.any.worker-expected.txt
    M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
    M Source/WebCore/CMakeLists.txt
    M Source/WebCore/DerivedSources-input.xcfilelist
    M Source/WebCore/DerivedSources-output.xcfilelist
    M Source/WebCore/DerivedSources.make
    M Source/WebCore/Headers.cmake
    M Source/WebCore/Modules/fetch/FetchBody.cpp
    M Source/WebCore/Modules/fetch/FetchBodyConsumer.cpp
    M Source/WebCore/Modules/fetch/FetchBodyConsumer.h
    M Source/WebCore/Modules/fetch/FetchBodyOwner.cpp
    M Source/WebCore/Modules/fetch/FetchBodySource.cpp
    M Source/WebCore/Modules/fetch/FetchBodySource.h
    M Source/WebCore/Modules/fetch/FetchResponse.cpp
    M Source/WebCore/Modules/fetch/FetchResponse.h
    M Source/WebCore/Modules/streams/ReadableByteStreamController.h
    M Source/WebCore/Modules/streams/ReadableStream.cpp
    M Source/WebCore/Modules/streams/ReadableStream.h
    M Source/WebCore/Modules/streams/ReadableStreamInternals.js
    R Source/WebCore/Modules/streams/ReadableStreamSink.idl
    A Source/WebCore/Modules/streams/ReadableStreamToSharedBufferSink.cpp
    A Source/WebCore/Modules/streams/ReadableStreamToSharedBufferSink.h
    M Source/WebCore/Modules/webtransport/WebTransport.cpp
    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

  Log Message:
  -----------
  Implement byte stream support for fetch responses
rdar://162107262
https://bugs.webkit.org/show_bug.cgi?id=300312

Reviewed by Chris Dumez.

We add support for readable byte stream as body of fetch responses and requests.
This is gated by a specific feature flag.

To implement that support, we have to change the way to read from a fetch 
stream body.
We remove the ReadableStreamSink interface and infrastructure (including 
JS-builtin), and instead use plain C++ via the ReadableStreamToSharedBufferSink 
class.
We change FetchBodySource as well as it is now a source for the C++ 
ReadableStream code path.

We add a way for a byte stream to start synchrnously (previously it would wait 
for the next micro task to be started), and we use a highWaterMark of 1 so that 
the stream will start pulling synchronously as this is the current model we 
have for fetch non byte streams.

Test: http/wpt/fetch/fetch-byte-stream.html and existing fetch tests.
Canonical link: https://commits.webkit.org/303115@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to