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

Reply via email to