Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 5ef993dbb7e08cc7bc08d1e63303404e139cd40a
      
https://github.com/WebKit/WebKit/commit/5ef993dbb7e08cc7bc08d1e63303404e139cd40a
  Author: Youenn Fablet <[email protected]>
  Date:   2025-12-03 (Wed, 03 Dec 2025)

  Changed paths:
    M 
LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/async-iterator.any-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/async-iterator.any.serviceworker-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/async-iterator.any.sharedworker-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/async-iterator.any.worker-expected.txt
    M Source/WebCore/SaferCPPExpectations/UncountedCallArgsCheckerExpectations
    M Source/WebCore/bindings/js/JSDOMAsyncIterator.h
    M Source/WebCore/bindings/scripts/CodeGeneratorJS.pm
    M Source/WebCore/bindings/scripts/test/JS/JSTestAsyncIterable.cpp
    M Source/WebCore/bindings/scripts/test/TestAsyncIterable.idl

  Log Message:
  -----------
  Add support for ReadableStream async iterable prevent cancel
rdar://165607588
https://bugs.webkit.org/show_bug.cgi?id=303305

Reviewed by Chris Dumez.

We add support for converting async iterable parameters in binding generator.
We rebase the binding tests accordingly.

We also update the async iterator handling of end of iteration.
Previously, we would use whether the promise resolves with undefined to detect 
the end of iteration.
This does not work with ReadableStreams since undefined is a valid value to 
queue/dequeue.

For that purpose, we do a preliminary step of introducing an IsFinished object 
that is handling whether the iterator is finished.
We use the IsFinished state to determine when creating the JS iterator tuple 
whether done is false or true.

Whenever reject is closed, we mark the IsFinished object as finished.
Ditto for now when the resolved value is undefined.
A follow-up patch will change this for ReadableStream.

We update the binding generator test to align with WebIDL requirement 
(arguments need to all be optional).

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



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

Reply via email to