[wpt-sync] Sync PR 43295 - DOM: Introduce SubscribeOptions for Observable API
Categories
(Core :: DOM: Core & HTML, task, P4)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox122 | --- | fixed |
People
(Reporter: wpt-sync, Unassigned)
References
()
Details
(Whiteboard: [wptsync downstream])
Sync web-platform-tests PR 43295 into mozilla-central (this bug is closed when the sync is complete).
PR: https://github.com/web-platform-tests/wpt/pull/43295
Details from upstream follow.
Dominic Farolino <dom@chromium.org> wrote:
DOM: Introduce SubscribeOptions for Observable API
This PR separates the AbortSignal from the callbacks passed into
subscribe()via theObserverdictionary, into its own dictionary,
where future options may live. This is a particularly useful ergonomic
change for chaining Observables together.See https://github.com/WICG/observable/pull/85 and
https://github.com/WICG/observable/issues/71 for any relevant design
discussion.Bug: 1485981
Change-Id: I9b9f9cf26cb8b7a71d2aab7811ad681386cbfd5a
Reviewed-on: https://chromium-review.googlesource.com/5046377
WPT-Export-Revision: 77bbd753dc9a808d5b1cf8c9ca5cb3056a47a465
| Assignee | ||
Comment 1•1 year ago
|
||
| Assignee | ||
Updated•1 year ago
|
| Assignee | ||
Comment 2•1 year ago
|
||
| Assignee | ||
Comment 3•1 year ago
|
||
CI Results
Ran 9 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI
Total 2 tests and 30 subtests
Status Summary
Firefox
OK : 2
FAIL: 60
Chrome
OK : 2
PASS: 44
FAIL: 16
Safari
OK : 2
FAIL: 60
Links
Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base
Details
New Tests That Don't Pass
- /dom/observable/tentative/observable-constructor.any.worker.html [wpt.fyi]
- Observable constructor:
FAIL(Chrome:PASS, Safari:FAIL) - Subscriber interface is not constructible:
FAIL(Chrome:PASS, Safari:FAIL) - subscribe() can be called with no arguments:
FAIL(Chrome:PASS, Safari:FAIL) - Observable constructor calls initializer on subscribe:
FAIL(Chrome:PASS, Safari:FAIL) - Observable error path called synchronously:
FAIL(Chrome:PASS, Safari:FAIL) - Observable should error if initializer throws:
FAIL(Chrome:PASS, Safari:FAIL) - Subscription is inactive after complete():
FAIL(Chrome:PASS, Safari:FAIL) - Subscription is inactive after error():
FAIL(Chrome:PASS, Safari:FAIL) - Subscription is inactive when aborted signal is passed in:
FAIL(Chrome:FAIL, Safari:FAIL) - Subscriber#signal is not the same AbortSignal as the one passed into
subscribe():FAIL(Chrome:PASS, Safari:FAIL) - Subscription does not emit values after completion:
FAIL(Chrome:PASS, Safari:FAIL) - Subscription does not emit values after error:
FAIL(Chrome:PASS, Safari:FAIL) - Completing or nexting a subscriber after an error does nothing:
FAIL(Chrome:PASS, Safari:FAIL) - Errors pushed to the subscriber that are not handled by the subscription are reported to the global:
FAIL(Chrome:PASS, Safari:FAIL) - Errors thrown in the initializer that are not handled by the subscription are reported to the global:
FAIL(Chrome:PASS, Safari:FAIL) - Subscription reports errors that are pushed after subscriber is closed by completion:
FAIL(Chrome:PASS, Safari:FAIL) - Errors thrown by initializer function after subscriber is closed by completion are reported:
FAIL(Chrome:PASS, Safari:FAIL) - Errors thrown by initializer function after subscriber is closed by error are reported:
FAIL(Chrome:PASS, Safari:FAIL) - Errors pushed by initializer function after subscriber is closed by error are reported:
FAIL(Chrome:PASS, Safari:FAIL) - Subscriber#complete() cannot re-entrantly invoke itself:
FAIL(Chrome:PASS, Safari:FAIL) - Subscriber#error() cannot re-entrantly invoke itself:
FAIL(Chrome:PASS, Safari:FAIL) - Unsubscription lifecycle:
FAIL(Chrome:FAIL, Safari:FAIL) - Aborting a subscription should stop emitting values:
FAIL(Chrome:FAIL, Safari:FAIL) - Calling subscribe should never throw an error synchronously, initializer throws error:
FAIL(Chrome:PASS, Safari:FAIL) - Calling subscribe should never throw an error synchronously, subscriber pushes error:
FAIL(Chrome:PASS, Safari:FAIL) - Teardown should be called when subscription is aborted:
FAIL(Chrome:FAIL, Safari:FAIL) - Teardowns should be called when subscription is closed by completion:
FAIL(Chrome:FAIL, Safari:FAIL) - Teardowns should be called when subscription is closed by subscriber pushing an error:
FAIL(Chrome:FAIL, Safari:FAIL) - Teardowns should be called when subscription is closed by subscriber throwing error:
FAIL(Chrome:FAIL, Safari:FAIL) - Teardowns should be called synchronously during addTeardown() if the subscription is inactive:
FAIL(Chrome:FAIL, Safari:FAIL)
- Observable constructor:
- /dom/observable/tentative/observable-constructor.any.html [wpt.fyi]
- Observable constructor:
FAIL(Chrome:PASS, Safari:FAIL) - Subscriber interface is not constructible:
FAIL(Chrome:PASS, Safari:FAIL) - subscribe() can be called with no arguments:
FAIL(Chrome:PASS, Safari:FAIL) - Observable constructor calls initializer on subscribe:
FAIL(Chrome:PASS, Safari:FAIL) - Observable error path called synchronously:
FAIL(Chrome:PASS, Safari:FAIL) - Observable should error if initializer throws:
FAIL(Chrome:PASS, Safari:FAIL) - Subscription is inactive after complete():
FAIL(Chrome:PASS, Safari:FAIL) - Subscription is inactive after error():
FAIL(Chrome:PASS, Safari:FAIL) - Subscription is inactive when aborted signal is passed in:
FAIL(Chrome:FAIL, Safari:FAIL) - Subscriber#signal is not the same AbortSignal as the one passed into
subscribe():FAIL(Chrome:PASS, Safari:FAIL) - Subscription does not emit values after completion:
FAIL(Chrome:PASS, Safari:FAIL) - Subscription does not emit values after error:
FAIL(Chrome:PASS, Safari:FAIL) - Completing or nexting a subscriber after an error does nothing:
FAIL(Chrome:PASS, Safari:FAIL) - Errors pushed to the subscriber that are not handled by the subscription are reported to the global:
FAIL(Chrome:PASS, Safari:FAIL) - Errors thrown in the initializer that are not handled by the subscription are reported to the global:
FAIL(Chrome:PASS, Safari:FAIL) - Subscription reports errors that are pushed after subscriber is closed by completion:
FAIL(Chrome:PASS, Safari:FAIL) - Errors thrown by initializer function after subscriber is closed by completion are reported:
FAIL(Chrome:PASS, Safari:FAIL) - Errors thrown by initializer function after subscriber is closed by error are reported:
FAIL(Chrome:PASS, Safari:FAIL) - Errors pushed by initializer function after subscriber is closed by error are reported:
FAIL(Chrome:PASS, Safari:FAIL) - Subscriber#complete() cannot re-entrantly invoke itself:
FAIL(Chrome:PASS, Safari:FAIL) - Subscriber#error() cannot re-entrantly invoke itself:
FAIL(Chrome:PASS, Safari:FAIL) - Unsubscription lifecycle:
FAIL(Chrome:FAIL, Safari:FAIL) - Aborting a subscription should stop emitting values:
FAIL(Chrome:FAIL, Safari:FAIL) - Calling subscribe should never throw an error synchronously, initializer throws error:
FAIL(Chrome:PASS, Safari:FAIL) - Calling subscribe should never throw an error synchronously, subscriber pushes error:
FAIL(Chrome:PASS, Safari:FAIL) - Teardown should be called when subscription is aborted:
FAIL(Chrome:FAIL, Safari:FAIL) - Teardowns should be called when subscription is closed by completion:
FAIL(Chrome:FAIL, Safari:FAIL) - Teardowns should be called when subscription is closed by subscriber pushing an error:
FAIL(Chrome:FAIL, Safari:FAIL) - Teardowns should be called when subscription is closed by subscriber throwing error:
FAIL(Chrome:FAIL, Safari:FAIL) - Teardowns should be called synchronously during addTeardown() if the subscription is inactive:
FAIL(Chrome:FAIL, Safari:FAIL)
- Observable constructor:
Comment 6•1 year ago
|
||
| bugherder | ||
Description
•