← back to v154 · fetch-api-forward-reason-from-abortcontroller-to-fetch-response

conformance · v154

v154 · fetch-api-forward-reason-from-abortcontroller-to-fetch-response — conformance probe

7 assertions drawn from the spec. Each is a single contract the spec text makes. Pass/fail reflects what this browser executed; blocked means the contract was not run because it needs user mediation, hardware, or another unavailable precondition. Open the page in Chrome stable / canary / Firefox / Safari to compare.

browser: spec: https://fetch.spec.whatwg.org/ chromestatus: #5158507786665984 generated 2026-08-28T03:10:00Z by claude-opus-5-v154-build
0
pass
0
fail
0
blocked
7
total
id contract kind verdict detail
abort-accepts-a-reason AbortController.abort() takes an arbitrary reason and stores it on the signal. This is the mechanism the whole feature forwards. spec ↗ script
abort-without-a-reason-supplies-an-aborterror With no argument the platform supplies an AbortError DOMException, so signal.reason is never undefined on an aborted signal. spec ↗ script
fetch-promise-rejects-with-the-reason The pre-existing behaviour: aborting an in-flight request rejects the fetch promise with the reason itself. spec ↗ script
response-text-rejects-with-the-reason The change itself: after the Response exists, aborting must reject body-reading methods with the SAME reason rather than a substituted AbortError. Before Chrome 154 this rejected with a generic DOMException and the reason was lost. spec ↗ script
body-stream-rejects-with-the-reason The body's ReadableStream must surface the reason too. A streaming reader is where long downloads spend their time, so this is the site that matters most in practice. spec ↗ script
abortsignal-any-composes-signals AbortSignal.any() composes a user controller with a deadline, which is the wiring that makes distinguishing the two causes necessary in the first place. spec ↗ script
timeout-signals-use-timeouterror AbortSignal.timeout() aborts with a TimeoutError DOMException, not an AbortError — which is what lets a handler tell a deadline from a cancellation by name alone. spec ↗ script