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