Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: fc9ae5401e788cdbd02054cdc80a11bf91c67f59
      
https://github.com/WebKit/WebKit/commit/fc9ae5401e788cdbd02054cdc80a11bf91c67f59
  Author: Youenn Fablet <[email protected]>
  Date:   2026-01-12 (Mon, 12 Jan 2026)

  Changed paths:
    M 
LayoutTests/imported/w3c/web-platform-tests/streams/piping/abort.any-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/streams/piping/abort.any.serviceworker-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/streams/piping/abort.any.sharedworker-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/streams/piping/abort.any.worker-expected.txt
    M Source/WebCore/Modules/streams/StreamPipeToUtilities.cpp

  Log Message:
  -----------
  Fix WebKit-only failures in streams/piping/abort.any.html
rdar://167841090
https://bugs.webkit.org/show_bug.cgi?id=305196

Reviewed by Chris Dumez.

The readable stream built-in implementation is relying on an older version of 
the spec where read requests were only promises.
The spec is now using read requests which is useful for the pipeTo algorithm.

This creates a mismatch between the pipeTo algorithm and the built-in readable 
stream implementation.
In particular, pipeTo algorithm may know that a readable gets closed before it 
knows that the last read request is fulfilled.
This is due to the pipeTo read requests being called once a promise resolves, 
while it should be synchronous.

To work-around that issue until we rework the readable stream implementation, 
StreamPipeToState will keep in memory that pipeTo is shutting down due to 
readable being closed.
In that case, we wait for the pending read request (which is actually 
fulfilled) before proceeding with the finalization of pipeTo.

Covered by rebased tests.

Canonical link: https://commits.webkit.org/305455@main



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

Reply via email to