From d87274641684fac84366f4835fea880f75448942 Mon Sep 17 00:00:00 2001 From: Steven Date: Wed, 4 Mar 2026 20:57:22 -0500 Subject: [PATCH 1/5] [import-bytes] add "bytes" sec-fetch-dest and accept --- fetch.bs | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/fetch.bs b/fetch.bs index 22d460293..b098cae31 100755 --- a/fetch.bs +++ b/fetch.bs @@ -1819,6 +1819,7 @@ device to assist defining CSP and Mixed Content. It is not exposed to JavaScript the empty string, "audio", "audioworklet", +"bytes", "document", "embed", "font", @@ -1874,7 +1875,7 @@ not always relevant and might require different behavior. CSP directive Features - "" + "" "report" — CSP, NEL reports. @@ -1950,6 +1951,10 @@ not always relevant and might require different behavior. "json" connect-src import "..." with { type: "json" } + + "bytes" + connect-src + import "..." with { type: "bytes" } "style" style-src @@ -2303,6 +2308,7 @@ bookkeeping details by the fetch algorithm.

A subresource request is a request whose destination is "audio", "audioworklet", +"bytes", "font", "image", "json", "manifest", "paintworklet", "script", "style", "track", "video", "xslt", or the empty string. @@ -3079,10 +3085,10 @@ optional WebTransport-hash list given key, url's origin, credentials, proxy, an implementation-defined host from hosts, timingInfo, requireUnreliable, and webTransportHashes an - implementation-defined number of times, in parallel from each other, and wait for - at least 1 to return a value. In an implementation-defined manner, select a value to - return from the returned values and return it. Any other returned values that are - connections may be closed. +implementation-defined number of times, in parallel from each other, and wait for +at least 1 to return a value. In an implementation-defined manner, select a value to +return from the returned values and return it. Any other returned values that are +connections may be closed.

Essentially this allows an implementation to pick one or more IP addresses from the return value of resolve an origin (assuming @@ -4684,6 +4690,9 @@ the response. [[!HTTP-CACHING]]

"json"
`application/json,*/*;q=0.5` +
"bytes" +
`*/*` +
"style"
`text/css,*/*;q=0.1` @@ -8414,7 +8423,7 @@ dictionary RequestInit { any window; // can only be set to null }; -enum RequestDestination { "", "audio", "audioworklet", "document", "embed", "font", "frame", "iframe", "image", "json", "manifest", "object", "paintworklet", "report", "script", "sharedworker", "style", "track", "video", "worker", "xslt" }; +enum RequestDestination { "", "audio", "audioworklet", "bytes", "document", "embed", "font", "frame", "iframe", "image", "json", "manifest", "object", "paintworklet", "report", "script", "sharedworker", "style", "track", "video", "worker", "xslt" }; enum RequestMode { "navigate", "same-origin", "no-cors", "cors" }; enum RequestCredentials { "omit", "same-origin", "include" }; enum RequestCache { "default", "no-store", "reload", "no-cache", "force-cache", "only-if-cached" }; From 3b78a7b0b71dfdf669e7784c6461dc787a9f5696 Mon Sep 17 00:00:00 2001 From: Steven Date: Sun, 29 Mar 2026 14:40:30 -0700 Subject: [PATCH 2/5] fix: apply suggestions from review --- fetch.bs | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/fetch.bs b/fetch.bs index b098cae31..bfdc55a80 100755 --- a/fetch.bs +++ b/fetch.bs @@ -2308,10 +2308,10 @@ bookkeeping details by the fetch algorithm.

A subresource request is a request whose destination is "audio", "audioworklet", -"bytes", -"font", "image", "json", "manifest", -"paintworklet", "script", "style", "track", -"video", "xslt", or the empty string. + +"bytes", "font", "image", "json", +"manifest", "paintworklet", "script", "style", +"track", "video", "xslt", or the empty string.

A non-subresource request is a request whose destination is "document", "embed", @@ -3085,10 +3085,10 @@ optional WebTransport-hash list given key, url's origin, credentials, proxy, an implementation-defined host from hosts, timingInfo, requireUnreliable, and webTransportHashes an -implementation-defined number of times, in parallel from each other, and wait for -at least 1 to return a value. In an implementation-defined manner, select a value to -return from the returned values and return it. Any other returned values that are -connections may be closed. + implementation-defined number of times, in parallel from each other, and wait for + at least 1 to return a value. In an implementation-defined manner, select a value to + return from the returned values and return it. Any other returned values that are + connections may be closed.

Essentially this allows an implementation to pick one or more IP addresses from the return value of resolve an origin (assuming @@ -4679,6 +4679,9 @@ the response. [[!HTTP-CACHING]]

+
"bytes" +
`*/*` +
"document"
"frame"
"iframe" @@ -4690,9 +4693,6 @@ the response. [[!HTTP-CACHING]]
"json"
`application/json,*/*;q=0.5` -
"bytes" -
`*/*` -
"style"
`text/css,*/*;q=0.1`
From 5f1121fa55704101554ddca63e67a7adc8b1a9f2 Mon Sep 17 00:00:00 2001 From: Steven Date: Thu, 7 May 2026 20:46:24 -0400 Subject: [PATCH 3/5] fix merge conflicts --- fetch.bs | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/fetch.bs b/fetch.bs index 2ce24a78c..fddd3143b 100755 --- a/fetch.bs +++ b/fetch.bs @@ -2328,15 +2328,11 @@ When a request is [=request/cloned=], the created request gets a unique

A subresource request is a request whose destination is "audio", "audioworklet", -<<<<<<< styfle/import-bytes "bytes", "font", "image", "json", "manifest", "paintworklet", "script", "style", -======= -"font", "image", "json", "manifest", -"paintworklet", "script", "style", "text", ->>>>>>> main -"track", "video", "xslt", or the empty string. +"text", "track", "video", "xslt", or the empty +string.

A non-subresource request is a request whose destination is "document", "embed", @@ -8487,11 +8483,7 @@ dictionary RequestInit { any window; // can only be set to null }; -<<<<<<< styfle/import-bytes -enum RequestDestination { "", "audio", "audioworklet", "bytes", "document", "embed", "font", "frame", "iframe", "image", "json", "manifest", "object", "paintworklet", "report", "script", "sharedworker", "style", "track", "video", "worker", "xslt" }; -======= -enum RequestDestination { "", "audio", "audioworklet", "document", "embed", "font", "frame", "iframe", "image", "json", "manifest", "object", "paintworklet", "report", "script", "sharedworker", "style", "text", "track", "video", "worker", "xslt" }; ->>>>>>> main +enum RequestDestination { "", "audio", "audioworklet", "bytes", "document", "embed", "font", "frame", "iframe", "image", "json", "manifest", "object", "paintworklet", "report", "script", "sharedworker", "style", "text", "track", "video", "worker", "xslt" }; enum RequestMode { "navigate", "same-origin", "no-cors", "cors" }; enum RequestCredentials { "omit", "same-origin", "include" }; enum RequestCache { "default", "no-store", "reload", "no-cache", "force-cache", "only-if-cached" }; From f7eb0e9c12efeccb2f454ed76d1dff82915a67cd Mon Sep 17 00:00:00 2001 From: Steven Date: Thu, 7 May 2026 20:47:16 -0400 Subject: [PATCH 4/5] remove whitespace --- fetch.bs | 1 - 1 file changed, 1 deletion(-) diff --git a/fetch.bs b/fetch.bs index fddd3143b..8c8b557e3 100755 --- a/fetch.bs +++ b/fetch.bs @@ -2328,7 +2328,6 @@ When a request is [=request/cloned=], the created request gets a unique

A subresource request is a request whose destination is "audio", "audioworklet", - "bytes", "font", "image", "json", "manifest", "paintworklet", "script", "style", "text", "track", "video", "xslt", or the empty From bd8e3074529d5cddab64d07ea66c52fd99c0cf4b Mon Sep 17 00:00:00 2001 From: Steven Date: Thu, 7 May 2026 21:06:04 -0400 Subject: [PATCH 5/5] fix destination table rowspan --- fetch.bs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fetch.bs b/fetch.bs index 8c8b557e3..bb311189c 100755 --- a/fetch.bs +++ b/fetch.bs @@ -1876,7 +1876,7 @@ not always relevant and might require different behavior. CSP directive Features - "" + "" "report" — CSP, NEL reports.