speculation-rules

edit

WPT coverage of the tests of speculation-rules at the revision 5602b0f210e3. The tests link to their results in the browsers on wpt.fyi. The tentative tests (experimental features) and the reftests are listed separately from the stable tests.

GroupPassingTestsDisabledPass rate
Stable132185172%
Tentative626023%
Reftests000–
All138211166%

Failure reasons

The tests that do not pass (failing or disabled), by kind of reason. A test with several reasons counts once per kind.

  • BUG: 8
  • TEST BUG: 7
  • NOT IMPLEMENTED: 55
  • TEST RUNNER: 28
  • OUT OF SCOPE: 1
  • FLAKY: 1

Stable tests

TestResultSubtestsKindDescription
external-speculation-rules-errors.htmlPass3 / 3
header-only-top-level.htmlPass1 / 1
inline-speculation-rules-errors.htmlTimeout0 / 1TEST BUGthe test expects an error event at the script element and a TypeError reported to the window for speculation rules that are not valid JSON (Chromium); the specification only reports the exception of the parsing, a SyntaxError, to the window ("register speculation rules"): nothing is fired at the element
invalid-rules.https.htmlPass2 / 2
prefetch/anonymous/anonymous-client.https.htmlPass1 / 1
prefetch/anonymous/cross-origin-cookies-anonymous-client-ip-duplicate.https.htmlPass1 / 1
prefetch/clear-prefetch-cache-after-clear-site-data-cache.https.htmlPass2 / 2
prefetch/client-hints/basic.https.sub.htmlPass9 / 9
prefetch/client-hints/redirect.https.sub.htmlPass5 / 5
prefetch/cross-origin-cookies.https.htmlPass1 / 1
prefetch/different-initiators-2.https.htmlPass1 / 1
prefetch/different-initiators.sub.https.htmlPass3 / 3
prefetch/document-rules-details-element.https.htmlPass2 / 2
prefetch/document-rules-pending-stylesheet.https.htmlPass1 / 1
prefetch/document-rules-visibility.https.htmlError4 / 6TEST BUGthe customized built-in <a> element calls attachShadow() in its constructor, which throws a NotSupportedError (a is not a valid shadow host, https://dom.spec.whatwg.org/#valid-shadow-host-name); createElement() reports the exception, so the harness errors and the last two subtests time out or do not run
prefetch/document-rules.https.htmlPass18 / 18
prefetch/duplicate-urls.https.htmlPass1 / 1
prefetch/fragment.https.htmlPass1 / 1
prefetch/implicit-source.https.htmlPass1 / 1
prefetch/initiators-a-element.sub.https.htmlPass4 / 4
prefetch/initiators-iframe-location-href.sub.https.htmlPass2 / 2
prefetch/initiators-window-open.sub.https.htmlPass4 / 4
prefetch/inline-speculation-rules-after-stylesheet.https.htmlPass1 / 1
prefetch/list-rule-eagerness-conservative-pointerdown.https.htmlPass1 / 1
prefetch/list-rule-eagerness-moderate-hover.https.htmlPass1 / 1
prefetch/multiple-url.https.htmlPass1 / 1
prefetch/mutate-rules.https.htmlPass3 / 3
prefetch/navigation-timing-delivery-type.https.htmlPass4 / 4
prefetch/navigation-timing-requestStart-responseStart.https.htmlPass4 / 4
prefetch/navigation-timing-sizes.https.htmlPass4 / 4
prefetch/no-http-cache-interference-inflight.https.htmlTimeout0 / 1TEST RUNNERspeculation-rules/prefetch/resources/delayed-conditional-status.py is not emulated
prefetch/no-http-cache-interference-slow-error.https.htmlTimeout0 / 1TEST RUNNERspeculation-rules/prefetch/resources/slow-body-conditional-status.py is not emulated
prefetch/no-http-cache-interference.https.htmlPass1 / 1
prefetch/no-prefetch-for-post.https.htmlPass1 / 1
prefetch/no-vary-search/prefetch-single-with-hint.https.htmlPass28 / 28
prefetch/no-vary-search/prefetch-single.https.htmlPass30 / 30
prefetch/out-of-document-rule-set.https.htmlPass15 / 15
prefetch/prefetch-inflight-success.https.htmlPass1 / 1
prefetch/prefetch-single.https.htmlPass4 / 4
prefetch/prefetch-status.https.htmlPass5 / 5
prefetch/prefetch-traverse-reload.sub.htmlPass3 / 3
prefetch/prefetch-uses-cache.sub.https.htmlFail1 / 2NOT IMPLEMENTEDthe navigation timing entry ignores the cache state of the response: a navigation served by the HTTP cache has an empty deliveryType instead of cache
prefetch/redirect-middle-of-prefetch.https.htmlPass6 / 6
prefetch/redirect-to-prefetch-url.https.htmlPass6 / 6
prefetch/redirect-url.https.htmlPass6 / 6
prefetch/referrer-policy-from-rules.https.htmlPass8 / 8
prefetch/referrer-policy-not-accepted.https.htmlPass3 / 3
prefetch/referrer-policy.https.htmlPass4 / 4
prefetch/same-origin-cookies.https.htmlPass2 / 2
prefetch/sec-fetch-headers.https.htmlPass4 / 4
prefetch/user-pass.https.htmlTimeout0 / 2BUGthe executor window is opened with credentials in its URL (https://user:pass@…), which the URL of the document keeps: fetch() of the dispatcher URL resolved against it throws a TypeError (a URL that includes credentials), so the executor never answers. The browsers do not expose the credentials in the URL of the document
prerender-until-script/prerender-until-script.https.htmlTimeout0 / 1NOT IMPLEMENTEDthe prerender_until_script rule type of the tentative test (a Chromium experiment); the test also times out in Chromium
prerender-until-script/pus-to-prerender-upgrade.https.htmlFail0 / 1NOT IMPLEMENTEDthe prerender_until_script rule type of the tentative test (a Chromium experiment); the test also times out in Chromium
prerender/about-blank-iframes.https.htmlPass1 / 1
prerender/accept-client-hint-cache.https.htmlPass1 / 1
prerender/activation-by-form-submission.https.htmlTimeout0 / 4NOT IMPLEMENTEDthe form_submission key of the speculation rules (a Chromium extension): as specified, a rule with an unknown key is ignored, so nothing is prerendered
prerender/activation-start.https.htmlPass1 / 1
prerender/blob_object_url.https.htmlPass1 / 1
prerender/cache-storage.https.htmlPass1 / 1
prerender/cancel-prerendering-after-clear-site-data-cache-different-origins.https.htmlPass1 / 1
prerender/cancel-prerendering-after-clear-site-data-cache-same-origin.https.htmlPass2 / 2
prerender/clients-matchall.https.htmlPass1 / 1
prerender/cookies.https.htmlPass1 / 1
prerender/credentialed-prerender-not-opt-in.https.htmlPass1 / 1
prerender/credentialed-prerender-opt-in.https.htmlPass1 / 1
prerender/cross-origin-iframe-prerender-nesting.https.htmlTimeout0 / 2BUGthe nested cross-origin iframes of a prerendered page whose responses opt in with Supports-Loading-Mode: prerender-cross-origin-frames: the test never gets the message of the innermost frame; it also times out in Chromium (Supports-Loading-Mode: prerender-cross-origin-frames is not specified)
prerender/cross-origin-iframe-prerender.https.htmlPass2 / 2
prerender/cross-origin-iframe.https.htmlPass2 / 2
prerender/cross-origin-isolated.https.htmlPass2 / 2
prerender/csp-form-action.https.htmlTimeout0 / 1NOT IMPLEMENTEDthe form_submission key of the speculation rules (a Chromium extension): as specified, a rule with an unknown key is ignored, so nothing is prerendered
prerender/csp-script-src-elem-inline-speculation-rules.https.htmlPass2 / 2
prerender/csp-script-src-inline-speculation-rules.https.htmlPass2 / 2
prerender/csp-script-src-self.https.htmlPass2 / 2
prerender/csp-script-src-strict-dynamic.https.htmlPass2 / 2
prerender/csp-script-src-unsafe-inline.https.htmlPass2 / 2
prerender/fetch-blob.https.htmlPass2 / 2
prerender/fetch-intercepted-by-service-worker.https.htmlPass1 / 1
prerender/headers.https.htmlPass2 / 2
prerender/iframe-added-post-activation.https.htmlPass1 / 1
prerender/indexeddb.https.htmlPass1 / 1
prerender/local-storage.https.htmlPass2 / 2
prerender/main-frame-navigation.https.htmlPass1 / 1
prerender/media-autoplay.https.htmlFail0 / 1NOT IMPLEMENTEDthe loading and the playback of the media elements are not delayed while the document is prerendering
prerender/navigation-api-intercept-during-activation.https.htmlPass1 / 1
prerender/navigation-api-location-replace.https.htmlFail0 / 1BUGthe navigation API of a prerendered document: navigation.activation.from is not the entry of the initiator before the activation, and the activation creates new NavigationHistoryEntry objects instead of adding the entries of the initiator before the current entry (navigation.currentEntry changes)
prerender/navigation-api-multiple-entries.https.htmlFail0 / 1BUGthe navigation API of a prerendered document: navigation.activation.from is not the entry of the initiator before the activation, and the activation creates new NavigationHistoryEntry objects instead of adding the entries of the initiator before the current entry (navigation.currentEntry changes)
prerender/navigation-api-redirect.https.htmlFail0 / 1BUGthe navigation API of a prerendered document: navigation.activation.from is not the entry of the initiator before the activation, and the activation creates new NavigationHistoryEntry objects instead of adding the entries of the initiator before the current entry (navigation.currentEntry changes)
prerender/navigation-api.https.htmlFail0 / 1BUGthe navigation API of a prerendered document: navigation.activation.from is not the entry of the initiator before the activation, and the activation creates new NavigationHistoryEntry objects instead of adding the entries of the initiator before the current entry (navigation.currentEntry changes)
prerender/navigation-intercepted-by-service-worker.https.htmlPass1 / 1
prerender/navigator-plugins.https.htmlPass1 / 1
prerender/no-vary-search-hint-target-blank.https.htmlFail27 / 28TEST BUGvariant 17: the test calls its helper without the noVarySearchHint argument (the test says so: crbug.com/499027745), so shouldUse is undefined and the test expects the prerender to be discarded although the URLs are equivalent; it also fails in Chromium
prerender/no-vary-search-hint.https.htmlFail27 / 28TEST BUGvariant 17: the test calls its helper without the noVarySearchHint argument (the test says so: crbug.com/499027745), so shouldUse is undefined and the test expects the prerender to be discarded although the URLs are equivalent; it also fails in Chromium
prerender/no-vary-search-target-blank.https.htmlPass30 / 30
prerender/no-vary-search.https.htmlPass30 / 30
prerender/prefetch.https.htmlPass1 / 1
prerender/prerender-while-prerender.https.htmlPass1 / 1
prerender/protocol-handler-register.https.htmlError0 / 1NOT IMPLEMENTEDnavigator.registerProtocolHandler() and unregisterProtocolHandler()
prerender/protocol-handler-unregister.https.htmlError0 / 1NOT IMPLEMENTEDnavigator.registerProtocolHandler() and unregisterProtocolHandler()
prerender/protocol-handler-validation.https.htmlPass4 / 4
prerender/referrer-policy-from-rules.https.htmlPass2 / 2
prerender/referrer-policy-mismatch.https.htmlPass3 / 3
prerender/referrer-policy-no-referrer.https.htmlPass1 / 1
prerender/referrer-policy-origin.https.htmlPass1 / 1
prerender/referrer-policy-strict-origin.https.htmlPass1 / 1
prerender/referrer.https.htmlPass1 / 1
prerender/register-service-worker.https.htmlPass1 / 1
prerender/remove-script-element.https.htmlPass1 / 1
prerender/response-code-non-successful.https.htmlPass6 / 6
prerender/response-code-successful.https.htmlPass5 / 5
prerender/restriction-background-fetch.https.htmlTimeout0 / 2NOT IMPLEMENTED, TEST RUNNERthe API that the test expects to be restricted or delayed while prerendering: Audio Output Devices (setSinkId()), Background Fetch, Background Sync, Web Bluetooth, Encrypted Media, Idle Detection, File System Access, Media Capture (getUserMedia(), enumerateDevices(), getDisplayMedia()), Media Capabilities, Web MIDI, Notifications, Presentation, Push, Picture-in-Picture, Web Speech, WebHID, Web NFC, Web Serial, Web Share, WebUSB or WebXR; test_driver.set_permission() only supports the clipboard permissions
prerender/restriction-background-sync.https.htmlTimeout0 / 2NOT IMPLEMENTED, TEST RUNNERthe API that the test expects to be restricted or delayed while prerendering: Audio Output Devices (setSinkId()), Background Fetch, Background Sync, Web Bluetooth, Encrypted Media, Idle Detection, File System Access, Media Capture (getUserMedia(), enumerateDevices(), getDisplayMedia()), Media Capabilities, Web MIDI, Notifications, Presentation, Push, Picture-in-Picture, Web Speech, WebHID, Web NFC, Web Serial, Web Share, WebUSB or WebXR; test_driver.set_permission() only supports the clipboard permissions
prerender/restriction-battery-status.https.htmlPass2 / 2
prerender/restriction-broadcast-channel.https.htmlPass1 / 1
prerender/restriction-dedicated-worker.https.htmlFail0 / 1NOT IMPLEMENTEDthe workers of a prerendering document are not suspended until the activation: the dedicated worker starts while the page is prerendering
prerender/restriction-encrypted-media-unsupported-config.https.htmlTimeout0 / 1NOT IMPLEMENTED, TEST RUNNERthe API that the test expects to be restricted or delayed while prerendering: Audio Output Devices (setSinkId()), Background Fetch, Background Sync, Web Bluetooth, Encrypted Media, Idle Detection, File System Access, Media Capture (getUserMedia(), enumerateDevices(), getDisplayMedia()), Media Capabilities, Web MIDI, Notifications, Presentation, Push, Picture-in-Picture, Web Speech, WebHID, Web NFC, Web Serial, Web Share, WebUSB or WebXR; test_driver.set_permission() only supports the clipboard permissions
prerender/restriction-encrypted-media.https.htmlTimeout0 / 1NOT IMPLEMENTED, TEST RUNNERthe API that the test expects to be restricted or delayed while prerendering: Audio Output Devices (setSinkId()), Background Fetch, Background Sync, Web Bluetooth, Encrypted Media, Idle Detection, File System Access, Media Capture (getUserMedia(), enumerateDevices(), getDisplayMedia()), Media Capabilities, Web MIDI, Notifications, Presentation, Push, Picture-in-Picture, Web Speech, WebHID, Web NFC, Web Serial, Web Share, WebUSB or WebXR; test_driver.set_permission() only supports the clipboard permissions
prerender/restriction-focus.https.htmlPass1 / 1
prerender/restriction-idle-detection.https.htmlPass1 / 1
prerender/restriction-local-file-system-access.https.htmlFail0 / 1NOT IMPLEMENTED, TEST RUNNERthe API that the test expects to be restricted or delayed while prerendering: Audio Output Devices (setSinkId()), Background Fetch, Background Sync, Web Bluetooth, Encrypted Media, Idle Detection, File System Access, Media Capture (getUserMedia(), enumerateDevices(), getDisplayMedia()), Media Capabilities, Web MIDI, Notifications, Presentation, Push, Picture-in-Picture, Web Speech, WebHID, Web NFC, Web Serial, Web Share, WebUSB or WebXR; test_driver.set_permission() only supports the clipboard permissions
prerender/restriction-media-auto-play-attribute.https.htmlFail0 / 4NOT IMPLEMENTEDthe loading and the playback of the media elements are not delayed while the document is prerendering
prerender/restriction-media-camera.https.htmlTimeout0 / 2NOT IMPLEMENTED, TEST RUNNERthe API that the test expects to be restricted or delayed while prerendering: Audio Output Devices (setSinkId()), Background Fetch, Background Sync, Web Bluetooth, Encrypted Media, Idle Detection, File System Access, Media Capture (getUserMedia(), enumerateDevices(), getDisplayMedia()), Media Capabilities, Web MIDI, Notifications, Presentation, Push, Picture-in-Picture, Web Speech, WebHID, Web NFC, Web Serial, Web Share, WebUSB or WebXR; test_driver.set_permission() only supports the clipboard permissions
prerender/restriction-media-capabilities-decoding-info.https.htmlTimeout0 / 2NOT IMPLEMENTED, TEST RUNNERthe API that the test expects to be restricted or delayed while prerendering: Audio Output Devices (setSinkId()), Background Fetch, Background Sync, Web Bluetooth, Encrypted Media, Idle Detection, File System Access, Media Capture (getUserMedia(), enumerateDevices(), getDisplayMedia()), Media Capabilities, Web MIDI, Notifications, Presentation, Push, Picture-in-Picture, Web Speech, WebHID, Web NFC, Web Serial, Web Share, WebUSB or WebXR; test_driver.set_permission() only supports the clipboard permissions
prerender/restriction-media-capabilities-encoding-info.https.htmlTimeout0 / 2NOT IMPLEMENTED, TEST RUNNERthe API that the test expects to be restricted or delayed while prerendering: Audio Output Devices (setSinkId()), Background Fetch, Background Sync, Web Bluetooth, Encrypted Media, Idle Detection, File System Access, Media Capture (getUserMedia(), enumerateDevices(), getDisplayMedia()), Media Capabilities, Web MIDI, Notifications, Presentation, Push, Picture-in-Picture, Web Speech, WebHID, Web NFC, Web Serial, Web Share, WebUSB or WebXR; test_driver.set_permission() only supports the clipboard permissions
prerender/restriction-media-device-info.https.htmlTimeout0 / 2NOT IMPLEMENTED, TEST RUNNERthe API that the test expects to be restricted or delayed while prerendering: Audio Output Devices (setSinkId()), Background Fetch, Background Sync, Web Bluetooth, Encrypted Media, Idle Detection, File System Access, Media Capture (getUserMedia(), enumerateDevices(), getDisplayMedia()), Media Capabilities, Web MIDI, Notifications, Presentation, Push, Picture-in-Picture, Web Speech, WebHID, Web NFC, Web Serial, Web Share, WebUSB or WebXR; test_driver.set_permission() only supports the clipboard permissions
prerender/restriction-media-microphone.https.htmlTimeout0 / 2NOT IMPLEMENTED, TEST RUNNERthe API that the test expects to be restricted or delayed while prerendering: Audio Output Devices (setSinkId()), Background Fetch, Background Sync, Web Bluetooth, Encrypted Media, Idle Detection, File System Access, Media Capture (getUserMedia(), enumerateDevices(), getDisplayMedia()), Media Capabilities, Web MIDI, Notifications, Presentation, Push, Picture-in-Picture, Web Speech, WebHID, Web NFC, Web Serial, Web Share, WebUSB or WebXR; test_driver.set_permission() only supports the clipboard permissions
prerender/restriction-media-play.https.htmlFail0 / 4NOT IMPLEMENTEDthe loading and the playback of the media elements are not delayed while the document is prerendering
prerender/restriction-message-boxes.https.htmlPass3 / 3
prerender/restriction-midi-sysex.https.htmlFail0 / 1NOT IMPLEMENTED, TEST RUNNERthe API that the test expects to be restricted or delayed while prerendering: Audio Output Devices (setSinkId()), Background Fetch, Background Sync, Web Bluetooth, Encrypted Media, Idle Detection, File System Access, Media Capture (getUserMedia(), enumerateDevices(), getDisplayMedia()), Media Capabilities, Web MIDI, Notifications, Presentation, Push, Picture-in-Picture, Web Speech, WebHID, Web NFC, Web Serial, Web Share, WebUSB or WebXR; test_driver.set_permission() only supports the clipboard permissions
prerender/restriction-midi.https.htmlFail0 / 1NOT IMPLEMENTED, TEST RUNNERthe API that the test expects to be restricted or delayed while prerendering: Audio Output Devices (setSinkId()), Background Fetch, Background Sync, Web Bluetooth, Encrypted Media, Idle Detection, File System Access, Media Capture (getUserMedia(), enumerateDevices(), getDisplayMedia()), Media Capabilities, Web MIDI, Notifications, Presentation, Push, Picture-in-Picture, Web Speech, WebHID, Web NFC, Web Serial, Web Share, WebUSB or WebXR; test_driver.set_permission() only supports the clipboard permissions
prerender/restriction-notification.https.htmlPass2 / 2
prerender/restriction-presentation-request.https.htmlTimeout0 / 1NOT IMPLEMENTED, TEST RUNNERthe API that the test expects to be restricted or delayed while prerendering: Audio Output Devices (setSinkId()), Background Fetch, Background Sync, Web Bluetooth, Encrypted Media, Idle Detection, File System Access, Media Capture (getUserMedia(), enumerateDevices(), getDisplayMedia()), Media Capabilities, Web MIDI, Notifications, Presentation, Push, Picture-in-Picture, Web Speech, WebHID, Web NFC, Web Serial, Web Share, WebUSB or WebXR; test_driver.set_permission() only supports the clipboard permissions
prerender/restriction-prompt-by-before-unload.https.htmlPass1 / 1
prerender/restriction-push.https.htmlTimeout0 / 1NOT IMPLEMENTED, TEST RUNNERthe API that the test expects to be restricted or delayed while prerendering: Audio Output Devices (setSinkId()), Background Fetch, Background Sync, Web Bluetooth, Encrypted Media, Idle Detection, File System Access, Media Capture (getUserMedia(), enumerateDevices(), getDisplayMedia()), Media Capabilities, Web MIDI, Notifications, Presentation, Push, Picture-in-Picture, Web Speech, WebHID, Web NFC, Web Serial, Web Share, WebUSB or WebXR; test_driver.set_permission() only supports the clipboard permissions
prerender/restriction-request-picture-in-picture.https.htmlFail0 / 1NOT IMPLEMENTED, TEST RUNNERthe API that the test expects to be restricted or delayed while prerendering: Audio Output Devices (setSinkId()), Background Fetch, Background Sync, Web Bluetooth, Encrypted Media, Idle Detection, File System Access, Media Capture (getUserMedia(), enumerateDevices(), getDisplayMedia()), Media Capabilities, Web MIDI, Notifications, Presentation, Push, Picture-in-Picture, Web Speech, WebHID, Web NFC, Web Serial, Web Share, WebUSB or WebXR; test_driver.set_permission() only supports the clipboard permissions
prerender/restriction-screen-capture.https.htmlFail0 / 2NOT IMPLEMENTED, TEST RUNNERthe API that the test expects to be restricted or delayed while prerendering: Audio Output Devices (setSinkId()), Background Fetch, Background Sync, Web Bluetooth, Encrypted Media, Idle Detection, File System Access, Media Capture (getUserMedia(), enumerateDevices(), getDisplayMedia()), Media Capabilities, Web MIDI, Notifications, Presentation, Push, Picture-in-Picture, Web Speech, WebHID, Web NFC, Web Serial, Web Share, WebUSB or WebXR; test_driver.set_permission() only supports the clipboard permissions
prerender/restriction-screen-orientation-lock.https.htmlFail0 / 1OUT OF SCOPEthe lock request is deferred until the activation, then rejected with a NotAllowedError: the prerendered page is not fullscreen, which the library requires to lock the screen orientation (https://w3c.github.io/screen-orientation/#interaction-with-fullscreen-api); the test expects the lock to succeed, as in the test environment of Chromium, which does not require fullscreen
prerender/restriction-sensor-accelerometer.https.htmlPass2 / 2
prerender/restriction-sensor-ambient-light-sensor.https.htmlPass2 / 2
prerender/restriction-sensor-gyroscope.https.htmlPass2 / 2
prerender/restriction-sensor-magnetometer.https.htmlPass2 / 2
prerender/restriction-service-worker-postmessage.https.htmlPass1 / 1
prerender/restriction-service-worker-unregister.https.htmlPass1 / 1
prerender/restriction-service-worker-update.https.htmlPass1 / 1
prerender/restriction-speech-synthesis.https.htmlFail0 / 4NOT IMPLEMENTED, TEST RUNNERthe API that the test expects to be restricted or delayed while prerendering: Audio Output Devices (setSinkId()), Background Fetch, Background Sync, Web Bluetooth, Encrypted Media, Idle Detection, File System Access, Media Capture (getUserMedia(), enumerateDevices(), getDisplayMedia()), Media Capabilities, Web MIDI, Notifications, Presentation, Push, Picture-in-Picture, Web Speech, WebHID, Web NFC, Web Serial, Web Share, WebUSB or WebXR; test_driver.set_permission() only supports the clipboard permissions
prerender/restriction-storage-persist.https.htmlPass1 / 1
prerender/restriction-wake-lock.https.htmlPass1 / 1
prerender/restriction-web-hid.https.htmlTimeout0 / 1NOT IMPLEMENTED, TEST RUNNERthe API that the test expects to be restricted or delayed while prerendering: Audio Output Devices (setSinkId()), Background Fetch, Background Sync, Web Bluetooth, Encrypted Media, Idle Detection, File System Access, Media Capture (getUserMedia(), enumerateDevices(), getDisplayMedia()), Media Capabilities, Web MIDI, Notifications, Presentation, Push, Picture-in-Picture, Web Speech, WebHID, Web NFC, Web Serial, Web Share, WebUSB or WebXR; test_driver.set_permission() only supports the clipboard permissions
prerender/restriction-web-locks.https.htmlPass2 / 2
prerender/restriction-web-nfc.https.htmlTimeout0 / 1NOT IMPLEMENTED, TEST RUNNERthe API that the test expects to be restricted or delayed while prerendering: Audio Output Devices (setSinkId()), Background Fetch, Background Sync, Web Bluetooth, Encrypted Media, Idle Detection, File System Access, Media Capture (getUserMedia(), enumerateDevices(), getDisplayMedia()), Media Capabilities, Web MIDI, Notifications, Presentation, Push, Picture-in-Picture, Web Speech, WebHID, Web NFC, Web Serial, Web Share, WebUSB or WebXR; test_driver.set_permission() only supports the clipboard permissions
prerender/restriction-web-share.https.htmlPass1 / 1
prerender/restriction-web-usb.https.htmlTimeout0 / 1NOT IMPLEMENTED, TEST RUNNERthe API that the test expects to be restricted or delayed while prerendering: Audio Output Devices (setSinkId()), Background Fetch, Background Sync, Web Bluetooth, Encrypted Media, Idle Detection, File System Access, Media Capture (getUserMedia(), enumerateDevices(), getDisplayMedia()), Media Capabilities, Web MIDI, Notifications, Presentation, Push, Picture-in-Picture, Web Speech, WebHID, Web NFC, Web Serial, Web Share, WebUSB or WebXR; test_driver.set_permission() only supports the clipboard permissions
prerender/restriction-web-xr-immersive-vr-session.https.htmlTimeout0 / 2NOT IMPLEMENTED, TEST RUNNERthe API that the test expects to be restricted or delayed while prerendering: Audio Output Devices (setSinkId()), Background Fetch, Background Sync, Web Bluetooth, Encrypted Media, Idle Detection, File System Access, Media Capture (getUserMedia(), enumerateDevices(), getDisplayMedia()), Media Capabilities, Web MIDI, Notifications, Presentation, Push, Picture-in-Picture, Web Speech, WebHID, Web NFC, Web Serial, Web Share, WebUSB or WebXR; test_driver.set_permission() only supports the clipboard permissions
prerender/restriction-web-xr-inline-session.https.htmlTimeout0 / 2NOT IMPLEMENTED, TEST RUNNERthe API that the test expects to be restricted or delayed while prerendering: Audio Output Devices (setSinkId()), Background Fetch, Background Sync, Web Bluetooth, Encrypted Media, Idle Detection, File System Access, Media Capture (getUserMedia(), enumerateDevices(), getDisplayMedia()), Media Capabilities, Web MIDI, Notifications, Presentation, Push, Picture-in-Picture, Web Speech, WebHID, Web NFC, Web Serial, Web Share, WebUSB or WebXR; test_driver.set_permission() only supports the clipboard permissions
prerender/restriction-window-move.https.htmlFail0 / 2NOT IMPLEMENTEDwindow.moveTo() and moveBy() are not ignored while prerendering, and the client window has no multi-screen position (screenX of the test is expected to be unknown)
prerender/restriction-window-open.https.htmlPass2 / 2
prerender/restriction-window-resize.https.htmlFail0 / 2NOT IMPLEMENTEDwindow.resizeTo() and resizeBy() are not ignored while prerendering (the test resizes the popup by 1px and expects the size of the prerendered page to stay)
prerender/restrictions.https.htmlFail0 / 4TEST BUGthe test uses RemoteContext without including /common/dispatcher/dispatcher.js (a ReferenceError); it fails in every browser
prerender/sandbox-iframe.https.htmlPass1 / 1
prerender/scroll-into-view-cross-origin-iframe.https.htmlFail2 / 6BUGfocus() of an element of a cross-origin iframe of a prerendering page does not update document.activeElement of the iframe; the test also times out in Chromium
prerender/send-beacon.https.htmlPass2 / 2
prerender/service-workers.https.htmlDisabled–FLAKYTwo subtests register a service worker and create the prerendered page without waiting for the worker to be activated: a navigation is only controlled by an active worker, so when the activation is slower than the prerendering (on the loaded CI agents), the prerendered page is not controlled and its fetch of ping gets 404 Not Found instead of pong
prerender/session-history-activation.https.htmlPass1 / 1
prerender/session-history-location.https.htmlPass3 / 3
prerender/session-history-navigation.https.htmlPass1 / 1
prerender/session-history-pushstate.https.htmlPass2 / 2
prerender/session-history-subframe-navigation.https.htmlPass1 / 1
prerender/session-history-subframe-reload.https.htmlPass1 / 1
prerender/state-and-event.https.htmlPass1 / 1
prerender/visibility-state.https.htmlPass1 / 1
prerender/windowclient-navigate-to-cross-origin-url-on-iframe.https.htmlPass1 / 1
prerender/windowclient-navigate-to-same-origin-url-on-iframe.https.htmlPass1 / 1
prerender/windowclient-navigate.https.htmlFail0 / 1NOT IMPLEMENTEDWindowClient.navigate() of a prerendered main page is not rejected with a TypeError: the client navigates; the test also times out in Chromium
prerender/workers-in-cross-origin-iframe.https.htmlPass1 / 1
prerender/workers.https.htmlError0 / 3NOT IMPLEMENTEDthe workers of a prerendering document are not suspended until the activation: the dedicated and shared workers start while the page is prerendering
script-supports.https.htmlPass2 / 2
speculation-tags/cross-site-prefetch.https.htmlPass1 / 1
speculation-tags/cross-site-to-same-site-redirection-prefetch.https.htmlPass1 / 1
speculation-tags/deduped-and-sorted-tags.https.htmlPass10 / 10
speculation-tags/invalid-tags.https.htmlPass40 / 40
speculation-tags/no-tags.https.htmlPass2 / 2
speculation-tags/prefetch-eagerness-pointer-down.https.htmlPass1 / 1
speculation-tags/prefetch-eagerness-pointer-hover.https.htmlPass1 / 1
speculation-tags/prerender-target-hint.https.htmlPass1 / 1
speculation-tags/same-site-to-cross-site-redirection-prefetch.https.htmlPass1 / 1
speculation-tags/valid-tags.https.htmlPass32 / 32

Tentative tests

TestResultSubtestsKindDescription
activation-header/prefetch-activation-beacon.tentative.https.htmlFail0 / 1NOT IMPLEMENTEDthe on-prefetch-activation response header of the tentative tests (a beacon sent when the prefetched or prerendered document is activated): a Chromium experiment that no specification defines
activation-header/prerender-activation-beacon.tentative.https.htmlFail0 / 2NOT IMPLEMENTEDthe on-prefetch-activation response header of the tentative tests (a beacon sent when the prefetched or prerendered document is activated): a Chromium experiment that no specification defines
inline-speculation-rules-base-url-errors.tentative.htmlTimeout0 / 1TEST BUGthe test waits for an error event at the script element of invalid speculation rules (Chromium); the specification only reports the exception of the parsing
prefetch/list-rule-eagerness-conservative-pointerdown-preventdefault.tentative.https.htmlPass2 / 2
prefetch/list-rule-eagerness-eager-hover.tentative.https.htmlPass1 / 1
prefetch/tentative/cookie-indices.https.htmlTimeout0 / 6TEST BUG, NOT IMPLEMENTEDthe redirect variants request prefetch/tentative/resources/random_redirect.py, which does not exist (the handler is in prefetch/resources); the Cookie-Indices response header (a prefetch is not discarded when the cookies it names changed since); the test also fails in Chromium
prefetch/tentative/service-worker/basic.sub.https.htmlPass24 / 24
prefetch/tentative/service-worker/redirect.sub.https.htmlFail7 / 11BUGthe redirects of the navigations handled by a service worker (as service-workers/service-worker/navigation-redirect.https.html): the document of a navigation redirected out of the scope of the worker that handled its first request is still controlled by that worker (sc=in-out), and the navigations whose redirect is fetched or synthesized by the fetch handler never complete (sc=in-in and sc=out-in with fetch-handler, sc=in-in with fetch-handler-synthetic). The prefetch itself fails at the redirect, as the tests expect
prerender/restriction-audio-setSinkId-with-invalid-sinkId.https.tentative.https.htmlTimeout0 / 2NOT IMPLEMENTED, TEST RUNNERthe API that the test expects to be restricted or delayed while prerendering: Audio Output Devices (setSinkId()), Background Fetch, Background Sync, Web Bluetooth, Encrypted Media, Idle Detection, File System Access, Media Capture (getUserMedia(), enumerateDevices(), getDisplayMedia()), Media Capabilities, Web MIDI, Notifications, Presentation, Push, Picture-in-Picture, Web Speech, WebHID, Web NFC, Web Serial, Web Share, WebUSB or WebXR; test_driver.set_permission() only supports the clipboard permissions
prerender/restriction-audio-setSinkId.https.tentative.https.htmlTimeout0 / 2NOT IMPLEMENTED, TEST RUNNERthe API that the test expects to be restricted or delayed while prerendering: Audio Output Devices (setSinkId()), Background Fetch, Background Sync, Web Bluetooth, Encrypted Media, Idle Detection, File System Access, Media Capture (getUserMedia(), enumerateDevices(), getDisplayMedia()), Media Capabilities, Web MIDI, Notifications, Presentation, Push, Picture-in-Picture, Web Speech, WebHID, Web NFC, Web Serial, Web Share, WebUSB or WebXR; test_driver.set_permission() only supports the clipboard permissions
prerender/restriction-bluetooth.tentative.https.htmlTimeout0 / 1NOT IMPLEMENTED, TEST RUNNERthe API that the test expects to be restricted or delayed while prerendering: Audio Output Devices (setSinkId()), Background Fetch, Background Sync, Web Bluetooth, Encrypted Media, Idle Detection, File System Access, Media Capture (getUserMedia(), enumerateDevices(), getDisplayMedia()), Media Capabilities, Web MIDI, Notifications, Presentation, Push, Picture-in-Picture, Web Speech, WebHID, Web NFC, Web Serial, Web Share, WebUSB or WebXR; test_driver.set_permission() only supports the clipboard permissions
prerender/restriction-web-serial.tentative.https.htmlTimeout0 / 1NOT IMPLEMENTED, TEST RUNNERthe API that the test expects to be restricted or delayed while prerendering: Audio Output Devices (setSinkId()), Background Fetch, Background Sync, Web Bluetooth, Encrypted Media, Idle Detection, File System Access, Media Capture (getUserMedia(), enumerateDevices(), getDisplayMedia()), Media Capabilities, Web MIDI, Notifications, Presentation, Push, Picture-in-Picture, Web Speech, WebHID, Web NFC, Web Serial, Web Share, WebUSB or WebXR; test_driver.set_permission() only supports the clipboard permissions
prerender/session-storage.tentative.https.htmlPass4 / 4
speculation-measurement/performance-speculations-early-hints-preconnect.tentative.h2.window.jsPass1 / 1
speculation-measurement/performance-speculations-early-hints-preload.tentative.h2.window.jsPass1 / 1
speculation-measurement/performance-speculations-multiple-early-hints-preconnect.tentative.h2.window.jsTimeout0 / 0NOT IMPLEMENTEDperformance.speculations (the tentative Speculation Measurement API of Chromium), and the early hints (103 responses) of the .h2 tests
speculation-measurement/performance-speculations-navigation-destination-url.tentative.https.htmlError0 / 0NOT IMPLEMENTEDperformance.speculations (the tentative Speculation Measurement API of Chromium), and the early hints (103 responses) of the .h2 tests
speculation-measurement/performance-speculations-navigations-eagerness.tentative.https.htmlError0 / 0NOT IMPLEMENTEDperformance.speculations (the tentative Speculation Measurement API of Chromium), and the early hints (103 responses) of the .h2 tests
speculation-measurement/performance-speculations-navigations-pointerdown.tentative.https.htmlError0 / 0NOT IMPLEMENTEDperformance.speculations (the tentative Speculation Measurement API of Chromium), and the early hints (103 responses) of the .h2 tests
speculation-measurement/performance-speculations-navigations.tentative.https.htmlError0 / 0NOT IMPLEMENTEDperformance.speculations (the tentative Speculation Measurement API of Chromium), and the early hints (103 responses) of the .h2 tests
speculation-measurement/performance-speculations-preconnect-response-header.tentative.htmlFail0 / 1NOT IMPLEMENTEDperformance.speculations (the tentative Speculation Measurement API of Chromium), and the early hints (103 responses) of the .h2 tests
speculation-measurement/performance-speculations-preconnect.tentative.htmlFail0 / 8NOT IMPLEMENTEDperformance.speculations (the tentative Speculation Measurement API of Chromium), and the early hints (103 responses) of the .h2 tests
speculation-measurement/performance-speculations-preredirect-urls.tentative.https.htmlError0 / 0NOT IMPLEMENTEDperformance.speculations (the tentative Speculation Measurement API of Chromium), and the early hints (103 responses) of the .h2 tests
speculation-measurement/performance-speculations-serialization.tentative.https.htmlError0 / 0NOT IMPLEMENTEDperformance.speculations (the tentative Speculation Measurement API of Chromium), and the early hints (103 responses) of the .h2 tests
speculation-measurement/performance-speculations-unused-preload.tentative.htmlFail0 / 10NOT IMPLEMENTEDperformance.speculations (the tentative Speculation Measurement API of Chromium), and the early hints (103 responses) of the .h2 tests
speculation-measurement/performance-speculations-used-preload.tentative.htmlFail0 / 8NOT IMPLEMENTEDperformance.speculations (the tentative Speculation Measurement API of Chromium), and the early hints (103 responses) of the .h2 tests