diff --git a/dom.bs b/dom.bs index e67515e7..a1f89782 100644 --- a/dom.bs +++ b/dom.bs @@ -2033,16 +2033,42 @@ an optional reason:
  • Set signal's [=AbortSignal/abort reason=] to reason if it is given; otherwise to a new "{{AbortError!!exception}}" {{DOMException}}. +

  • Let dependentSignalsToAbort be a new list. + +

  • +

    For each dependentSignal of signal's + [=AbortSignal/dependent signals=]: + +

      +
    1. +

      If dependentSignal is not [=AbortSignal/aborted=], then: + +

        +
      1. Set dependentSignal's [=AbortSignal/abort reason=] to signal's + [=AbortSignal/abort reason=]. + +

      2. Append dependentSignal to + dependentSignalsToAbort. +

      +
    + +
  • Run the abort steps for signal. + +

  • For each dependentSignal of dependentSignalsToAbort, + run the abort steps for dependentSignal. + + + +

    +

    To run the abort steps for an {{AbortSignal}} signal: + +

    1. For each algorithm of signal's [=AbortSignal/abort algorithms=]: run algorithm.

    2. Empty signal's abort algorithms.

    3. [=Fire an event=] named {{AbortSignal/abort}} at signal. - -

    4. For each dependentSignal of signal's - [=AbortSignal/dependent signals=], [=AbortSignal/signal abort=] on dependentSignal with - signal's [=AbortSignal/abort reason=].