Skip to content

Commit

Permalink
Bug 1920020 [wpt PR 48280] - DOM: Implement abortable async iterable …
Browse files Browse the repository at this point in the history
…Observables, a=testonly

Automatic update from web-platform-tests
DOM: Implement abortable async iterable Observables

The IteratorRecord#return() function exists as an optional method that
sync and async iterator records can supply [1] [2]. They allow for the
language, or any consumer of an iterable, to signal to the iterable that
the consumer will stop consuming values prematurely (i.e., before
exhaustion).

This method must be invoked when the consumer aborts its subscription
to an Observable that was derived from an iterable. The abort reason is
supplied to the `return()` iterator function for completeness. This CL:
  1. Adds tests for sync & async iterables
  2. Implements this for async iterables

A follow-up CL will implement this for sync iterables.

The semantics are specified in
WICG/observable#160.

[1]:
https://tc39.es/ecma262/#table-iterator-interface-optional-properties
[2]: https://tc39.es/ecma262/#table-async-iterator-optional

Bug: 40282760
Change-Id: Ie1091b24b233afecdec572feadc129bcc8a2d4d3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5854985
Reviewed-by: Mason Freed <masonfchromium.org>
Commit-Queue: Dominic Farolino <domchromium.org>
Reviewed-by: Nate Chapin <japhetchromium.org>
Cr-Commit-Position: refs/heads/main{#1359083}

--

wpt-commits: 83154d0455e572de16e84ebee72f56df73d2ceb3
wpt-pr: 48280

UltraBlame original commit: 3bc676bcae7a77bead1736e9310110ec2cb53e56
  • Loading branch information
marco-c committed Sep 26, 2024
1 parent 52a9b94 commit c455600
Showing 1 changed file with 440 additions and 0 deletions.
Loading

0 comments on commit c455600

Please sign in to comment.