- From: Domenic Denicola <notifications@github.com>
- Date: Mon, 03 Apr 2023 00:54:15 -0700
- To: whatwg/dom <dom@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
- Message-ID: <whatwg/dom/pull/1152/review/1368463480@github.com>
@domenic approved this pull request. Normatively LGTM, a few suggestions for making things a bit cleaner. > them. For instance, if the operation has already completed. -<p>To <dfn export for=AbortSignal>signal abort</dfn>, given an {{AbortSignal}} object -<var>signal</var> and an optional <var>reason</var>, run these steps: +<p>To <dfn for=AbortSignal>signal abort</dfn>, given an {{AbortSignal}} object <var>signal</var> and +an optional <var>reason</var>, run these steps: Nit: while here, you could remove `, run these steps`, as is the modern style. And also remove it from the below newly-added algorithm. > - <li><p>If <var>parentSignal</var> is [=AbortSignal/aborted=], then - <a for=AbortSignal>signal abort</a> on <var>followingSignal</var> with <var>parentSignal</var>'s - [=AbortSignal/abort reason=]. + <p class=XXX>As of the time of this writing Web IDL does not yet define any default behavior; + see <a href="https://github.com/whatwg/webidl/issues/135">whatwg/webidl#135</a>. It might be better just to make the realm argument mandatory. For the `AbortSignal.any` caller, the correct realm is the current Realm. > @@ -1828,6 +1837,17 @@ JavaScript value. It is undefined unless specified otherwise. <a for=/>set</a> of algorithms which are to be executed when it is [=AbortSignal/aborted=]. Unless specified otherwise, its value is the empty set. +<p>An {{AbortSignal}} object has a <dfn for="AbortSignal">composite</dfn> (a boolean), which is +initially false. + +<p>An {{AbortSignal}} object has associated <dfn for=AbortSignal>source signals</dfn>, which is a +<a for=/>set</a> of weak references to {{AbortSignal}} objects that the object is dependent on for +its [=AbortSignal/aborted=] state. Unless specified otherwise, its value is the empty set. + +<p>An {{AbortSignal}} object has associated <dfn for=AbortSignal>dependent signals</dfn>, which is a +<a for=/>set</a> of weak references to {{AbortSignal}} objects that are dependent on it for their +[=AbortSignal/aborted=] state. Unless specified otherwise, its value is the empty set. + This section has gotten a little disorganized. E.g. add/remove are no longer next to "abort algorithms"; "is aborted" is in the middle of a bunch of field definitions; most field definitions use "unless specified otherwise", but one uses "initially". Suggested ordering: - Fields first. I like "initially" better than "unless specified otherwise". - `<hr>` - API definitions - `<hr>` - Supporting algorithms, including add/remove and "is aborted". > @@ -1828,6 +1837,17 @@ JavaScript value. It is undefined unless specified otherwise. <a for=/>set</a> of algorithms which are to be executed when it is [=AbortSignal/aborted=]. Unless specified otherwise, its value is the empty set. +<p>An {{AbortSignal}} object has a <dfn for="AbortSignal">composite</dfn> (a boolean), which is +initially false. + +<p>An {{AbortSignal}} object has associated <dfn for=AbortSignal>source signals</dfn>, which is a +<a for=/>set</a> of weak references to {{AbortSignal}} objects that the object is dependent on for +its [=AbortSignal/aborted=] state. Unless specified otherwise, its value is the empty set. + +<p>An {{AbortSignal}} object has associated <dfn for=AbortSignal>dependent signals</dfn>, which is a +<a for=/>set</a> of weak references to {{AbortSignal}} objects that are dependent on it for their +[=AbortSignal/aborted=] state. Unless specified otherwise, its value is the empty set. I think these should be "weak sets" instead of "sets of weak references". The difference is not behaviorally significant, but I think you'd need more verbiage to rigorously manage a set of weak references. E.g., instead of "Append _sourceSignal_ to ..." you'd need "Append a weak reference to _sourceSignal_ to...". And you'd need to dereference and null-check and so on. -- Reply to this email directly or view it on GitHub: https://github.com/whatwg/dom/pull/1152#pullrequestreview-1368463480 You are receiving this because you are subscribed to this thread. Message ID: <whatwg/dom/pull/1152/review/1368463480@github.com>
Received on Monday, 3 April 2023 07:54:29 UTC