- From: Vincent Hilla <notifications@github.com>
- Date: Thu, 20 Jun 2024 00:26:32 -0700
- To: whatwg/dom <dom@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
Received on Thursday, 20 June 2024 07:26:36 UTC
### What is the issue with the DOM Standard?
In Gecko [Bug 1903676](https://bugzilla.mozilla.org/show_bug.cgi?id=1903676), a test case was found where the assertion in [create a dependent abort signal](https://dom.spec.whatwg.org/#create-a-dependent-abort-signal) step 4.2.1. does not hold. I believe this is a spec issue.
Here is the example
```
let a = new AbortController();
let b = AbortSignal.any([a.signal]);
a.signal.addEventListener("abort", () => {
AbortSignal.any([b]);
console.log(b.aborted, a.signal.aborted); // false, true
})
a.abort();
```
During the abort event of `a`, we create a dependent signal from `b`, which is not yet aborted. If `b` is not aborted and dependent on `a`, the spec expects `a` to be not aborted too and asserts this. The problem is that [signal abort](https://dom.spec.whatwg.org/#abortsignal-signal-abort) fires the event before aborting the dependent signals, steps 5 and 6 of signal abort could be switched to resolve this issue.
@shaseley
--
Reply to this email directly or view it on GitHub:
https://github.com/whatwg/dom/issues/1293
You are receiving this because you are subscribed to this thread.
Message ID: <whatwg/dom/issues/1293@github.com>
Received on Thursday, 20 June 2024 07:26:36 UTC