Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 851b271edd75317ce210f85fd016a79439c62855
https://github.com/WebKit/WebKit/commit/851b271edd75317ce210f85fd016a79439c62855
Author: Alex Christensen <[email protected]>
Date: 2026-07-29 (Wed, 29 Jul 2026)
Changed paths:
A
LayoutTests/imported/w3c/web-platform-tests/webtransport/receive-stream-pull.https.any-expected.txt
A
LayoutTests/imported/w3c/web-platform-tests/webtransport/receive-stream-pull.https.any.html
A
LayoutTests/imported/w3c/web-platform-tests/webtransport/receive-stream-pull.https.any.js
A
LayoutTests/imported/w3c/web-platform-tests/webtransport/receive-stream-pull.https.any.serviceworker-expected.txt
A
LayoutTests/imported/w3c/web-platform-tests/webtransport/receive-stream-pull.https.any.serviceworker.html
A
LayoutTests/imported/w3c/web-platform-tests/webtransport/receive-stream-pull.https.any.sharedworker-expected.txt
A
LayoutTests/imported/w3c/web-platform-tests/webtransport/receive-stream-pull.https.any.sharedworker.html
A
LayoutTests/imported/w3c/web-platform-tests/webtransport/receive-stream-pull.https.any.worker-expected.txt
A
LayoutTests/imported/w3c/web-platform-tests/webtransport/receive-stream-pull.https.any.worker.html
M Source/WebCore/Modules/webtransport/DatagramByteSource.cpp
M Source/WebCore/Modules/webtransport/WebTransport.cpp
M
Source/WebCore/Modules/webtransport/WebTransportBidirectionalStreamSource.h
M Source/WebCore/Modules/webtransport/WebTransportReceiveStream.cpp
M
Source/WebCore/Modules/webtransport/WebTransportReceiveStreamByteSource.cpp
M Source/WebCore/Modules/webtransport/WebTransportReceiveStreamByteSource.h
M Source/WebCore/Modules/webtransport/WebTransportReceiveStreamSource.h
Log Message:
-----------
Implement WebTransportReceiveStream pull bytes algorithm
https://bugs.webkit.org/show_bug.cgi?id=320390
rdar://183347616
Reviewed by Youenn Fablet.
This makes WebTransport receive streams and bidirectional streams work with
byob buffers that
don't line up exactly with what bytes are received from the network.
Tests:
imported/w3c/web-platform-tests/webtransport/receive-stream-pull.https.any.html
imported/w3c/web-platform-tests/webtransport/receive-stream-pull.https.any.serviceworker.html
imported/w3c/web-platform-tests/webtransport/receive-stream-pull.https.any.sharedworker.html
imported/w3c/web-platform-tests/webtransport/receive-stream-pull.https.any.worker.html
*
LayoutTests/imported/w3c/web-platform-tests/webtransport/receive-stream-pull.https.any-expected.txt:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/webtransport/receive-stream-pull.https.any.html:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/webtransport/receive-stream-pull.https.any.js:
Added.
(async echo_bidirectional_stream):
(ascending_bytes):
(promise_test.async t):
*
LayoutTests/imported/w3c/web-platform-tests/webtransport/receive-stream-pull.https.any.serviceworker-expected.txt:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/webtransport/receive-stream-pull.https.any.serviceworker.html:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/webtransport/receive-stream-pull.https.any.sharedworker-expected.txt:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/webtransport/receive-stream-pull.https.any.sharedworker.html:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/webtransport/receive-stream-pull.https.any.worker-expected.txt:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/webtransport/receive-stream-pull.https.any.worker.html:
Added.
* Source/WebCore/Modules/webtransport/DatagramByteSource.cpp:
(WebCore::DatagramByteSource::receiveDatagram):
(WebCore::DatagramByteSource::closeStreamIfPossible):
* Source/WebCore/Modules/webtransport/WebTransport.cpp:
(WebCore::WebTransport::WebTransport):
(WebCore::WebTransport::receiveIncomingUnidirectionalStream):
(WebCore::createBidirectionalStream):
(WebCore::WebTransport::receiveBidirectionalStream):
(WebCore::WebTransport::streamReceiveBytes):
(WebCore::WebTransport::cleanup):
(WebCore::WebTransport::didDrain):
* Source/WebCore/Modules/webtransport/WebTransportBidirectionalStreamSource.h:
(WebCore::WebTransportBidirectionalStreamSource::stopReceivingIncomingStreams):
* Source/WebCore/Modules/webtransport/WebTransportReceiveStream.cpp:
(WebCore::WebTransportReceiveStream::create):
* Source/WebCore/Modules/webtransport/WebTransportReceiveStreamByteSource.cpp:
(WebCore::WebTransportReceiveStreamByteSource::pull):
(WebCore::WebTransportReceiveStreamByteSource::deliverBytes):
(WebCore::WebTransportReceiveStreamByteSource::closeStream):
(WebCore::WebTransportReceiveStreamByteSource::errorStream):
(WebCore::WebTransportReceiveStreamByteSource::receiveBytes):
(WebCore::WebTransportReceiveStreamByteSource::receiveError):
(WebCore::WebTransportReceiveStreamByteSource::cancel):
* Source/WebCore/Modules/webtransport/WebTransportReceiveStreamByteSource.h:
* Source/WebCore/Modules/webtransport/WebTransportReceiveStreamSource.h:
(WebCore::WebTransportReceiveStreamSource::stopReceivingIncomingStreams):
Canonical link: https://commits.webkit.org/318185@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications