From 46662cf7c5daa9348e1c5de47744acad4a900817 Mon Sep 17 00:00:00 2001 From: dietrich ayala Date: Wed, 4 Dec 2024 14:32:13 +0000 Subject: [PATCH 01/20] Add more Fetch/XHR keys --- features/fetch.yml | 8 ++++++++ features/xhr.yml | 1 + 2 files changed, 9 insertions(+) diff --git a/features/fetch.yml b/features/fetch.yml index 0ce6e421761..b2e79b4676b 100644 --- a/features/fetch.yml +++ b/features/fetch.yml @@ -6,6 +6,7 @@ status: compute_from: api.fetch compat_features: - api.Headers + - api.Headers.@@iterator - api.Headers.Headers - api.Headers.append - api.Headers.delete @@ -22,6 +23,7 @@ compat_features: - api.Request - api.Request.Request - api.Request.Request.cross_origin_stripped + - api.Request.Request.init_keepalive_parameter - api.Request.Request.init_referrer_parameter - api.Request.Request.request_body_readablestream - api.Request.Request.response_body_readablestream @@ -36,6 +38,7 @@ compat_features: - api.Request.credentials - api.Request.credentials.default_same-origin - api.Request.destination + - api.Request.duplex - api.Request.formData - api.Request.integrity - api.Request.isHistoryNavigation @@ -80,3 +83,8 @@ compat_features: - api.fetch.blob_data_support - api.fetch.init_keepalive_parameter - api.fetch.init_referrerPolicy_parameter + - http.headers.Cross-Origin-Resource-Policy + - http.headers.Sec-Purpose + - http.headers.Sec-Purpose.prefetch + - http.headers.Sec-Purpose.speculationrules + - http.headers.X-Content-Type-Options diff --git a/features/xhr.yml b/features/xhr.yml index 6d359dc10cc..bf36385d225 100644 --- a/features/xhr.yml +++ b/features/xhr.yml @@ -32,6 +32,7 @@ compat_features: - api.XMLHttpRequest.XMLHttpRequest - api.XMLHttpRequest.abort - api.XMLHttpRequest.abort_event + - api.XMLHttpRequest.authorization_removed_cross_origin - api.XMLHttpRequest.error_event - api.XMLHttpRequest.getAllResponseHeaders - api.XMLHttpRequest.getAllResponseHeaders.header_names_lowercase From 48440e79b997c765fbc98e77a63ddece343cd1bd Mon Sep 17 00:00:00 2001 From: dietrich ayala Date: Thu, 5 Dec 2024 11:02:25 +0000 Subject: [PATCH 02/20] regen --- features/fetch.yml.dist | 55 +++++++++++++++++++++++++++++++++++++++++ features/xhr.yml.dist | 8 ++++++ 2 files changed, 63 insertions(+) diff --git a/features/fetch.yml.dist b/features/fetch.yml.dist index 2fedf207def..bb469231317 100644 --- a/features/fetch.yml.dist +++ b/features/fetch.yml.dist @@ -139,6 +139,7 @@ compat_features: # firefox_android: "44" # safari: "10.1" # safari_ios: "10.3" + - api.Headers.@@iterator - api.Headers.entries - api.Headers.keys - api.Headers.values @@ -195,6 +196,19 @@ compat_features: # safari_ios: "10.3" - api.Headers.iterate_combined_duplicates + # baseline: high + # baseline_low_date: 2018-01-23 + # baseline_high_date: 2020-07-23 + # support: + # chrome: "64" + # chrome_android: "64" + # edge: "12" + # firefox: "50" + # firefox_android: "50" + # safari: "11" + # safari_ios: "11" + - http.headers.X-Content-Type-Options + # baseline: high # baseline_low_date: 2018-01-23 # baseline_high_date: 2020-07-23 @@ -312,6 +326,19 @@ compat_features: # safari_ios: "10.3" - api.Response.Response.accept_readablestream + # baseline: high + # baseline_low_date: 2020-07-28 + # baseline_high_date: 2023-01-28 + # support: + # chrome: "73" + # chrome_android: "73" + # edge: "79" + # firefox: "74" + # firefox_android: "79" + # safari: "12" + # safari_ios: "12" + - http.headers.Cross-Origin-Resource-Policy + # baseline: high # baseline_low_date: 2021-04-26 # baseline_high_date: 2023-10-26 @@ -360,6 +387,7 @@ compat_features: # firefox_android: "133" # safari: "13" # safari_ios: "13" + - api.Request.Request.init_keepalive_parameter - api.Request.keepalive - api.fetch.init_keepalive_parameter @@ -412,6 +440,15 @@ compat_features: # safari_ios: "11.3" - api.Request.body + # baseline: false + # support: + # chrome: "110" + # chrome_android: "110" + # edge: "110" + # firefox: "115" + # firefox_android: "115" + - http.headers.Sec-Purpose + # baseline: false # support: # chrome: "116" @@ -452,9 +489,27 @@ compat_features: # edge: "105" - api.Request.Request.request_body_readablestream + # baseline: false + # support: + # chrome: "110" + # chrome_android: "110" + # edge: "110" + - http.headers.Sec-Purpose.speculationrules + # baseline: false # support: # chrome: "124" # chrome_android: "124" # edge: "124" - api.Request.targetAddressSpace + + # baseline: false + # support: + # firefox: "115" + # firefox_android: "115" + - http.headers.Sec-Purpose.prefetch + + # baseline: false + # support: + # chrome: "131" + - api.Request.duplex diff --git a/features/xhr.yml.dist b/features/xhr.yml.dist index c9eb9ef29a6..ce9a3ce5854 100644 --- a/features/xhr.yml.dist +++ b/features/xhr.yml.dist @@ -450,3 +450,11 @@ compat_features: # safari: "10" # safari_ios: "10" - api.ProgressEvent.worker_support + + # baseline: false + # support: + # firefox: "111" + # firefox_android: "111" + # safari: "16.1" + # safari_ios: "16.1" + - api.XMLHttpRequest.authorization_removed_cross_origin From 3fb2c4fe59cbb89de24bbfe5491183c9612e9ead Mon Sep 17 00:00:00 2001 From: dietrich ayala Date: Tue, 10 Dec 2024 15:25:36 +0100 Subject: [PATCH 03/20] fixes --- features/cors.yml | 1 + features/cors.yml.dist | 13 +++++++++++++ features/fetch.yml | 2 -- features/fetch.yml.dist | 21 +-------------------- features/speculation-rules.yml | 1 + features/speculation-rules.yml.dist | 1 + 6 files changed, 17 insertions(+), 22 deletions(-) diff --git a/features/cors.yml b/features/cors.yml index df2b29054d1..b42d170c6ac 100644 --- a/features/cors.yml +++ b/features/cors.yml @@ -17,3 +17,4 @@ compat_features: - http.headers.Access-Control-Max-Age - http.headers.Access-Control-Request-Headers - http.headers.Access-Control-Request-Method + - http.headers.Cross-Origin-Resource-Policy diff --git a/features/cors.yml.dist b/features/cors.yml.dist index 5ab6c5ccd53..5fa5ce98a7c 100644 --- a/features/cors.yml.dist +++ b/features/cors.yml.dist @@ -62,6 +62,19 @@ compat_features: # safari_ios: "13" - http.headers.Access-Control-Expose-Headers.wildcard + # baseline: high + # baseline_low_date: 2020-07-28 + # baseline_high_date: 2023-01-28 + # support: + # chrome: "73" + # chrome_android: "73" + # edge: "79" + # firefox: "74" + # firefox_android: "79" + # safari: "12" + # safari_ios: "12" + - http.headers.Cross-Origin-Resource-Policy + # baseline: false # support: {} - http.headers.Access-Control-Allow-Headers.authorization_not_covered_by_wildcard diff --git a/features/fetch.yml b/features/fetch.yml index b2e79b4676b..68d55048358 100644 --- a/features/fetch.yml +++ b/features/fetch.yml @@ -83,8 +83,6 @@ compat_features: - api.fetch.blob_data_support - api.fetch.init_keepalive_parameter - api.fetch.init_referrerPolicy_parameter - - http.headers.Cross-Origin-Resource-Policy - http.headers.Sec-Purpose - http.headers.Sec-Purpose.prefetch - - http.headers.Sec-Purpose.speculationrules - http.headers.X-Content-Type-Options diff --git a/features/fetch.yml.dist b/features/fetch.yml.dist index bb469231317..cfd5340c4bd 100644 --- a/features/fetch.yml.dist +++ b/features/fetch.yml.dist @@ -326,19 +326,6 @@ compat_features: # safari_ios: "10.3" - api.Response.Response.accept_readablestream - # baseline: high - # baseline_low_date: 2020-07-28 - # baseline_high_date: 2023-01-28 - # support: - # chrome: "73" - # chrome_android: "73" - # edge: "79" - # firefox: "74" - # firefox_android: "79" - # safari: "12" - # safari_ios: "12" - - http.headers.Cross-Origin-Resource-Policy - # baseline: high # baseline_low_date: 2021-04-26 # baseline_high_date: 2023-10-26 @@ -489,13 +476,6 @@ compat_features: # edge: "105" - api.Request.Request.request_body_readablestream - # baseline: false - # support: - # chrome: "110" - # chrome_android: "110" - # edge: "110" - - http.headers.Sec-Purpose.speculationrules - # baseline: false # support: # chrome: "124" @@ -512,4 +492,5 @@ compat_features: # baseline: false # support: # chrome: "131" + # edge: "131" - api.Request.duplex diff --git a/features/speculation-rules.yml b/features/speculation-rules.yml index 2e5534bc736..17bc3a4305d 100644 --- a/features/speculation-rules.yml +++ b/features/speculation-rules.yml @@ -20,6 +20,7 @@ compat_features: - html.elements.script.type.speculationrules.urls - html.elements.script.type.speculationrules.where - http.headers.Content-Security-Policy.script-src.inline-speculation-rules + - http.headers.Sec-Purpose.speculationrules - http.headers.Speculation-Rules - http.headers.Supports-Loading-Mode - http.headers.Supports-Loading-Mode.credentialed-prerender diff --git a/features/speculation-rules.yml.dist b/features/speculation-rules.yml.dist index 8d48e23628c..872ef32084f 100644 --- a/features/speculation-rules.yml.dist +++ b/features/speculation-rules.yml.dist @@ -45,6 +45,7 @@ compat_features: # chrome_android: "110" # edge: "110" - http.headers.Content-Security-Policy.script-src.inline-speculation-rules + - http.headers.Sec-Purpose.speculationrules # baseline: false # support: From 7141680987e56bde5ae48a4b37e9a0a75a3804c3 Mon Sep 17 00:00:00 2001 From: dietrich ayala Date: Tue, 10 Dec 2024 16:12:19 +0100 Subject: [PATCH 04/20] put keys in home --- features/fetch.yml | 2 -- features/fetch.yml.dist | 15 --------------- features/{draft/spec => }/prefetch.yml | 1 - features/{draft/spec => }/prefetch.yml.dist | 0 features/speculation-rules.yml.dist | 1 - 5 files changed, 19 deletions(-) rename features/{draft/spec => }/prefetch.yml (85%) rename features/{draft/spec => }/prefetch.yml.dist (100%) diff --git a/features/fetch.yml b/features/fetch.yml index 68d55048358..eec19d86192 100644 --- a/features/fetch.yml +++ b/features/fetch.yml @@ -83,6 +83,4 @@ compat_features: - api.fetch.blob_data_support - api.fetch.init_keepalive_parameter - api.fetch.init_referrerPolicy_parameter - - http.headers.Sec-Purpose - - http.headers.Sec-Purpose.prefetch - http.headers.X-Content-Type-Options diff --git a/features/fetch.yml.dist b/features/fetch.yml.dist index cfd5340c4bd..5acfda5d6b7 100644 --- a/features/fetch.yml.dist +++ b/features/fetch.yml.dist @@ -427,15 +427,6 @@ compat_features: # safari_ios: "11.3" - api.Request.body - # baseline: false - # support: - # chrome: "110" - # chrome_android: "110" - # edge: "110" - # firefox: "115" - # firefox_android: "115" - - http.headers.Sec-Purpose - # baseline: false # support: # chrome: "116" @@ -483,12 +474,6 @@ compat_features: # edge: "124" - api.Request.targetAddressSpace - # baseline: false - # support: - # firefox: "115" - # firefox_android: "115" - - http.headers.Sec-Purpose.prefetch - # baseline: false # support: # chrome: "131" diff --git a/features/draft/spec/prefetch.yml b/features/prefetch.yml similarity index 85% rename from features/draft/spec/prefetch.yml rename to features/prefetch.yml index 39d060a1b4f..f5951e8654a 100644 --- a/features/draft/spec/prefetch.yml +++ b/features/prefetch.yml @@ -6,4 +6,3 @@ compat_features: - api.PerformanceResourceTiming.deliveryType.navigational-prefetch - http.headers.Sec-Purpose - http.headers.Sec-Purpose.prefetch - - http.headers.Sec-Purpose.speculationrules diff --git a/features/draft/spec/prefetch.yml.dist b/features/prefetch.yml.dist similarity index 100% rename from features/draft/spec/prefetch.yml.dist rename to features/prefetch.yml.dist diff --git a/features/speculation-rules.yml.dist b/features/speculation-rules.yml.dist index 872ef32084f..8d48e23628c 100644 --- a/features/speculation-rules.yml.dist +++ b/features/speculation-rules.yml.dist @@ -45,7 +45,6 @@ compat_features: # chrome_android: "110" # edge: "110" - http.headers.Content-Security-Policy.script-src.inline-speculation-rules - - http.headers.Sec-Purpose.speculationrules # baseline: false # support: From 76d83f8b0c73598ddbf23d5e0f44d35dd6d070ea Mon Sep 17 00:00:00 2001 From: dietrich ayala Date: Tue, 10 Dec 2024 16:27:07 +0100 Subject: [PATCH 05/20] regen --- features/prefetch.yml.dist | 7 ------- features/speculation-rules.yml.dist | 1 + 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/features/prefetch.yml.dist b/features/prefetch.yml.dist index af5b140a0aa..120058df2b0 100644 --- a/features/prefetch.yml.dist +++ b/features/prefetch.yml.dist @@ -14,13 +14,6 @@ compat_features: # firefox_android: "115" - http.headers.Sec-Purpose - # baseline: false - # support: - # chrome: "110" - # chrome_android: "110" - # edge: "110" - - http.headers.Sec-Purpose.speculationrules - # baseline: false # support: # chrome: "117" diff --git a/features/speculation-rules.yml.dist b/features/speculation-rules.yml.dist index 8d48e23628c..872ef32084f 100644 --- a/features/speculation-rules.yml.dist +++ b/features/speculation-rules.yml.dist @@ -45,6 +45,7 @@ compat_features: # chrome_android: "110" # edge: "110" - http.headers.Content-Security-Policy.script-src.inline-speculation-rules + - http.headers.Sec-Purpose.speculationrules # baseline: false # support: From c7156a0a6e86c7045969ff8d3ab87786ef9005f7 Mon Sep 17 00:00:00 2001 From: dietrich ayala Date: Wed, 11 Dec 2024 11:52:03 +0100 Subject: [PATCH 06/20] update desc --- features/prefetch.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/features/prefetch.yml b/features/prefetch.yml index f5951e8654a..cf106824ba7 100644 --- a/features/prefetch.yml +++ b/features/prefetch.yml @@ -1,6 +1,5 @@ -draft_date: 2024-10-21 name: Prefetch -description: TODO +description: The `Sec-Purpose` HTTP header with a value of `prefetch` indicates that a resource can be requested in anticipation of a near future navigation, such as a page linked in search results or a link that a user has hovered over. spec: https://wicg.github.io/nav-speculation/prefetch.html compat_features: - api.PerformanceResourceTiming.deliveryType.navigational-prefetch From 9d0d5701e13f9f33d6cf94f4dee3a982432e83bb Mon Sep 17 00:00:00 2001 From: dietrich ayala Date: Wed, 11 Dec 2024 12:13:41 +0100 Subject: [PATCH 07/20] add resource hints --- features/resource-hints.yml | 16 +++++++ features/resource-hints.yml.dist | 79 ++++++++++++++++++++++++++++++++ 2 files changed, 95 insertions(+) create mode 100644 features/resource-hints.yml create mode 100644 features/resource-hints.yml.dist diff --git a/features/resource-hints.yml b/features/resource-hints.yml new file mode 100644 index 00000000000..95c49801f54 --- /dev/null +++ b/features/resource-hints.yml @@ -0,0 +1,16 @@ +name: Resource hints +description: TODO - collection of `` values related to resource hinting. Whole feature or many small ones? +spec: + - https://html.spec.whatwg.org/multipage/links.html#link-type-prefetch +compat_features: + - html.elements.link.rel.dns-prefetch + - html.elements.link.rel.expect + - html.elements.link.rel.preconnect + - html.elements.link.rel.prefetch + - html.elements.link.rel.preload + - html.elements.link.rel.preload.as-fetch + - html.elements.link.rel.preload.as-font + - html.elements.link.rel.preload.as-image + - html.elements.link.rel.preload.as-script + - html.elements.link.rel.preload.as-style + - html.elements.link.rel.preload.as-track diff --git a/features/resource-hints.yml.dist b/features/resource-hints.yml.dist new file mode 100644 index 00000000000..2cc6122edc4 --- /dev/null +++ b/features/resource-hints.yml.dist @@ -0,0 +1,79 @@ +# Generated from: resource-hints.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: false + support: + chrome: "124" + chrome_android: "124" + edge: "124" +compat_features: + # baseline: high + # baseline_low_date: 2020-01-15 + # baseline_high_date: 2022-07-15 + # support: + # chrome: "46" + # chrome_android: "46" + # edge: "79" + # firefox: "39" + # firefox_android: "39" + # safari: "11.1" + # safari_ios: "11.3" + - html.elements.link.rel.preconnect + + # baseline: high + # baseline_low_date: ≤2020-01-15 + # baseline_high_date: ≤2022-07-15 + # support: + # chrome: "46" + # chrome_android: "46" + # edge: ≤79 + # firefox: "3" + # firefox_android: "4" + # safari: "5" + # safari_ios: "4.2" + - html.elements.link.rel.dns-prefetch + + # baseline: high + # baseline_low_date: 2021-01-26 + # baseline_high_date: 2023-07-26 + # support: + # chrome: "50" + # chrome_android: "50" + # edge: ≤79 + # firefox: "85" + # firefox_android: "85" + # safari: "11.1" + # safari_ios: "11.3" + - html.elements.link.rel.preload + - html.elements.link.rel.preload.as-fetch + - html.elements.link.rel.preload.as-font + - html.elements.link.rel.preload.as-image + - html.elements.link.rel.preload.as-script + - html.elements.link.rel.preload.as-style + + # baseline: false + # support: + # chrome: "8" + # chrome_android: "18" + # edge: "12" + # firefox: "2" + # firefox_android: "4" + - html.elements.link.rel.prefetch + + # baseline: false + # support: + # chrome: "50" + # chrome_android: "50" + # edge: ≤79 + # safari: "11.1" + # safari_ios: "11.3" + - html.elements.link.rel.preload.as-track + + # ⬇️ Same status as overall feature ⬇️ + # baseline: false + # support: + # chrome: "124" + # chrome_android: "124" + # edge: "124" + - html.elements.link.rel.expect From 3af8fc6f85e9f200ef73c0bd8e7f5ca665e60d02 Mon Sep 17 00:00:00 2001 From: dietrich ayala Date: Fri, 13 Dec 2024 11:17:02 +0100 Subject: [PATCH 08/20] update desc --- features/prefetch.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/features/prefetch.yml b/features/prefetch.yml index cf106824ba7..869c7b1e593 100644 --- a/features/prefetch.yml +++ b/features/prefetch.yml @@ -1,5 +1,5 @@ name: Prefetch -description: The `Sec-Purpose` HTTP header with a value of `prefetch` indicates that a resource can be requested in anticipation of a near future navigation, such as a page linked in search results or a link that a user has hovered over. +description: The `Sec-Purpose` HTTP header with a value of `prefetch` signals that a resource can be requested in anticipation of a near future navigation, such as a page linked in search results or a link that a user has hovered over. spec: https://wicg.github.io/nav-speculation/prefetch.html compat_features: - api.PerformanceResourceTiming.deliveryType.navigational-prefetch From f958095fd33b25afe4f1c99661197f6343b13c81 Mon Sep 17 00:00:00 2001 From: dietrich ayala Date: Fri, 13 Dec 2024 12:04:17 +0100 Subject: [PATCH 09/20] break out rel types --- features/link-rel-dns-prefetch.yml | 6 ++++++ features/link-rel-dns-prefetch.yml.dist | 17 +++++++++++++++++ features/link-rel-expect.yml | 5 +++++ features/link-rel-expect.yml.dist | 11 +++++++++++ features/link-rel-preconnect.yml | 5 +++++ features/link-rel-preconnect.yml.dist | 17 +++++++++++++++++ features/link-rel-prefetch.yml | 6 ++++++ features/link-rel-prefetch.yml.dist | 13 +++++++++++++ ...{resource-hints.yml => link-rel-preload.yml} | 8 ++++---- ...hints.yml.dist => link-rel-preload.yml.dist} | 2 +- 10 files changed, 85 insertions(+), 5 deletions(-) create mode 100644 features/link-rel-dns-prefetch.yml create mode 100644 features/link-rel-dns-prefetch.yml.dist create mode 100644 features/link-rel-expect.yml create mode 100644 features/link-rel-expect.yml.dist create mode 100644 features/link-rel-preconnect.yml create mode 100644 features/link-rel-preconnect.yml.dist create mode 100644 features/link-rel-prefetch.yml create mode 100644 features/link-rel-prefetch.yml.dist rename features/{resource-hints.yml => link-rel-preload.yml} (55%) rename features/{resource-hints.yml.dist => link-rel-preload.yml.dist} (97%) diff --git a/features/link-rel-dns-prefetch.yml b/features/link-rel-dns-prefetch.yml new file mode 100644 index 00000000000..cb136bf6f2f --- /dev/null +++ b/features/link-rel-dns-prefetch.yml @@ -0,0 +1,6 @@ +name: '' +description: The `rel="dns-prefetch"` attribute for the `` HTML element is a hint that the user is likely to need resources from the target resource's origin, so the browser should preemptively perform DNS resolution for that origin. +spec: https://html.spec.whatwg.org/multipage/links.html#link-type-dns-prefetch +caniuse: link-rel-dns-prefetch +compat_features: + - html.elements.link.rel.dns-prefetch diff --git a/features/link-rel-dns-prefetch.yml.dist b/features/link-rel-dns-prefetch.yml.dist new file mode 100644 index 00000000000..38910c04aba --- /dev/null +++ b/features/link-rel-dns-prefetch.yml.dist @@ -0,0 +1,17 @@ +# Generated from: link-rel-dns-prefetch.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: high + baseline_low_date: ≤2020-01-15 + baseline_high_date: ≤2022-07-15 + support: + chrome: "46" + chrome_android: "46" + edge: ≤79 + firefox: "3" + firefox_android: "4" + safari: "5" + safari_ios: "4.2" +compat_features: + - html.elements.link.rel.dns-prefetch diff --git a/features/link-rel-expect.yml b/features/link-rel-expect.yml new file mode 100644 index 00000000000..c1e79c0d15a --- /dev/null +++ b/features/link-rel-expect.yml @@ -0,0 +1,5 @@ +name: '' +description: The `rel="expect"` attribute for the `` HTML element hints to browsers to block rendering until the element that it references is connected to the document and fully parsed. +spec: https://html.spec.whatwg.org/multipage/links.html#link-type-expect +compat_features: + - html.elements.link.rel.expect diff --git a/features/link-rel-expect.yml.dist b/features/link-rel-expect.yml.dist new file mode 100644 index 00000000000..59f2ae18696 --- /dev/null +++ b/features/link-rel-expect.yml.dist @@ -0,0 +1,11 @@ +# Generated from: link-rel-expect.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: false + support: + chrome: "124" + chrome_android: "124" + edge: "124" +compat_features: + - html.elements.link.rel.expect diff --git a/features/link-rel-preconnect.yml b/features/link-rel-preconnect.yml new file mode 100644 index 00000000000..6acd67d4708 --- /dev/null +++ b/features/link-rel-preconnect.yml @@ -0,0 +1,5 @@ +name: '' +description: The `rel="preconnect"` attribute for the `` HTML element hints that the user is likely to need resources from the target resource's origin, so the browser should preemptively initiate a connection to that origin. +spec: https://html.spec.whatwg.org/multipage/links.html#link-type-preconnect +compat_features: + - html.elements.link.rel.preconnect diff --git a/features/link-rel-preconnect.yml.dist b/features/link-rel-preconnect.yml.dist new file mode 100644 index 00000000000..365013a5476 --- /dev/null +++ b/features/link-rel-preconnect.yml.dist @@ -0,0 +1,17 @@ +# Generated from: link-rel-preconnect.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: high + baseline_low_date: 2020-01-15 + baseline_high_date: 2022-07-15 + support: + chrome: "46" + chrome_android: "46" + edge: "79" + firefox: "39" + firefox_android: "39" + safari: "11.1" + safari_ios: "11.3" +compat_features: + - html.elements.link.rel.preconnect diff --git a/features/link-rel-prefetch.yml b/features/link-rel-prefetch.yml new file mode 100644 index 00000000000..c32fcde9d6b --- /dev/null +++ b/features/link-rel-prefetch.yml @@ -0,0 +1,6 @@ +name: '' +description: The `rel="prefetch"` attribute for the `` HTML element hints to browsers that the user is likely to need the target resource for future navigations, so the browser should preemptively fetch and cache the resource. +spec: https://html.spec.whatwg.org/multipage/links.html#link-type-prefetch +caniuse: link-rel-prefetch +compat_features: + - html.elements.link.rel.prefetch diff --git a/features/link-rel-prefetch.yml.dist b/features/link-rel-prefetch.yml.dist new file mode 100644 index 00000000000..86025ea77df --- /dev/null +++ b/features/link-rel-prefetch.yml.dist @@ -0,0 +1,13 @@ +# Generated from: link-rel-prefetch.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: false + support: + chrome: "8" + chrome_android: "18" + edge: "12" + firefox: "2" + firefox_android: "4" +compat_features: + - html.elements.link.rel.prefetch diff --git a/features/resource-hints.yml b/features/link-rel-preload.yml similarity index 55% rename from features/resource-hints.yml rename to features/link-rel-preload.yml index 95c49801f54..3e283599cf9 100644 --- a/features/resource-hints.yml +++ b/features/link-rel-preload.yml @@ -1,7 +1,7 @@ -name: Resource hints -description: TODO - collection of `` values related to resource hinting. Whole feature or many small ones? -spec: - - https://html.spec.whatwg.org/multipage/links.html#link-type-prefetch +name: '' +description: The `rel="prefetch"` attribute for the `` HTML element hints to browsers that the user is likely to need the target resource for future navigations, so the browser should preemptively fetch and cache the resource. +spec: https://html.spec.whatwg.org/multipage/links.html#link-type-prefetch +caniuse: link-rel-prefetch compat_features: - html.elements.link.rel.dns-prefetch - html.elements.link.rel.expect diff --git a/features/resource-hints.yml.dist b/features/link-rel-preload.yml.dist similarity index 97% rename from features/resource-hints.yml.dist rename to features/link-rel-preload.yml.dist index 2cc6122edc4..7f751e4a5c0 100644 --- a/features/resource-hints.yml.dist +++ b/features/link-rel-preload.yml.dist @@ -1,4 +1,4 @@ -# Generated from: resource-hints.yml +# Generated from: link-rel-preload.yml # Do not edit this file by hand. Edit the source file instead! status: From 2c7aa309d76051c70b2f97b75b1b29abbaae3476 Mon Sep 17 00:00:00 2001 From: dietrich ayala Date: Fri, 13 Dec 2024 12:13:29 +0100 Subject: [PATCH 10/20] preload --- features/link-rel-preload.yml | 12 +++---- features/link-rel-preload.yml.dist | 52 ++++-------------------------- 2 files changed, 10 insertions(+), 54 deletions(-) diff --git a/features/link-rel-preload.yml b/features/link-rel-preload.yml index 3e283599cf9..64dadf9eda7 100644 --- a/features/link-rel-preload.yml +++ b/features/link-rel-preload.yml @@ -1,12 +1,8 @@ -name: '' -description: The `rel="prefetch"` attribute for the `` HTML element hints to browsers that the user is likely to need the target resource for future navigations, so the browser should preemptively fetch and cache the resource. -spec: https://html.spec.whatwg.org/multipage/links.html#link-type-prefetch -caniuse: link-rel-prefetch +name: '' +description: The `rel="preload"` attribute for the `` HTML element lets you declare fetch requests in the HTML's `, specifying resources such as images or style sheets that your page will need very soon, which you want to the browser to start loading before main rendering begins. +spec: https://html.spec.whatwg.org/multipage/links.html#link-type-preload +caniuse: link-rel-preload compat_features: - - html.elements.link.rel.dns-prefetch - - html.elements.link.rel.expect - - html.elements.link.rel.preconnect - - html.elements.link.rel.prefetch - html.elements.link.rel.preload - html.elements.link.rel.preload.as-fetch - html.elements.link.rel.preload.as-font diff --git a/features/link-rel-preload.yml.dist b/features/link-rel-preload.yml.dist index 7f751e4a5c0..267c30b076f 100644 --- a/features/link-rel-preload.yml.dist +++ b/features/link-rel-preload.yml.dist @@ -4,36 +4,12 @@ status: baseline: false support: - chrome: "124" - chrome_android: "124" - edge: "124" + chrome: "50" + chrome_android: "50" + edge: ≤79 + safari: "11.1" + safari_ios: "11.3" compat_features: - # baseline: high - # baseline_low_date: 2020-01-15 - # baseline_high_date: 2022-07-15 - # support: - # chrome: "46" - # chrome_android: "46" - # edge: "79" - # firefox: "39" - # firefox_android: "39" - # safari: "11.1" - # safari_ios: "11.3" - - html.elements.link.rel.preconnect - - # baseline: high - # baseline_low_date: ≤2020-01-15 - # baseline_high_date: ≤2022-07-15 - # support: - # chrome: "46" - # chrome_android: "46" - # edge: ≤79 - # firefox: "3" - # firefox_android: "4" - # safari: "5" - # safari_ios: "4.2" - - html.elements.link.rel.dns-prefetch - # baseline: high # baseline_low_date: 2021-01-26 # baseline_high_date: 2023-07-26 @@ -52,15 +28,7 @@ compat_features: - html.elements.link.rel.preload.as-script - html.elements.link.rel.preload.as-style - # baseline: false - # support: - # chrome: "8" - # chrome_android: "18" - # edge: "12" - # firefox: "2" - # firefox_android: "4" - - html.elements.link.rel.prefetch - + # ⬇️ Same status as overall feature ⬇️ # baseline: false # support: # chrome: "50" @@ -69,11 +37,3 @@ compat_features: # safari: "11.1" # safari_ios: "11.3" - html.elements.link.rel.preload.as-track - - # ⬇️ Same status as overall feature ⬇️ - # baseline: false - # support: - # chrome: "124" - # chrome_android: "124" - # edge: "124" - - html.elements.link.rel.expect From d7ffcd2ca99de612292b87fbb47db7d125f6b7d5 Mon Sep 17 00:00:00 2001 From: dietrich ayala Date: Fri, 13 Dec 2024 12:18:41 +0100 Subject: [PATCH 11/20] compute preload --- features/link-rel-preload.yml | 2 ++ features/link-rel-preload.yml.dist | 8 ++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/features/link-rel-preload.yml b/features/link-rel-preload.yml index 64dadf9eda7..0ac2715fb1d 100644 --- a/features/link-rel-preload.yml +++ b/features/link-rel-preload.yml @@ -2,6 +2,8 @@ name: '' description: The `rel="preload"` attribute for the `` HTML element lets you declare fetch requests in the HTML's `, specifying resources such as images or style sheets that your page will need very soon, which you want to the browser to start loading before main rendering begins. spec: https://html.spec.whatwg.org/multipage/links.html#link-type-preload caniuse: link-rel-preload +status: + compute_from: html.elements.link.rel.preload compat_features: - html.elements.link.rel.preload - html.elements.link.rel.preload.as-fetch diff --git a/features/link-rel-preload.yml.dist b/features/link-rel-preload.yml.dist index 267c30b076f..f0868415cf9 100644 --- a/features/link-rel-preload.yml.dist +++ b/features/link-rel-preload.yml.dist @@ -2,14 +2,19 @@ # Do not edit this file by hand. Edit the source file instead! status: - baseline: false + baseline: high + baseline_low_date: 2021-01-26 + baseline_high_date: 2023-07-26 support: chrome: "50" chrome_android: "50" edge: ≤79 + firefox: "85" + firefox_android: "85" safari: "11.1" safari_ios: "11.3" compat_features: + # ⬇️ Same status as overall feature ⬇️ # baseline: high # baseline_low_date: 2021-01-26 # baseline_high_date: 2023-07-26 @@ -28,7 +33,6 @@ compat_features: - html.elements.link.rel.preload.as-script - html.elements.link.rel.preload.as-style - # ⬇️ Same status as overall feature ⬇️ # baseline: false # support: # chrome: "50" From 1634d2f2906651cfaa17d02778b366845b7d55ff Mon Sep 17 00:00:00 2001 From: Dietrich Ayala <50103+autonome@users.noreply.github.com> Date: Mon, 16 Dec 2024 20:13:55 +0700 Subject: [PATCH 12/20] Update features/link-rel-dns-prefetch.yml Co-authored-by: Daniel D. Beck --- features/link-rel-dns-prefetch.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/features/link-rel-dns-prefetch.yml b/features/link-rel-dns-prefetch.yml index cb136bf6f2f..23c2a3f060a 100644 --- a/features/link-rel-dns-prefetch.yml +++ b/features/link-rel-dns-prefetch.yml @@ -1,5 +1,5 @@ name: '' -description: The `rel="dns-prefetch"` attribute for the `` HTML element is a hint that the user is likely to need resources from the target resource's origin, so the browser should preemptively perform DNS resolution for that origin. +description: The `rel="dns-prefetch"` attribute for the `` HTML element is a hint to the browser that the page or user is likely to request resources from another domain, so the browser should preemptively resolve DNS for the `href` value's domain. spec: https://html.spec.whatwg.org/multipage/links.html#link-type-dns-prefetch caniuse: link-rel-dns-prefetch compat_features: From bf041f7277438f925d94dc29873f928b3f322728 Mon Sep 17 00:00:00 2001 From: Dietrich Ayala <50103+autonome@users.noreply.github.com> Date: Mon, 16 Dec 2024 20:21:22 +0700 Subject: [PATCH 13/20] Update features/link-rel-expect.yml Co-authored-by: Daniel D. Beck --- features/link-rel-expect.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/features/link-rel-expect.yml b/features/link-rel-expect.yml index c1e79c0d15a..204a5d1dfc7 100644 --- a/features/link-rel-expect.yml +++ b/features/link-rel-expect.yml @@ -1,5 +1,5 @@ name: '' -description: The `rel="expect"` attribute for the `` HTML element hints to browsers to block rendering until the element that it references is connected to the document and fully parsed. +description: The `rel="expect"` attribute for the `` HTML element is a hint to the browser to block rendering until the element that the `href` value references is connected to the document and fully parsed. spec: https://html.spec.whatwg.org/multipage/links.html#link-type-expect compat_features: - html.elements.link.rel.expect From d4f43e7d38f66a283e98f0c4e955fc5e892d8ed2 Mon Sep 17 00:00:00 2001 From: Dietrich Ayala <50103+autonome@users.noreply.github.com> Date: Mon, 16 Dec 2024 20:21:48 +0700 Subject: [PATCH 14/20] Update features/link-rel-preconnect.yml Co-authored-by: Daniel D. Beck --- features/link-rel-preconnect.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/features/link-rel-preconnect.yml b/features/link-rel-preconnect.yml index 6acd67d4708..675b2e43d23 100644 --- a/features/link-rel-preconnect.yml +++ b/features/link-rel-preconnect.yml @@ -1,5 +1,5 @@ name: '' -description: The `rel="preconnect"` attribute for the `` HTML element hints that the user is likely to need resources from the target resource's origin, so the browser should preemptively initiate a connection to that origin. +description: The `rel="preconnect"` attribute for the `` HTML element is a hint to the browser that the page or user is likely to request resources from another origin, so the browser should preemptively start a connection to the `href` value's origin. spec: https://html.spec.whatwg.org/multipage/links.html#link-type-preconnect compat_features: - html.elements.link.rel.preconnect From bf0e9c0adcc9dd71bf31735da0cb64e1235da197 Mon Sep 17 00:00:00 2001 From: Dietrich Ayala <50103+autonome@users.noreply.github.com> Date: Mon, 16 Dec 2024 20:22:16 +0700 Subject: [PATCH 15/20] Update features/link-rel-prefetch.yml Co-authored-by: Daniel D. Beck --- features/link-rel-prefetch.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/features/link-rel-prefetch.yml b/features/link-rel-prefetch.yml index c32fcde9d6b..a779e8f42c6 100644 --- a/features/link-rel-prefetch.yml +++ b/features/link-rel-prefetch.yml @@ -1,5 +1,5 @@ name: '' -description: The `rel="prefetch"` attribute for the `` HTML element hints to browsers that the user is likely to need the target resource for future navigations, so the browser should preemptively fetch and cache the resource. +description: The `rel="prefetch"` attribute for the `` HTML element is a hint to the browser that the user is likely to navigate to a resource, so the browser should preemptively fetch and cache the resource. spec: https://html.spec.whatwg.org/multipage/links.html#link-type-prefetch caniuse: link-rel-prefetch compat_features: From ca60086cb8086d237e326b37285bdde0ebcccca4 Mon Sep 17 00:00:00 2001 From: dietrich ayala Date: Mon, 16 Dec 2024 14:31:01 +0100 Subject: [PATCH 16/20] remove prefetch, merge into link-rel-prefetch --- features/link-rel-prefetch.yml | 3 +++ features/prefetch.yml | 7 ------- 2 files changed, 3 insertions(+), 7 deletions(-) delete mode 100644 features/prefetch.yml diff --git a/features/link-rel-prefetch.yml b/features/link-rel-prefetch.yml index c32fcde9d6b..32e542a51b6 100644 --- a/features/link-rel-prefetch.yml +++ b/features/link-rel-prefetch.yml @@ -3,4 +3,7 @@ description: The `rel="prefetch"` attribute for the `` HTML element hints spec: https://html.spec.whatwg.org/multipage/links.html#link-type-prefetch caniuse: link-rel-prefetch compat_features: + - api.PerformanceResourceTiming.deliveryType.navigational-prefetch - html.elements.link.rel.prefetch + - http.headers.Sec-Purpose + - http.headers.Sec-Purpose.prefetch diff --git a/features/prefetch.yml b/features/prefetch.yml deleted file mode 100644 index 869c7b1e593..00000000000 --- a/features/prefetch.yml +++ /dev/null @@ -1,7 +0,0 @@ -name: Prefetch -description: The `Sec-Purpose` HTTP header with a value of `prefetch` signals that a resource can be requested in anticipation of a near future navigation, such as a page linked in search results or a link that a user has hovered over. -spec: https://wicg.github.io/nav-speculation/prefetch.html -compat_features: - - api.PerformanceResourceTiming.deliveryType.navigational-prefetch - - http.headers.Sec-Purpose - - http.headers.Sec-Purpose.prefetch From d88b788a3e512c6cfc394c6b8eef8b76f1e8b4c4 Mon Sep 17 00:00:00 2001 From: dietrich ayala Date: Mon, 16 Dec 2024 14:32:18 +0100 Subject: [PATCH 17/20] regen --- features/link-rel-prefetch.yml.dist | 36 ++++++++++++++++++++++++----- features/prefetch.yml.dist | 28 ---------------------- 2 files changed, 30 insertions(+), 34 deletions(-) delete mode 100644 features/prefetch.yml.dist diff --git a/features/link-rel-prefetch.yml.dist b/features/link-rel-prefetch.yml.dist index 86025ea77df..6b31baad319 100644 --- a/features/link-rel-prefetch.yml.dist +++ b/features/link-rel-prefetch.yml.dist @@ -3,11 +3,35 @@ status: baseline: false - support: - chrome: "8" - chrome_android: "18" - edge: "12" - firefox: "2" - firefox_android: "4" + support: {} compat_features: + # baseline: false + # support: + # chrome: "8" + # chrome_android: "18" + # edge: "12" + # firefox: "2" + # firefox_android: "4" - html.elements.link.rel.prefetch + + # baseline: false + # support: + # chrome: "110" + # chrome_android: "110" + # edge: "110" + # firefox: "115" + # firefox_android: "115" + - http.headers.Sec-Purpose + + # baseline: false + # support: + # chrome: "117" + # chrome_android: "117" + # edge: "117" + - api.PerformanceResourceTiming.deliveryType.navigational-prefetch + + # baseline: false + # support: + # firefox: "115" + # firefox_android: "115" + - http.headers.Sec-Purpose.prefetch diff --git a/features/prefetch.yml.dist b/features/prefetch.yml.dist deleted file mode 100644 index 120058df2b0..00000000000 --- a/features/prefetch.yml.dist +++ /dev/null @@ -1,28 +0,0 @@ -# Generated from: prefetch.yml -# Do not edit this file by hand. Edit the source file instead! - -status: - baseline: false - support: {} -compat_features: - # baseline: false - # support: - # chrome: "110" - # chrome_android: "110" - # edge: "110" - # firefox: "115" - # firefox_android: "115" - - http.headers.Sec-Purpose - - # baseline: false - # support: - # chrome: "117" - # chrome_android: "117" - # edge: "117" - - api.PerformanceResourceTiming.deliveryType.navigational-prefetch - - # baseline: false - # support: - # firefox: "115" - # firefox_android: "115" - - http.headers.Sec-Purpose.prefetch From 3524924b18c5ee4b92c3531bc6716683b3311e0e Mon Sep 17 00:00:00 2001 From: dietrich ayala Date: Tue, 17 Dec 2024 15:02:09 +0100 Subject: [PATCH 18/20] update desc for preload --- features/link-rel-preload.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/features/link-rel-preload.yml b/features/link-rel-preload.yml index 0ac2715fb1d..63b534661f4 100644 --- a/features/link-rel-preload.yml +++ b/features/link-rel-preload.yml @@ -1,5 +1,5 @@ name: '' -description: The `rel="preload"` attribute for the `` HTML element lets you declare fetch requests in the HTML's `, specifying resources such as images or style sheets that your page will need very soon, which you want to the browser to start loading before main rendering begins. +description: The `rel="preload"` attribute for the `` HTML element lets you declare fetch requests in the HTML's ` for resources such as images or style sheets that your page will need very soon, so the browser can queue them at a high priority for loading before main rendering begins. spec: https://html.spec.whatwg.org/multipage/links.html#link-type-preload caniuse: link-rel-preload status: From fc651e5365d5dc3e7a7720bb793f17e15bb2508b Mon Sep 17 00:00:00 2001 From: dietrich ayala Date: Tue, 17 Dec 2024 15:04:42 +0100 Subject: [PATCH 19/20] remove CORP/CORB --- features/cors.yml | 1 - features/cors.yml.dist | 13 ------------- features/fetch.yml | 1 - features/fetch.yml.dist | 13 ------------- 4 files changed, 28 deletions(-) diff --git a/features/cors.yml b/features/cors.yml index b42d170c6ac..df2b29054d1 100644 --- a/features/cors.yml +++ b/features/cors.yml @@ -17,4 +17,3 @@ compat_features: - http.headers.Access-Control-Max-Age - http.headers.Access-Control-Request-Headers - http.headers.Access-Control-Request-Method - - http.headers.Cross-Origin-Resource-Policy diff --git a/features/cors.yml.dist b/features/cors.yml.dist index 5fa5ce98a7c..5ab6c5ccd53 100644 --- a/features/cors.yml.dist +++ b/features/cors.yml.dist @@ -62,19 +62,6 @@ compat_features: # safari_ios: "13" - http.headers.Access-Control-Expose-Headers.wildcard - # baseline: high - # baseline_low_date: 2020-07-28 - # baseline_high_date: 2023-01-28 - # support: - # chrome: "73" - # chrome_android: "73" - # edge: "79" - # firefox: "74" - # firefox_android: "79" - # safari: "12" - # safari_ios: "12" - - http.headers.Cross-Origin-Resource-Policy - # baseline: false # support: {} - http.headers.Access-Control-Allow-Headers.authorization_not_covered_by_wildcard diff --git a/features/fetch.yml b/features/fetch.yml index eec19d86192..55a5b353841 100644 --- a/features/fetch.yml +++ b/features/fetch.yml @@ -83,4 +83,3 @@ compat_features: - api.fetch.blob_data_support - api.fetch.init_keepalive_parameter - api.fetch.init_referrerPolicy_parameter - - http.headers.X-Content-Type-Options diff --git a/features/fetch.yml.dist b/features/fetch.yml.dist index 5acfda5d6b7..bfb1b720150 100644 --- a/features/fetch.yml.dist +++ b/features/fetch.yml.dist @@ -196,19 +196,6 @@ compat_features: # safari_ios: "10.3" - api.Headers.iterate_combined_duplicates - # baseline: high - # baseline_low_date: 2018-01-23 - # baseline_high_date: 2020-07-23 - # support: - # chrome: "64" - # chrome_android: "64" - # edge: "12" - # firefox: "50" - # firefox_android: "50" - # safari: "11" - # safari_ios: "11" - - http.headers.X-Content-Type-Options - # baseline: high # baseline_low_date: 2018-01-23 # baseline_high_date: 2020-07-23 From 975140233ba0ef69820524cc2bf83c00dff1512a Mon Sep 17 00:00:00 2001 From: Dietrich Ayala <50103+autonome@users.noreply.github.com> Date: Thu, 19 Dec 2024 20:47:36 +0700 Subject: [PATCH 20/20] Update features/link-rel-preload.yml Co-authored-by: Daniel D. Beck --- features/link-rel-preload.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/features/link-rel-preload.yml b/features/link-rel-preload.yml index 63b534661f4..6eaf85d9275 100644 --- a/features/link-rel-preload.yml +++ b/features/link-rel-preload.yml @@ -1,5 +1,5 @@ name: '' -description: The `rel="preload"` attribute for the `` HTML element lets you declare fetch requests in the HTML's ` for resources such as images or style sheets that your page will need very soon, so the browser can queue them at a high priority for loading before main rendering begins. +description: The `rel="preload"` attribute for the `` HTML element requests resources, such as images or style sheets, that the page needs soon, so the browser may prioritize them for loading before rendering begins. spec: https://html.spec.whatwg.org/multipage/links.html#link-type-preload caniuse: link-rel-preload status: