Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 98d27146dcf5b6f44ffb3286b42acc199c694f42
https://github.com/WebKit/WebKit/commit/98d27146dcf5b6f44ffb3286b42acc199c694f42
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/Modules/streams/ReadableStream.cpp
M Source/WebCore/Modules/streams/ReadableStream.h
M Source/WebCore/bindings/js/JSDOMAsyncIterator.h
Log Message:
-----------
Add proper error forwarding for ReadableStream async iterable
rdar://165607857
https://bugs.webkit.org/show_bug.cgi?id=303306
Reviewed by Chris Dumez.
We finalize the support of end of iteration by having ReadableStream::Iterator
implement a isFinished getter.
This is usd by JSDOMAsyncIteratorBase to identify when the next promise
resolves whether the iteration is done.
We then mark the IsFinish object as finished according ReadableStream::Iterator
isFinished getter.
This is done in getNextIterationResult.
We also add a way to iterate asynchronously via DOMPromise:
- ReadableStream::Iterator::next returns a Ref<DOMPromise>
- JSDOMAsyncIteratorBase::getNextIterationResult will return the promise.
This allows ReadableStream::Iterator to forward any error that may be given to
it.
We use IsAsyncIteratorNextReturningPromise concept to detect whether
ReadableStream::Iterator::next is using the new code path.
We keep the old code path and plan to rework it in a follow-up.
All ReadableStream async iterator tests are now passing.
Covered by existing tests.
Canonical link: https://commits.webkit.org/303865@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications