cache-storage/cache-abort.https.any.js | Pass | 36 / 36 | | |
cache-storage/cache-add.https.any.js | Fail | 92 / 96 | TEST BUG | "Cache.addAll should succeed when an entry matches an earlier entry only under its own vary header": vary.py sets the Vary header from the cookie with str() of bytes (Python 3), i.e. Vary: b'x-shape', a header that neither request has: the two requests match under the Vary of the first response, so addAll() rejects with an InvalidStateError (https://w3c.github.io/ServiceWorker/#batch-cache-operations) |
cache-storage/cache-api-nested-worker.https.html | Pass | 1 / 1 | | |
cache-storage/cache-delete.https.any.js | Pass | 36 / 36 | | |
cache-storage/cache-keys-attributes-for-service-worker.https.html | Pass | 2 / 2 | | |
cache-storage/cache-keys.https.any.js | Pass | 68 / 68 | | |
cache-storage/cache-match.https.any.js | Pass | 100 / 100 | | |
cache-storage/cache-matchAll.https.any.js | Pass | 64 / 64 | | |
cache-storage/cache-put.https.any.js | Pass | 108 / 108 | | |
cache-storage/cache-storage-buckets.https.any.js | Fail | 0 / 8 | NOT IMPLEMENTED | Storage Buckets API (navigator.storageBuckets) |
cache-storage/cache-storage-keys.https.any.js | Pass | 4 / 4 | | |
cache-storage/cache-storage-match.https.any.js | Pass | 44 / 44 | | |
cache-storage/cache-storage.https.any.js | Pass | 40 / 40 | | |
cache-storage/common.https.window.js | Pass | 1 / 1 | | |
cache-storage/credentials.https.html | Pass | 1 / 1 | | |
cache-storage/sandboxed-iframes.https.html | Pass | 2 / 2 | | |
idlharness.https.any.js | Pass | 787 / 787 | | |
service-worker/Service-Worker-Allowed-header.https.html | Pass | 8 / 8 | | |
service-worker/ServiceWorkerGlobalScope/close.https.html | Pass | 2 / 2 | | |
service-worker/ServiceWorkerGlobalScope/error-message-event.https.html | Fail | 0 / 1 | NOT IMPLEMENTED | HTMLCanvasElement.captureStream() (a MediaStream cannot be posted) |
service-worker/ServiceWorkerGlobalScope/extendable-message-event-constructor.https.html | Pass | 10 / 10 | | |
service-worker/ServiceWorkerGlobalScope/extendable-message-event.https.html | Pass | 4 / 4 | | |
service-worker/ServiceWorkerGlobalScope/fetch-on-the-right-interface.https.any.js | Pass | 1 / 1 | | |
service-worker/ServiceWorkerGlobalScope/isSecureContext.https.html | Pass | 2 / 2 | | |
service-worker/ServiceWorkerGlobalScope/message-event-ports.https.html | Pass | 1 / 1 | | |
service-worker/ServiceWorkerGlobalScope/postmessage.https.html | Pass | 2 / 2 | | |
service-worker/ServiceWorkerGlobalScope/registration-attribute.https.html | Pass | 2 / 2 | | |
service-worker/ServiceWorkerGlobalScope/service-worker-error-event.https.html | Pass | 1 / 1 | | |
service-worker/ServiceWorkerGlobalScope/unregister.https.html | Pass | 4 / 4 | | |
service-worker/ServiceWorkerGlobalScope/update.https.html | Pass | 1 / 1 | | |
service-worker/about-blank-replacement.https.html | Fail | 4 / 7 | BUG | the document that replaces the initial about:blank document of an iframe or a popup reuses its Window, but its client has the id of the reserved client of the navigation instead of the id of the environment of the initial document (Chrome and Safari fail the same three subtests); the other subtests pass |
service-worker/activate-event-after-install-state-change.https.html | Pass | 1 / 1 | | |
service-worker/activation-after-registration.https.html | Pass | 1 / 1 | | |
service-worker/activation.https.html | Pass | 4 / 4 | | |
service-worker/active.https.html | Pass | 2 / 2 | | |
service-worker/add-routes.https.html | Pass | 1 / 1 | | |
service-worker/claim-affect-other-registration.https.html | Pass | 1 / 1 | | |
service-worker/claim-fetch.https.html | Pass | 1 / 1 | | |
service-worker/claim-not-using-registration.https.html | Pass | 2 / 2 | | |
service-worker/claim-shared-worker-fetch.https.html | Pass | 1 / 1 | | |
service-worker/claim-using-registration.https.html | Pass | 2 / 2 | | |
service-worker/claim-with-redirect.https.html | Pass | 1 / 1 | | |
service-worker/claim-worker-fetch.https.html | Fail | 3 / 6 | TEST BUG | the test expects clients.claim() to claim a worker created from a blob: URL; the creation URL of that worker is its blob: URL, which does not match the scope of the registration (https://w3c.github.io/ServiceWorker/#clients-claim), so the worker keeps the controller of its creator. Firefox fails the same three subtests |
service-worker/client-id.https.html | Pass | 1 / 1 | | |
service-worker/client-navigate.https.html | Fail | 9 / 10 | BUG | a navigation of WindowClient.navigate() that is blocked as mixed content loads the error document of a network error, as the navigation algorithm specifies (navigate() is rejected with a TypeError); the test expects the frame to keep its document (reading location.href of the error document throws a SecurityError) |
service-worker/client-url-creation-url.https.html | Timeout | 0 / 10 | BUG | the iframe of the test posts a message to its parent while it is parsed, and the test adds its message listener once the load event of the iframe is fired: the task of the message runs before the tasks of the DOMContentLoaded and load events, which are queued when the parsing ends (the browsers fire the load event of a small document in the task that ends its parsing, before the posted messages), so the message is lost and every subtest times out |
service-worker/client-url-of-blob-url-worker.https.html | Pass | 1 / 1 | | |
service-worker/clients-get-client-types.https.html | Pass | 1 / 1 | | |
service-worker/clients-get-cross-origin.https.html | Pass | 1 / 1 | | |
service-worker/clients-get-resultingClientId.https.html | Pass | 6 / 6 | | |
service-worker/clients-get.https.html | Pass | 3 / 3 | | |
service-worker/clients-matchall-blob-url-worker.https.html | Pass | 2 / 2 | | |
service-worker/clients-matchall-client-types.https.html | Pass | 2 / 2 | | |
service-worker/clients-matchall-exact-controller.https.html | Pass | 1 / 1 | | |
service-worker/clients-matchall-frozen.https.html | Fail | 0 / 1 | TEST BUG | the windows are opened by window.open(), so they are auxiliary browsing contexts whose frameType is auxiliary (https://w3c.github.io/ServiceWorker/#dom-client-frametype), not top-level; their lifecycleState is correct (frozen for the window frozen by test_driver.freeze()) |
service-worker/clients-matchall-include-uncontrolled.https.html | Pass | 2 / 2 | | |
service-worker/clients-matchall-on-evaluation.https.html | Pass | 1 / 1 | | |
service-worker/clients-matchall-order.https.html | Fail | 4 / 7 | TEST RUNNER | the three subtests of the uncontrolled windows expect the window of the WPT harness (/testharness_runner.html) among the clients; the subtests of the controlled windows pass |
service-worker/clients-matchall.https.html | Pass | 1 / 1 | | |
service-worker/controlled-dedicatedworker-postMessage.https.html | Disabled | – | FLAKY | Result depends on the platform: passes on Linux and macOS, times out on Windows before any subtest reports; to investigate |
service-worker/controlled-iframe-postMessage.https.html | Fail | 3 / 5 | NOT IMPLEMENTED | clients.get(event.resultingClientId) resolves with undefined until the document or the worker of the request exists (the reserved clients are not exposed), so the messages that the service worker posts while it handles the request are not sent. The specification waits for the client to be execution ready, which the test prevents (Chrome fails these subtests); Firefox and Safari give the reserved client and queue its messages |
service-worker/controller-on-disconnect.https.html | Pass | 1 / 1 | | |
service-worker/controller-on-load.https.html | Pass | 1 / 1 | | |
service-worker/controller-on-reload.https.html | Pass | 1 / 1 | | |
service-worker/controller-with-no-fetch-event-handler.https.html | Pass | 5 / 5 | | |
service-worker/credentials.https.html | Pass | 5 / 5 | | |
service-worker/css-sw-same-origin-substitution.https.html | Pass | 1 / 1 | | |
service-worker/data-iframe.html | Pass | 1 / 1 | | |
service-worker/data-transfer-files.https.html | Pass | 1 / 1 | | |
service-worker/dedicated-worker-service-worker-interception.https.html | Pass | 3 / 3 | | |
service-worker/detached-context.https.html | Pass | 4 / 4 | | |
service-worker/embed-and-object-are-not-intercepted.https.html | Pass | 8 / 8 | | |
service-worker/extendable-event-async-waituntil.https.html | Pass | 14 / 14 | | |
service-worker/extendable-event-waituntil.https.html | Pass | 6 / 6 | | |
service-worker/fetch-audio-tainting.https.html | Fail | 0 / 1 | NOT IMPLEMENTED | MediaElementAudioSourceNode (createMediaElementSource()), which the test uses to check that the audio of the element is tainted |
service-worker/fetch-canvas-tainting-double-write.https.html | Pass | 1 / 1 | | |
service-worker/fetch-canvas-tainting-image-cache.https.html | Pass | 40 / 40 | | |
service-worker/fetch-canvas-tainting-image.https.html | Pass | 40 / 40 | | |
service-worker/fetch-canvas-tainting-video-cache.https.html | Pass | 40 / 40 | | |
service-worker/fetch-canvas-tainting-video-with-range-request.https.html | Fail | 4 / 5 | BUG | the range responses from single origin with both opaque and non-opaque responses subtest: the opaque (no-cors) first response and the CORS range responses that the service worker fetches from the same cross-origin URL are patched together, so the video taints the canvas instead of failing to load; verify a media response (HTML Standard) accepts the responses of an origin that is same origin with the previous ones whatever their CORS mode (Chrome and Safari fail this subtest too); the other subtests pass |
service-worker/fetch-canvas-tainting-video.https.html | Pass | 40 / 40 | | |
service-worker/fetch-cors-exposed-header-names.https.html | Pass | 1 / 1 | | |
service-worker/fetch-cors-xhr.https.html | Pass | 41 / 41 | | |
service-worker/fetch-csp.https.html | Pass | 1 / 1 | | |
service-worker/fetch-error.https.html | Pass | 3 / 3 | | |
service-worker/fetch-event-add-async.https.html | Pass | 2 / 2 | | |
service-worker/fetch-event-after-navigation-within-page.https.html | Pass | 2 / 2 | | |
service-worker/fetch-event-async-respond-with.https.html | Pass | 4 / 4 | | |
service-worker/fetch-event-handled.https.html | Pass | 8 / 8 | | |
service-worker/fetch-event-network-error.https.html | Pass | 1 / 1 | | |
service-worker/fetch-event-redirect.https.html | Pass | 56 / 56 | | |
service-worker/fetch-event-referrer-policy.https.html | Fail | 2 / 3 | TEST BUG | the subtest fetches an http: URL from an https: document and expects the service worker to answer it: the request is blocked as mixed content before the service workers are consulted (https://fetch.spec.whatwg.org/#concept-main-fetch). Chrome, Firefox and Safari fail the subtest in the same way |
service-worker/fetch-event-respond-with-argument.https.html | Pass | 1 / 1 | | |
service-worker/fetch-event-respond-with-body-loaded-in-chunk.https.html | Pass | 1 / 1 | | |
service-worker/fetch-event-respond-with-custom-response.https.html | Pass | 11 / 11 | | |
service-worker/fetch-event-respond-with-partial-stream.https.html | Pass | 1 / 1 | | |
service-worker/fetch-event-respond-with-readable-stream-chunk.https.html | Pass | 1 / 1 | | |
service-worker/fetch-event-respond-with-readable-stream.https.html | Pass | 10 / 10 | | |
service-worker/fetch-event-respond-with-response-body-with-invalid-chunk.https.html | Pass | 1 / 1 | | |
service-worker/fetch-event-respond-with-stops-propagation.https.html | Pass | 1 / 1 | | |
service-worker/fetch-event-throws-after-respond-with.https.html | Pass | 1 / 1 | | |
service-worker/fetch-event-within-sw.https.html | Pass | 2 / 2 | | |
service-worker/fetch-event.https.h2.html | Fail | 5 / 7 | NOT IMPLEMENTED | the bodies are not streamed: the streaming request bodies (HTTP/2) |
service-worker/fetch-event.https.html | Fail | 42 / 43 | BUG | event.clientId of a navigation request is the id of the client of the request (the document that starts the navigation), as Create Fetch Event and Dispatch specifies and as speculation-rules/prefetch/tentative/service-worker expects; Chrome, Firefox and Safari give the empty string, which this test expects |
service-worker/fetch-frame-resource.https.html | Pass | 6 / 6 | | |
service-worker/fetch-header-visibility.https.html | Pass | 1 / 1 | | |
service-worker/fetch-mixed-content-to-inscope.https.html | Pass | 1 / 1 | | |
service-worker/fetch-mixed-content-to-outscope.https.html | Pass | 1 / 1 | | |
service-worker/fetch-request-body-cancel.https.html | Error | 1 / 2 | NOT IMPLEMENTED | the bodies are not streamed: cancelling event.request.body does not cancel the body of the request |
service-worker/fetch-request-css-base-url.https.html | Pass | 4 / 4 | | |
service-worker/fetch-request-css-cross-origin.https.html | Pass | 4 / 4 | | |
service-worker/fetch-request-css-images.https.html | Pass | 4 / 4 | | |
service-worker/fetch-request-fallback.https.html | Pass | 17 / 17 | | |
service-worker/fetch-request-no-freshness-headers.https.html | Pass | 1 / 1 | | |
service-worker/fetch-request-redirect.https.html | Pass | 35 / 35 | | |
service-worker/fetch-request-resources.https.html | Pass | 67 / 67 | | |
service-worker/fetch-request-xhr-sync-error.https.window.js | Pass | 1 / 1 | | |
service-worker/fetch-request-xhr-sync-on-worker.https.html | Pass | 1 / 1 | | |
service-worker/fetch-request-xhr-sync.https.html | Pass | 1 / 1 | | |
service-worker/fetch-request-xhr.https.html | Pass | 13 / 13 | | |
service-worker/fetch-response-taint.https.html | Pass | 132 / 132 | | |
service-worker/fetch-response-xhr.https.html | Pass | 1 / 1 | | |
service-worker/fetch-waits-for-activate.https.html | Pass | 2 / 2 | | |
service-worker/fetch-with-body.https.html | Pass | 1 / 1 | | |
service-worker/getregistration.https.html | Pass | 6 / 6 | | |
service-worker/getregistrations.https.html | Pass | 6 / 6 | | |
service-worker/global-serviceworker.https.any.js | Pass | 4 / 4 | | |
service-worker/historical.https.any.js | Pass | 1 / 1 | | |
service-worker/http-to-https-redirect-and-register.https.html | Pass | 2 / 2 | | |
service-worker/immutable-prototype-serviceworker.https.html | Pass | 1 / 1 | | |
service-worker/import-scripts-cross-origin.https.html | Pass | 1 / 1 | | |
service-worker/import-scripts-data-url.https.html | Pass | 1 / 1 | | |
service-worker/import-scripts-mime-types.https.html | Pass | 23 / 23 | | |
service-worker/import-scripts-redirect.https.html | Pass | 3 / 3 | | |
service-worker/import-scripts-resource-map.https.html | Pass | 2 / 2 | | |
service-worker/import-scripts-updated-flag.https.html | Pass | 5 / 5 | | |
service-worker/indexeddb.https.html | Pass | 3 / 3 | | |
service-worker/install-event-type.https.html | Pass | 1 / 1 | | |
service-worker/installing.https.html | Pass | 2 / 2 | | |
service-worker/intercepted-referrer.https.html | Pass | 1 / 1 | | |
service-worker/interface-requirements-sw.https.html | Pass | 4 / 4 | | |
service-worker/invalid-blobtype.https.html | Pass | 1 / 1 | | |
service-worker/invalid-header.https.html | Pass | 1 / 1 | | |
service-worker/iso-latin1-header.https.html | Pass | 1 / 1 | | |
service-worker/local-url-inherit-controller.https.html | Pass | 9 / 9 | | |
service-worker/mime-sniffing.https.html | Pass | 1 / 1 | | |
service-worker/multi-globals/url-parsing.https.html | Pass | 3 / 3 | | |
service-worker/multipart-image.https.html | Fail | 3 / 6 | NOT IMPLEMENTED | multipart/x-mixed-replace images |
service-worker/multiple-register.https.html | Pass | 3 / 3 | | |
service-worker/multiple-update.https.html | Pass | 1 / 1 | | |
service-worker/navigate-window.https.html | Fail | 1 / 2 | TEST RUNNER | the subtest of the uncontrolled windows expects the window of the WPT harness (/testharness_runner.html) and the test window as an auxiliary window among the clients; the subtest of the controlled windows passes |
service-worker/navigation-headers.https.html | Pass | 83 / 83 | | |
service-worker/navigation-preload/broken-chunked-encoding.https.html | Pass | 2 / 2 | | |
service-worker/navigation-preload/chunked-encoding.https.html | Pass | 1 / 1 | | |
service-worker/navigation-preload/content-encoding.https.html | Pass | 1 / 1 | | |
service-worker/navigation-preload/empty-preload-response-body.https.html | Pass | 1 / 1 | | |
service-worker/navigation-preload/get-state.https.html | Fail | 2 / 3 | TEST BUG | setHeaderValue() normalizes the value before checking it (https://w3c.github.io/ServiceWorker/#dom-navigationpreloadmanager-setheadervalue): a leading carriage return is removed, the test expects a TypeError as in the browsers |
service-worker/navigation-preload/navigationPreload.https.html | Pass | 1 / 1 | | |
service-worker/navigation-preload/redirect.https.html | Pass | 4 / 4 | | |
service-worker/navigation-preload/request-headers.https.html | Pass | 1 / 1 | | |
service-worker/navigation-preload/resource-timing.https.html | Timeout | 0 / 1 | NOT IMPLEMENTED | the resource timing entry of the navigation preload request |
service-worker/navigation-preload/samesite-cookies.https.html | Pass | 5 / 5 | | |
service-worker/navigation-preload/samesite-iframe.https.html | Pass | 1 / 1 | | |
service-worker/navigation-redirect-body.https.html | Pass | 1 / 1 | | |
service-worker/navigation-redirect-resolution.https.html | Pass | 3 / 3 | | |
service-worker/navigation-redirect-to-http.https.html | Pass | 1 / 1 | | |
service-worker/navigation-redirect.https.html | Pass | 78 / 78 | | |
service-worker/navigation-sets-cookie.https.html | Pass | 16 / 16 | | |
service-worker/navigation-timing-extended.https.html | Pass | 1 / 1 | | |
service-worker/navigation-timing-sizes.https.html | Pass | 3 / 3 | | |
service-worker/navigation-timing.https.html | Pass | 3 / 3 | | |
service-worker/nested-blob-url-workers.https.html | Pass | 3 / 3 | | |
service-worker/next-hop-protocol.https.html | Fail | 1 / 2 | NOT IMPLEMENTED | the protocol of the connection is not reported by the loader: nextHopProtocol is http/1.1 for the HTTP/2 resource of the network (the H1 subtest passes) |
service-worker/no-dynamic-import-in-module.any.js | Pass | 3 / 3 | | |
service-worker/no-dynamic-import.any.js | Pass | 3 / 3 | | |
service-worker/onactivate-script-error.https.html | Pass | 5 / 5 | | |
service-worker/oninstall-script-error.https.html | Pass | 6 / 6 | | |
service-worker/opaque-response-preloaded.https.html | Pass | 2 / 2 | | |
service-worker/opaque-script.https.html | Pass | 4 / 4 | | |
service-worker/performance-timeline.https.html | Pass | 4 / 4 | | |
service-worker/postmessage-blob-url.https.html | Pass | 1 / 1 | | |
service-worker/postmessage-from-waiting-serviceworker.https.html | Pass | 1 / 1 | | |
service-worker/postmessage-msgport-to-client.https.html | Pass | 1 / 1 | | |
service-worker/postmessage-to-client-message-queue.https.html | Pass | 5 / 5 | | |
service-worker/postmessage-to-client.https.html | Pass | 1 / 1 | | |
service-worker/postmessage.https.html | Pass | 5 / 5 | | |
service-worker/ready.https.window.js | Pass | 9 / 9 | | |
service-worker/redirected-response.https.html | Pass | 26 / 26 | | |
service-worker/referer.https.html | Pass | 1 / 1 | | |
service-worker/referrer-policy-header.https.html | Pass | 3 / 3 | | |
service-worker/referrer-toplevel-script-fetch.https.html | Pass | 2 / 2 | | |
service-worker/register-closed-window.https.html | Pass | 1 / 1 | | |
service-worker/register-default-scope.https.html | Pass | 3 / 3 | | |
service-worker/register-same-scope-different-script-url.https.html | Pass | 5 / 5 | | |
service-worker/register-wait-forever-in-install-worker.https.html | Pass | 1 / 1 | | |
service-worker/registration-basic.https.html | Pass | 3 / 3 | | |
service-worker/registration-end-to-end.https.html | Pass | 1 / 1 | | |
service-worker/registration-events.https.html | Pass | 1 / 1 | | |
service-worker/registration-iframe.https.html | Pass | 3 / 3 | | |
service-worker/registration-mime-types.https.html | Pass | 39 / 39 | | |
service-worker/registration-schedule-job.https.html | Pass | 3 / 3 | | |
service-worker/registration-scope-module-static-import.https.html | Pass | 3 / 3 | | |
service-worker/registration-scope.https.html | Pass | 10 / 10 | | |
service-worker/registration-script-module.https.html | Disabled | – | FLAKY | Result depends on the platform: passes on Linux and macOS, times out on Windows before its first subtest reports (the registration of a script served with an invalid chunked encoding by resources/invalid-chunked-encoding.py does not complete); to investigate |
service-worker/registration-script-url.https.html | Pass | 8 / 8 | | |
service-worker/registration-script.https.html | Disabled | – | FLAKY | Result depends on the platform: passes on Linux and macOS, times out on Windows before its first subtest reports (the registration of a script served with an invalid chunked encoding by resources/invalid-chunked-encoding.py does not complete); to investigate |
service-worker/registration-security-error.https.html | Pass | 8 / 8 | | |
service-worker/registration-service-worker-attributes.https.html | Pass | 1 / 1 | | |
service-worker/registration-updateviacache.https.html | Pass | 25 / 25 | | |
service-worker/rejections.https.html | Pass | 1 / 1 | | |
service-worker/request-end-to-end.https.html | Pass | 1 / 1 | | |
service-worker/resource-timing-bodySize.https.html | Pass | 24 / 24 | | |
service-worker/resource-timing-cross-origin-server-timing.https.html | Fail | 0 / 1 | TEST BUG | the test expects the decodedBodySize and encodedBodySize of a CORS response without Timing-Allow-Origin to be 0: the body sizes are CORS-protected, not TAO-protected (https://w3c.github.io/resource-timing/, resource-timing/body-size-cross-origin.https.html). The Server-Timing metrics of the response are not exposed, as the test expects |
service-worker/resource-timing-cross-origin.https.html | Fail | 0 / 2 | TEST BUG | the test expects the connection times of an entry whose timing allow check fails to equal fetchStart; they are 0 (https://w3c.github.io/resource-timing/). Chrome, Firefox and Safari fail the two subtests on domainLookupStart |
service-worker/resource-timing-fetch-variants.https.html | Pass | 5 / 5 | | |
service-worker/resource-timing.sub.https.html | Fail | 1 / 2 | TEST RUNNER | the server of the runner does not answer the request of a missing file (missing.jpg) with a 404 response: the loader fails, so the entry of the image is the one of a network error (responseStart is 0); the assertions of the other resources pass |
service-worker/respond-with-body-accessed-response.https.html | Pass | 20 / 20 | | |
service-worker/same-site-cookies.https.html | Fail | 65 / 66 | NOT IMPLEMENTED | storage partitioning: the service worker registered by a same-origin iframe nested in a cross-site iframe is not partitioned, so the request that it creates (new Request(event.request, ...)) is same-site and sends the SameSite cookies; the other 65 subtests pass |
service-worker/sandboxed-iframe-fetch-event.https.html | Pass | 29 / 29 | | |
service-worker/sandboxed-iframe-navigator-serviceworker.https.html | Pass | 4 / 4 | | |
service-worker/secure-context.https.html | Pass | 1 / 1 | | |
service-worker/service-worker-csp-connect.https.html | Pass | 5 / 5 | | |
service-worker/service-worker-csp-default.https.html | Pass | 5 / 5 | | |
service-worker/service-worker-csp-script.https.html | Pass | 5 / 5 | | |
service-worker/service-worker-header.https.html | Pass | 1 / 1 | | |
service-worker/serviceworker-message-event-historical.https.html | Pass | 1 / 1 | | |
service-worker/serviceworkerobject-scripturl.https.html | Pass | 4 / 4 | | |
service-worker/skip-waiting-installed.https.html | Pass | 1 / 1 | | |
service-worker/skip-waiting-using-registration.https.html | Pass | 2 / 2 | | |
service-worker/skip-waiting-without-client.https.html | Pass | 2 / 2 | | |
service-worker/skip-waiting-without-using-registration.https.html | Pass | 2 / 2 | | |
service-worker/skip-waiting.https.html | Pass | 1 / 1 | | |
service-worker/soft-update-fetch-metadata.https.html | Pass | 3 / 3 | | |
service-worker/srcdoc-iframe.https.html | Pass | 5 / 5 | | |
service-worker/state.https.html | Pass | 1 / 1 | | |
service-worker/static-router-cross-origin-navigation.https.html | Pass | 1 / 1 | | |
service-worker/static-router-fetch-event.https.html | Pass | 2 / 2 | | |
service-worker/static-router-invalid-rules.https.html | Pass | 8 / 8 | | |
service-worker/static-router-main-resource.https.html | Pass | 9 / 9 | | |
service-worker/static-router-multiple-router-registrations.https.html | Pass | 2 / 2 | | |
service-worker/static-router-mutiple-conditions.https.html | Pass | 2 / 2 | | |
service-worker/static-router-no-fetch-handler.https.html | Pass | 3 / 3 | | |
service-worker/static-router-race-network-and-fetch-handler.https.html | Pass | 8 / 8 | | |
service-worker/static-router-request-destination.https.html | Pass | 2 / 2 | | |
service-worker/static-router-request-method.https.html | Pass | 4 / 4 | | |
service-worker/static-router-subresource.https.html | Pass | 18 / 18 | | |
service-worker/synced-state.https.html | Pass | 1 / 1 | | |
service-worker/uncontrolled-page.https.html | Pass | 1 / 1 | | |
service-worker/unregister-controller.https.html | Pass | 3 / 3 | | |
service-worker/unregister-immediately-before-installed.https.html | Disabled | – | NOT IMPLEMENTED | Runs until the maximum duration of the runner (1 minute): Clear-Site-Data is not implemented, so it cannot abort the evaluation of a service worker script that loops forever |
service-worker/unregister-immediately-during-extendable-events.https.html | Timeout | 0 / 1 | NOT IMPLEMENTED | the immediate clearing of the registrations by the Clear-Site-Data header (the storage type): the registrations are unregistered (https://w3c.github.io/webappsec-clear-site-data/#clear-dom-accessible-storage), so their workers are not terminated and their controlled clients keep them until they are unloaded; the tests expect the behavior of Chromium, which clears the registrations and their workers at once |
service-worker/unregister-immediately.https.html | Disabled | – | FLAKY | the result depends on the timing of the service worker jobs: Clear-Site-Data does not clear the registrations immediately (their workers are not terminated and their controlled clients keep them until they are unloaded), so the subtests wait for state changes that happen or not before the timeout. Locally the first subtest (a worker kept in the activating state) times out and the others do not run; on the Linux x64 runners of CI the first two pass and the third times out |
service-worker/unregister-then-register-new-script.https.html | Pass | 3 / 3 | | |
service-worker/unregister-then-register.https.html | Pass | 4 / 4 | | |
service-worker/unregister.https.html | Pass | 2 / 2 | | |
service-worker/update-after-navigation-fetch-event.https.html | Pass | 3 / 3 | | |
service-worker/update-after-navigation-redirect.https.html | Pass | 1 / 1 | | |
service-worker/update-after-oneday.https.html | Timeout | 0 / 1 | TEST BUG | the test needs a registration whose last update check is older than 24 hours and cannot age it (it relies on a testing hook that the browsers do not expose): it times out in Chrome, Firefox and Safari too |
service-worker/update-bytecheck-cors-import.https.html | Pass | 8 / 8 | | |
service-worker/update-bytecheck.https.html | Pass | 8 / 8 | | |
service-worker/update-import-scripts.https.html | Pass | 5 / 5 | | |
service-worker/update-missing-import-scripts.https.html | Pass | 2 / 2 | | |
service-worker/update-module-request-mode.https.html | Pass | 1 / 1 | | |
service-worker/update-no-cache-request-headers.https.html | Pass | 1 / 1 | | |
service-worker/update-not-allowed.https.html | Pass | 3 / 3 | | |
service-worker/update-on-navigation.https.html | Pass | 1 / 1 | | |
service-worker/update-recovery.https.html | Fail | 0 / 1 | TEST BUG | the test expects that the iframe of a navigation that fails with a network error (the service worker rejects the request) fires no load event; the iframe fires it for the error document, as in Chrome and Firefox, which fail the test in the same way |
service-worker/update-registration-with-type.https.html | Pass | 7 / 7 | | |
service-worker/update-result.https.html | Pass | 1 / 1 | | |
service-worker/update.https.html | Pass | 7 / 7 | | |
service-worker/waiting.https.html | Pass | 2 / 2 | | |
service-worker/websocket-in-service-worker.https.html | Pass | 1 / 1 | | |
service-worker/websocket.https.html | Pass | 1 / 1 | | |
service-worker/webvtt-cross-origin.https.html | Pass | 10 / 10 | | |
service-worker/windowclient-ancestorOrigins.sub.https.html | Pass | 4 / 4 | | |
service-worker/windowclient-navigate.https.html | Fail | 21 / 22 | TEST BUG | the subtest expects the frame type of a window opened with window.open() to be "top-level"; its browsing context is an auxiliary browsing context, whose frame type is "auxiliary" (https://w3c.github.io/ServiceWorker/#get-frame-type). Firefox fails the subtest in the same way; the other subtests pass |
service-worker/worker-client-id.https.html | Pass | 1 / 1 | | |
service-worker/worker-in-sandboxed-iframe-by-csp-fetch-event.https.html | Pass | 5 / 5 | | |
service-worker/worker-interception-redirect.https.html | Pass | 66 / 66 | | |
service-worker/worker-interception.https.html | Pass | 16 / 16 | | |
service-worker/xhr-content-length.https.window.js | Pass | 5 / 5 | | |
service-worker/xhr-response-url.https.html | Pass | 6 / 6 | | |
service-worker/xsl-base-url.https.html | Fail | 0 / 1 | NOT IMPLEMENTED | XSLT |