Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DOM: Implement async iterable conversion support for Observables #48214

Merged
merged 1 commit into from
Sep 17, 2024

Conversation

chromium-wpt-export-bot
Copy link
Collaborator

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:

  1. Support for calling the Async Iterator's return() method 1 when
    an Observable — when consuming an async iterable — aborts its
    subscription before iterable exhaustion.
  2. A possible refactor to move some of the logic that handles the
    ScriptIterator into ScriptIterator itself, per discussion in
    2.

R=masonf@chromium.org

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}

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:

 1. Support for calling the Async Iterator's `return()` method [1] when
    an Observable — when consuming an async iterable — aborts its
    subscription before iterable exhaustion.
 3. A possible refactor to move some of the logic that handles the
    `ScriptIterator` into `ScriptIterator` itself, per discussion in
    [2].

[1]: https://tc39.es/ecma262/#sec-asynciterator-interface
[2]: https://chromium-review.googlesource.com/c/chromium/src/+/5840672/comment/72df95a9_dd32d801/

R=masonf@chromium.org

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}
Copy link
Collaborator

@wpt-pr-bot wpt-pr-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The review process for this patch is being conducted in the Chromium project.

@chromium-wpt-export-bot chromium-wpt-export-bot merged commit 4b27fc7 into master Sep 17, 2024
16 checks passed
@chromium-wpt-export-bot chromium-wpt-export-bot deleted the chromium-export-77a8e718d1 branch September 17, 2024 01:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants