From a2243888d00a9aad54faaf67308652d58ba4b94b Mon Sep 17 00:00:00 2001 From: Tim van der Lippe Date: Sat, 13 Sep 2025 11:27:08 +0200 Subject: [PATCH 1/5] Mark `AbortSignal` as nullable The getter steps [1] specify to return `this.signal`. Its signal is nullable [2] and therefore the getter should also be nullable. [1]: https://fetch.spec.whatwg.org/#dom-request-signal [2]: https://fetch.spec.whatwg.org/#request-signal --- fetch.bs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fetch.bs b/fetch.bs index f00f3c966..d91df3cda 100755 --- a/fetch.bs +++ b/fetch.bs @@ -8254,7 +8254,7 @@ interface Request { readonly attribute boolean keepalive; readonly attribute boolean isReloadNavigation; readonly attribute boolean isHistoryNavigation; - readonly attribute AbortSignal signal; + readonly attribute AbortSignal? signal; readonly attribute RequestDuplex duplex; [NewObject] Request clone(); From 1002d6e5ca74e67c475a82c198bea3fdb9d8db2b Mon Sep 17 00:00:00 2001 From: Tim van der Lippe Date: Tue, 16 Sep 2025 19:56:31 +0200 Subject: [PATCH 2/5] Update fetch.bs --- fetch.bs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/fetch.bs b/fetch.bs index d91df3cda..3d1957a23 100755 --- a/fetch.bs +++ b/fetch.bs @@ -8254,7 +8254,7 @@ interface Request { readonly attribute boolean keepalive; readonly attribute boolean isReloadNavigation; readonly attribute boolean isHistoryNavigation; - readonly attribute AbortSignal? signal; + readonly attribute AbortSignal signal; readonly attribute RequestDuplex duplex; [NewObject] Request clone(); @@ -8919,6 +8919,10 @@ set; otherwise false.

The signal getter steps are to return this's signal. +

this's signal is always initialized in the +constructor and when +half". From 1b2314d79df9c9e813bf26f59f8f9ea545ae1102 Mon Sep 17 00:00:00 2001 From: Tim van der Lippe Date: Tue, 16 Sep 2025 19:57:56 +0200 Subject: [PATCH 3/5] Add missing quote --- fetch.bs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fetch.bs b/fetch.bs index 3d1957a23..1075abf25 100755 --- a/fetch.bs +++ b/fetch.bs @@ -8921,7 +8921,7 @@ set; otherwise false.

this's signal is always initialized in the constructor and when -cloning.

The duplex getter steps are to return "half". From b2705c6771445ec62c0046715feb8437830334ae Mon Sep 17 00:00:00 2001 From: Tim van der Lippe Date: Wed, 17 Sep 2025 17:50:35 +0200 Subject: [PATCH 4/5] Update fetch.bs --- fetch.bs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/fetch.bs b/fetch.bs index 1075abf25..70506e3a2 100755 --- a/fetch.bs +++ b/fetch.bs @@ -8748,7 +8748,7 @@ constructor steps are:

  • Let signals be « signal » if signal is non-null; otherwise « ». -

  • Set this's signal to the result of +

  • Set this's signal to the result of creating a dependent abort signal from signals, using {{AbortSignal}} and this's relevant realm. @@ -8919,9 +8919,9 @@ set; otherwise false.

    The signal getter steps are to return this's signal. -

    this's signal is always initialized in the -constructor and when -cloning. +

    This's signal is always initialized in the +constructor and when +cloning.

    The duplex getter steps are to return "half". @@ -8937,7 +8937,7 @@ set; otherwise false.

  • Let clonedRequest be the result of cloning this's request. -

  • Assert: this's signal is non-null. +

  • Assert: this's signal is non-null.

  • Let clonedSignal be the result of creating a dependent abort signal from « this's signal », using {{AbortSignal}} and this's From f275bd3a5c544ea4cbad0cf934da41ab6416c237 Mon Sep 17 00:00:00 2001 From: Tim van der Lippe Date: Thu, 18 Sep 2025 15:53:47 +0200 Subject: [PATCH 5/5] Update fetch.bs --- fetch.bs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fetch.bs b/fetch.bs index 70506e3a2..b0c5b0a3b 100755 --- a/fetch.bs +++ b/fetch.bs @@ -8937,9 +8937,9 @@ set; otherwise false.

  • Let clonedRequest be the result of cloning this's request. -

  • Assert: this's signal is non-null. +

  • Assert: this's signal is non-null. -

  • Let clonedSignal be the result of creating a dependent abort signal from +

  • Let clonedSignal be the result of creating a dependent abort signal from « this's signal », using {{AbortSignal}} and this's relevant realm.