DOM: Implement async iterable conversion support for Observables
This CL implements async iterator support for Observables, and adds tons
of WPTs exercising subtle functionality of iterable and async iterable
Observable conversion semantics. It implements the spec text in
WICG/observable#160, and is a follow-up to
https://crrev.com/c/5840672, which brings async iterable support to core
bindings code.
This CL amounts to a partial implementation of async iterable support;
what's missing and what will be included as a follow-up is:
- Support for calling the Async Iterator's
return()
method 1 when
an Observable — when consuming an async iterable — aborts its
subscription before iterable exhaustion. - A possible refactor to move some of the logic that handles the
ScriptIterator
intoScriptIterator
itself, per discussion in
2.
Bug: 40282760, 363015168
Change-Id: I5f31f4028613245025de71b8975fc92e9d1def0a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5850509
Reviewed-by: Mason Freed masonf@chromium.org
Commit-Queue: Dominic Farolino dom@chromium.org
Cr-Commit-Position: refs/heads/main@{#1356228}