accept-ch-change.https.html | Pass | 1 / 1 | | |
accept-ch-malformed-header.https.html | Pass | 1 / 1 | | |
accept-ch-stickiness/cross-origin-iframe-not-setting-other-origins.https.html | Pass | 3 / 3 | | |
accept-ch-stickiness/cross-origin-iframe-not-setting-own-origin.https.html | Pass | 3 / 3 | | |
accept-ch-stickiness/cross-origin-iframe-redirect-with-fp-delegation.https.html | Pass | 1 / 1 | | |
accept-ch-stickiness/cross-origin-navigation-redirect.https.html | Pass | 1 / 1 | | |
accept-ch-stickiness/cross-origin-navigation.https.html | Pass | 3 / 3 | | |
accept-ch-stickiness/cross-origin-subresource-redirect-with-fp-delegation.https.html | Pass | 1 / 1 | | |
accept-ch-stickiness/cross-origin-subresource-redirect.https.html | Pass | 1 / 1 | | |
accept-ch-stickiness/cross-origin-subresource-with-permissions-policy.https.html | Pass | 3 / 3 | | |
accept-ch-stickiness/cross-origin-subresource.https.html | Pass | 3 / 3 | | |
accept-ch-stickiness/cross-origin-syncxhr-redirect.https.html | Pass | 1 / 1 | | |
accept-ch-stickiness/http-equiv-cross-origin-iframe-not-setting-other-origins.https.html | Pass | 3 / 3 | | |
accept-ch-stickiness/http-equiv-cross-origin-iframe-not-setting-own-origin.https.html | Pass | 3 / 3 | | |
accept-ch-stickiness/http-equiv-cross-origin-navigation.https.html | Pass | 3 / 3 | | |
accept-ch-stickiness/http-equiv-cross-origin-subresource.https.html | Pass | 3 / 3 | | |
accept-ch-stickiness/http-equiv-same-origin-iframe.https.html | Pass | 3 / 3 | | |
accept-ch-stickiness/http-equiv-same-origin-navigation.https.html | Pass | 3 / 3 | | |
accept-ch-stickiness/http-equiv-same-origin-subresource.https.html | Pass | 3 / 3 | | |
accept-ch-stickiness/meta-equiv-cross-origin-iframe-not-setting-other-origins.https.html | Pass | 3 / 3 | | |
accept-ch-stickiness/meta-equiv-cross-origin-iframe-not-setting-own-origin.https.html | Pass | 3 / 3 | | |
accept-ch-stickiness/meta-equiv-cross-origin-navigation.https.html | Pass | 3 / 3 | | |
accept-ch-stickiness/meta-equiv-cross-origin-subresource.https.html | Pass | 3 / 3 | | |
accept-ch-stickiness/meta-equiv-delegate-ch-cross-origin-iframe-with-hints.https.sub.html | Pass | 1 / 1 | | |
accept-ch-stickiness/meta-equiv-delegate-ch-cross-origin-iframe-without-hints.https.sub.html | Pass | 1 / 1 | | |
accept-ch-stickiness/meta-equiv-delegate-ch-cross-origin-subresource-with-hints.https.sub.html | Pass | 1 / 1 | | |
accept-ch-stickiness/meta-equiv-delegate-ch-cross-origin-subresource-without-hints.https.sub.html | Pass | 1 / 1 | | |
accept-ch-stickiness/meta-equiv-same-origin-iframe.https.html | Pass | 3 / 3 | | |
accept-ch-stickiness/meta-equiv-same-origin-navigation.https.html | Pass | 3 / 3 | | |
accept-ch-stickiness/meta-equiv-same-origin-subresource.https.html | Pass | 3 / 3 | | |
accept-ch-stickiness/same-origin-iframe.https.html | Pass | 3 / 3 | | |
accept-ch-stickiness/same-origin-navigation-empty-accept-ch.https.html | Pass | 4 / 4 | | |
accept-ch-stickiness/same-origin-navigation-no-accept-ch.https.html | Pass | 4 / 4 | | |
accept-ch-stickiness/same-origin-navigation-redirect.https.html | Pass | 2 / 2 | | |
accept-ch-stickiness/same-origin-navigation.https.html | Pass | 3 / 3 | | |
accept-ch-stickiness/same-origin-subresource-redirect-opted-in.https.html | Pass | 1 / 1 | | |
accept-ch-stickiness/same-origin-subresource-redirect.https.html | Pass | 2 / 2 | | |
accept-ch-stickiness/same-origin-subresource.https.html | Pass | 3 / 3 | | |
accept-ch.wildcard.https.sub.html | Pass | 1 / 1 | | |
accept-ch/answers.sub.https.html | Pass | 2 / 2 | | |
accept-ch/cache-revalidation.https.html | Fail | 0 / 1 | NOT IMPLEMENTED | the stale-while-revalidate directive of the HTTP cache: the stale response (Cache-Control: private, max-age=0, stale-while-revalidate=60) is validated before it is used, instead of being used while it is revalidated in the background |
accept-ch/meta/resource-in-markup-accept-ch.https.html | Fail | 0 / 1 | TEST BUG | the <meta http-equiv="Accept-CH"> element follows two script elements that have executed: the Delegate-CH algorithm of the spec (whose rules the library applies to the accept-ch pragma, which is not specified anymore) ignores the element once a link, style or script element has begun to execute; only Chromium applies it |
accept-ch/meta/resource-in-markup-delegate-ch.https.html | Fail | 0 / 1 | TEST BUG | the <meta http-equiv="Delegate-CH"> element follows two script elements that have executed: step 2 of the Delegate-CH algorithm of the spec ignores the element once a link, style or script element has begun to execute; only Chromium applies it |
accept-ch/no-feature-policy.sub.https.html | Pass | 2 / 2 | | |
accept-ch/non-secure.http.html | Pass | 1 / 1 | | |
accept-ch/permissions-policy-navigation/no-permissions-policy.https.html | Error | 0 / 0 | TEST BUG | the tests load /client-hints/resources/permissions-policy-navigation.js, which does not exist (the file is feature-policy-navigation.js): test_frame is not defined, and the harness reports the unhandled rejection as an error in every browser |
accept-ch/permissions-policy-navigation/permissions-policy.https.html | Error | 0 / 0 | TEST BUG | the tests load /client-hints/resources/permissions-policy-navigation.js, which does not exist (the file is feature-policy-navigation.js): test_frame is not defined, and the harness reports the unhandled rejection as an error in every browser |
accept-ch/permissions-policy.sub.https.html | Fail | 0 / 2 | TEST BUG | the Permissions-Policy header that the test expects is in feature-policy.sub.https.html.headers, which is not the headers file of the test: without it Sec-CH-DPR is sent to the origin of the document and no hint is delegated to the other origin (the test fails in every browser) |
clear-site-data/clear-site-data-all.https.html | Pass | 1 / 1 | | |
clear-site-data/clear-site-data-cache.https.html | Pass | 1 / 1 | | |
clear-site-data/clear-site-data-client-hints-third-party.https.sub.html | Timeout | 0 / 1 | TEST BUG | in step 6, the cross-site iframe navigates its top-level traversable to a cross-site URL without user activation, which the framebusting intervention blocks (as in Firefox and Safari), so the page that reports the client hints never loads; fails in every browser |
clear-site-data/clear-site-data-client-hints.https.html | Pass | 1 / 1 | | |
clear-site-data/clear-site-data-cookies.https.html | Pass | 1 / 1 | | |
clear-site-data/clear-site-data-storage.https.html | Pass | 1 / 1 | | |
clear-site-data/set-client-hints-after-clear-all.https.html | Pass | 1 / 1 | | |
clear-site-data/set-client-hints-after-clear-cache.https.html | Pass | 1 / 1 | | |
clear-site-data/set-client-hints-after-clear-client-hints.https.html | Pass | 1 / 1 | | |
clear-site-data/set-client-hints-after-clear-cookies.https.html | Pass | 1 / 1 | | |
clear-site-data/set-client-hints-after-clear-storage.https.html | Pass | 1 / 1 | | |
clear-site-data/set-critical-client-hints-after-clear-all.https.html | Pass | 1 / 1 | | |
clear-site-data/set-critical-client-hints-after-clear-cache.https.html | Pass | 1 / 1 | | |
clear-site-data/set-critical-client-hints-after-clear-client-hints.https.html | Pass | 1 / 1 | | |
clear-site-data/set-critical-client-hints-after-clear-cookies.https.html | Pass | 1 / 1 | | |
clear-site-data/set-critical-client-hints-after-clear-storage.https.html | Pass | 1 / 1 | | |
critical-ch/critical-ch.navigation-timing.no-restart.https.html | Pass | 1 / 1 | | |
critical-ch/critical-ch.navigation-timing.restart.https.html | Fail | 0 / 1 | TEST RUNNER | the test page is given to the library as the response of a navigation (BrowsingContext.Navigate(url, response)): no request is sent, so its Critical-CH header cannot restart the navigation and criticalCHRestart is 0 (the restart of a fetched navigation is covered by the other critical-ch tests) |
critical-ch/iframe.https.window.js | Pass | 2 / 2 | | |
critical-ch/mis-matched-count.https.window.js | Pass | 2 / 2 | | |
critical-ch/mis-matched.https.window.js | Pass | 1 / 1 | | |
critical-ch/mis-matched.multiple.https.window.js | Pass | 1 / 1 | | |
critical-ch/navigation.cross-origin.https.window.js | Pass | 1 / 1 | | |
critical-ch/navigation.cross-origin.multiple.https.window.js | Pass | 1 / 1 | | |
critical-ch/navigation.same-origin.https.window.js | Pass | 1 / 1 | | |
critical-ch/navigation.same-origin.multiple.https.window.js | Pass | 1 / 1 | | |
critical-ch/non-secure.http.window.js | Pass | 2 / 2 | | |
critical-ch/redirect.critical.cross-origin.https.window.js | Pass | 1 / 1 | | |
critical-ch/redirect.critical.cross-origin.multiple.https.window.js | Pass | 1 / 1 | | |
critical-ch/redirect.critical.same-origin.https.window.js | Pass | 1 / 1 | | |
critical-ch/redirect.critical.same-origin.multiple.https.window.js | Pass | 1 / 1 | | |
critical-ch/redirect.cross-origin.https.window.js | Pass | 1 / 1 | | |
critical-ch/redirect.cross-origin.multiple.https.window.js | Pass | 1 / 1 | | |
critical-ch/redirect.same-origin.https.window.js | Pass | 1 / 1 | | |
critical-ch/redirect.same-origin.multiple.https.window.js | Pass | 1 / 1 | | |
critical-ch/request-count.https.window.js | Pass | 1 / 1 | | |
critical-ch/request-count.multiple.https.window.js | Pass | 1 / 1 | | |
critical-ch/subresource.https.window.js | Pass | 2 / 2 | | |
critical-ch/unsafe-method.https.window.js | Pass | 2 / 2 | | |
http-equiv-accept-ch-iframe.https.html | Error | 0 / 0 | TEST BUG | the test loads resources/permissions-policy-navigation.js, which does not exist (the file is feature-policy-navigation.js): test_frame is not defined, and the harness reports the unhandled rejection as an error in every browser |
http-equiv-accept-ch-malformed-header.https.html | Pass | 1 / 1 | | |
http-equiv-accept-ch-merge.https.html | Pass | 1 / 1 | | |
http-equiv-accept-ch-non-secure.http.html | Pass | 1 / 1 | | |
inner-delegation/accept_ch_delegation_to_all.sub.https.html | Pass | 1 / 1 | | |
inner-delegation/accept_ch_delegation_to_none.sub.https.html | Pass | 1 / 1 | | |
inner-delegation/accept_ch_delegation_to_self.sub.https.html | Pass | 1 / 1 | | |
inner-delegation/accept_ch_delegation_to_some.sub.https.html | Pass | 1 / 1 | | |
inner-delegation/accept_ch_delegation_to_src.sub.https.html | Pass | 1 / 1 | | |
meta-equiv-delegate-ch-iframe.https.html | Error | 0 / 0 | TEST BUG | the test loads resources/permissions-policy-navigation.js, which does not exist (the file is feature-policy-navigation.js): test_frame is not defined, and the harness reports the unhandled rejection as an error in every browser |
meta-equiv-delegate-ch-injection.https.html | Pass | 1 / 1 | | |
meta-equiv-delegate-ch-malformed-header.https.html | Pass | 1 / 1 | | |
meta-equiv-delegate-ch-merge.https.html | Pass | 1 / 1 | | |
meta-equiv-delegate-ch-non-secure.http.html | Pass | 1 / 1 | | |
permissions-policy/ch-ua-high-entropy-values-allowed-by-permissions-policy-attribute-redirect-on-load.https.sub.html | Pass | 4 / 4 | | |
permissions-policy/ch-ua-high-entropy-values-default-permissions-policy.https.sub.html | Pass | 3 / 3 | | |
permissions-policy/ch-ua-high-entropy-values-disabled-by-permissions-policy.https.sub.html | Pass | 3 / 3 | | |
permissions-policy/ch-ua-high-entropy-values-enabled-by-permissions-policy.https.sub.html | Pass | 3 / 3 | | |
permissions-policy/ch-ua-high-entropy-values-enabled-on-self-origin-by-permissions-policy.https.sub.html | Pass | 3 / 3 | | |
permissions-policy/ch-ua-high-entropy-values-permissions-policy-attribute.https.sub.html | Pass | 5 / 5 | | |
sandbox/iframe-csp-same-origin.https.html | Pass | 1 / 1 | | |
sandbox/iframe-csp.https.html | Pass | 1 / 1 | | |
sandbox/iframe-iframe-popups.https.html | Pass | 1 / 1 | | |
sandbox/iframe-popups-escape-sandbox.https.html | Pass | 1 / 1 | | |
sandbox/iframe-popups.https.html | Pass | 1 / 1 | | |
sandbox/iframe-same-origin.https.html | Pass | 1 / 1 | | |
sandbox/iframe.https.html | Pass | 1 / 1 | | |
sec-ch-quotes.https.html | Pass | 1 / 1 | | |
sec-ch-ua.http.html | Pass | 1 / 1 | | |
sec-ch-ua.https.html | Pass | 3 / 3 | | |
sec-ch-width-auto-sizes-img.https.html | Pass | 1 / 1 | | |
sec-ch-width-auto-sizes-picture.https.html | Pass | 1 / 1 | | |
sec-ch-width.https.html | Pass | 1 / 1 | | |
service-workers/intercept-request-critical.https.window.js | Pass | 1 / 1 | | |
service-workers/intercept-request.https.html | Fail | 0 / 1 | TEST BUG | the test expects the request of the fetch event of the service worker to have the Sec-CH-Device-Memory and Device-Memory headers: the spec appends the client hints in HTTP-network-or-cache fetch, after the service worker handled the request (Chromium, the only browser that passes, adds them to the navigation request before) |
service-workers/navigation-preload-critical.https.window.js | Pass | 1 / 1 | | |
service-workers/navigation-preload.https.html | Pass | 1 / 1 | | |
service-workers/new-request-critical.https.window.js | Pass | 1 / 1 | | |
service-workers/new-request.https.html | Pass | 1 / 1 | | |
service-workers/passthrough-request-critical.https.window.js | Pass | 1 / 1 | | |
service-workers/passthrough-request.https.html | Pass | 1 / 1 | | |
viewport-size/viewport-size-iframe.https.html | Pass | 1 / 1 | | |
viewport-size/viewport-size-subresource.https.html | Pass | 1 / 1 | | |
viewport-size/viewport-size-window-different-dimensions.https.html | Pass | 1 / 1 | | |
viewport-size/viewport-size-window.https.html | Pass | 1 / 1 | | |