aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJosh Matthews <josh@joshmatthews.net>2025-03-31 04:31:24 -0400
committerGitHub <noreply@github.com>2025-03-31 08:31:24 +0000
commitee95ef53fb03505e55680606cd6aeaffd8884cdc (patch)
treec61ce6f4a1facf4722aa1f27ddedb5c09a2f6e66
parent5f4624d8d52a5e92cef090bed34661f1e2ddfe0d (diff)
downloadservo-ee95ef53fb03505e55680606cd6aeaffd8884cdc.tar.gz
servo-ee95ef53fb03505e55680606cd6aeaffd8884cdc.zip
Enable service worker WPT tests. (#36221)
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
-rw-r--r--tests/wpt/include.ini2
-rw-r--r--tests/wpt/meta/__dir__.ini2
-rw-r--r--tests/wpt/meta/css/compositing/mix-blend-mode/mix-blend-mode-video-sibling.html.ini2
-rw-r--r--tests/wpt/meta/fetch/api/abort/serviceworker-intercepted.https.html.ini1
-rw-r--r--tests/wpt/meta/fetch/content-length/api-and-duplicate-headers.any.js.ini3
-rw-r--r--tests/wpt/meta/fetch/metadata/generated/css-font-face.https.sub.tentative.html.ini3
-rw-r--r--tests/wpt/meta/fetch/metadata/generated/serviceworker.https.sub.html.ini19
-rw-r--r--tests/wpt/meta/fetch/private-network-access/service-worker-background-fetch.tentative.https.window.js.ini2
-rw-r--r--tests/wpt/meta/fetch/private-network-access/service-worker-fetch-document-treat-as-public.tentative.https.window.js.ini2
-rw-r--r--tests/wpt/meta/fetch/private-network-access/service-worker-fetch-document.tentative.https.window.js.ini2
-rw-r--r--tests/wpt/meta/fetch/private-network-access/service-worker-fetch.tentative.https.window.js.ini4
-rw-r--r--tests/wpt/meta/fetch/private-network-access/service-worker-update.tentative.https.window.js.ini2
-rw-r--r--tests/wpt/meta/fetch/private-network-access/service-worker.tentative.https.window.js.ini2
-rw-r--r--tests/wpt/meta/fetch/security/dangling-markup/dangling-markup-mitigation-allowed-apis.tentative.https.html.ini2
-rw-r--r--tests/wpt/meta/fetch/security/dangling-markup/dangling-markup-mitigation.tentative.https.html.ini1
-rw-r--r--tests/wpt/meta/fetch/stale-while-revalidate/fetch-sw.https.html.ini2
-rw-r--r--tests/wpt/meta/html/anonymous-iframe/serviceworker-partitioning.tentative.https.window.js.ini1
-rw-r--r--tests/wpt/meta/html/anonymous-iframe/worker-cookies.tentative.https.window.js.ini2
-rw-r--r--tests/wpt/meta/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/iframe-src-aboutblank-navigate-immediately.html.ini3
-rw-r--r--tests/wpt/meta/html/infrastructure/urls/base-url/document-base-url-window-initiator-is-not-opener.https.window.js.ini1
-rw-r--r--tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini2
-rw-r--r--tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini2
-rw-r--r--tests/wpt/meta/html/semantics/embedded-content/the-img-element/list-of-available-images-matching.https.html.ini6
-rw-r--r--tests/wpt/meta/notifications/getnotifications-across-processes.https.window.js.ini2
-rw-r--r--tests/wpt/meta/service-workers/cache-storage/cache-abort.https.any.js.ini65
-rw-r--r--tests/wpt/meta/service-workers/cache-storage/cache-add.https.any.js.ini142
-rw-r--r--tests/wpt/meta/service-workers/cache-storage/cache-delete.https.any.js.ini58
-rw-r--r--tests/wpt/meta/service-workers/cache-storage/cache-keys-attributes-for-service-worker.https.html.ini6
-rw-r--r--tests/wpt/meta/service-workers/cache-storage/cache-keys.https.any.js.ini106
-rw-r--r--tests/wpt/meta/service-workers/cache-storage/cache-match.https.any.js.ini160
-rw-r--r--tests/wpt/meta/service-workers/cache-storage/cache-matchAll.https.any.js.ini106
-rw-r--r--tests/wpt/meta/service-workers/cache-storage/cache-put.https.any.js.ini172
-rw-r--r--tests/wpt/meta/service-workers/cache-storage/cache-storage-buckets.https.any.js.ini20
-rw-r--r--tests/wpt/meta/service-workers/cache-storage/cache-storage-keys.https.any.js.ini15
-rw-r--r--tests/wpt/meta/service-workers/cache-storage/cache-storage-match.https.any.js.ini76
-rw-r--r--tests/wpt/meta/service-workers/cache-storage/cache-storage.https.any.js.ini69
-rw-r--r--tests/wpt/meta/service-workers/cache-storage/common.https.window.js.ini3
-rw-r--r--tests/wpt/meta/service-workers/cache-storage/crashtests/cache-response-clone.https.html.ini2
-rw-r--r--tests/wpt/meta/service-workers/cache-storage/credentials.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/cache-storage/cross-partition.https.tentative.html.ini13
-rw-r--r--tests/wpt/meta/service-workers/cache-storage/sandboxed-iframes.https.html.ini6
-rw-r--r--tests/wpt/meta/service-workers/idlharness.https.any.js.ini259
-rw-r--r--tests/wpt/meta/service-workers/service-worker/Service-Worker-Allowed-header.https.html.ini25
-rw-r--r--tests/wpt/meta/service-workers/service-worker/ServiceWorkerGlobalScope/close.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/ServiceWorkerGlobalScope/error-message-event.https.html.ini2
-rw-r--r--tests/wpt/meta/service-workers/service-worker/ServiceWorkerGlobalScope/extendable-message-event-constructor.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/ServiceWorkerGlobalScope/extendable-message-event.https.html.ini12
-rw-r--r--tests/wpt/meta/service-workers/service-worker/ServiceWorkerGlobalScope/fetch-on-the-right-interface.https.any.js.ini2
-rw-r--r--tests/wpt/meta/service-workers/service-worker/ServiceWorkerGlobalScope/isSecureContext.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/ServiceWorkerGlobalScope/message-event-ports.https.html.ini2
-rw-r--r--tests/wpt/meta/service-workers/service-worker/ServiceWorkerGlobalScope/postmessage.https.html.ini6
-rw-r--r--tests/wpt/meta/service-workers/service-worker/ServiceWorkerGlobalScope/registration-attribute.https.html.ini6
-rw-r--r--tests/wpt/meta/service-workers/service-worker/ServiceWorkerGlobalScope/service-worker-error-event.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/ServiceWorkerGlobalScope/unregister.https.html.ini12
-rw-r--r--tests/wpt/meta/service-workers/service-worker/ServiceWorkerGlobalScope/update.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/about-blank-replacement.https.html.ini21
-rw-r--r--tests/wpt/meta/service-workers/service-worker/activate-event-after-install-state-change.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/activation-after-registration.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/activation.https.html.ini12
-rw-r--r--tests/wpt/meta/service-workers/service-worker/active.https.html.ini7
-rw-r--r--tests/wpt/meta/service-workers/service-worker/claim-affect-other-registration.https.html.ini2
-rw-r--r--tests/wpt/meta/service-workers/service-worker/claim-fetch.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/claim-not-using-registration.https.html.ini2
-rw-r--r--tests/wpt/meta/service-workers/service-worker/claim-shared-worker-fetch.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/claim-using-registration.https.html.ini6
-rw-r--r--tests/wpt/meta/service-workers/service-worker/claim-with-redirect.https.html.ini2
-rw-r--r--tests/wpt/meta/service-workers/service-worker/claim-worker-fetch.https.html.ini18
-rw-r--r--tests/wpt/meta/service-workers/service-worker/client-id.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/client-navigate.https.html.ini15
-rw-r--r--tests/wpt/meta/service-workers/service-worker/client-url-of-blob-url-worker.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/clients-get-client-types.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/clients-get-cross-origin.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/clients-get-resultingClientId.https.html.ini18
-rw-r--r--tests/wpt/meta/service-workers/service-worker/clients-get.https.html.ini9
-rw-r--r--tests/wpt/meta/service-workers/service-worker/clients-matchall-blob-url-worker.https.html.ini6
-rw-r--r--tests/wpt/meta/service-workers/service-worker/clients-matchall-client-types.https.html.ini6
-rw-r--r--tests/wpt/meta/service-workers/service-worker/clients-matchall-exact-controller.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/clients-matchall-frozen.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/clients-matchall-include-uncontrolled.https.html.ini6
-rw-r--r--tests/wpt/meta/service-workers/service-worker/clients-matchall-on-evaluation.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/clients-matchall-order.https.html.ini21
-rw-r--r--tests/wpt/meta/service-workers/service-worker/clients-matchall.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/controlled-dedicatedworker-postMessage.https.html.ini2
-rw-r--r--tests/wpt/meta/service-workers/service-worker/controlled-iframe-postMessage.https.html.ini2
-rw-r--r--tests/wpt/meta/service-workers/service-worker/controller-on-disconnect.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/controller-on-load.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/controller-on-reload.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/controller-with-no-fetch-event-handler.https.html.ini12
-rw-r--r--tests/wpt/meta/service-workers/service-worker/credentials.https.html.ini12
-rw-r--r--tests/wpt/meta/service-workers/service-worker/data-iframe.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/data-transfer-files.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/dedicated-worker-service-worker-interception.https.html.ini9
-rw-r--r--tests/wpt/meta/service-workers/service-worker/detached-context.https.html.ini9
-rw-r--r--tests/wpt/meta/service-workers/service-worker/detached-register-crash.https.html.ini2
-rw-r--r--tests/wpt/meta/service-workers/service-worker/embed-and-object-are-not-intercepted.https.html.ini22
-rw-r--r--tests/wpt/meta/service-workers/service-worker/extendable-event-async-waituntil.https.html.ini42
-rw-r--r--tests/wpt/meta/service-workers/service-worker/extendable-event-waituntil.https.html.ini18
-rw-r--r--tests/wpt/meta/service-workers/service-worker/fetch-audio-tainting.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/fetch-canvas-tainting-double-write.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/fetch-canvas-tainting-image-cache.https.html.ini117
-rw-r--r--tests/wpt/meta/service-workers/service-worker/fetch-canvas-tainting-image.https.html.ini117
-rw-r--r--tests/wpt/meta/service-workers/service-worker/fetch-canvas-tainting-video-cache.https.html.ini117
-rw-r--r--tests/wpt/meta/service-workers/service-worker/fetch-canvas-tainting-video-with-range-request.https.html.ini15
-rw-r--r--tests/wpt/meta/service-workers/service-worker/fetch-canvas-tainting-video.https.html.ini117
-rw-r--r--tests/wpt/meta/service-workers/service-worker/fetch-cors-exposed-header-names.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/fetch-cors-xhr.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/fetch-csp.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/fetch-error.https.html.ini6
-rw-r--r--tests/wpt/meta/service-workers/service-worker/fetch-event-add-async.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/fetch-event-after-navigation-within-page.https.html.ini6
-rw-r--r--tests/wpt/meta/service-workers/service-worker/fetch-event-async-respond-with.https.html.ini12
-rw-r--r--tests/wpt/meta/service-workers/service-worker/fetch-event-handled.https.html.ini25
-rw-r--r--tests/wpt/meta/service-workers/service-worker/fetch-event-network-error.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/fetch-event-redirect.https.html.ini165
-rw-r--r--tests/wpt/meta/service-workers/service-worker/fetch-event-referrer-policy.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/fetch-event-respond-with-argument.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/fetch-event-respond-with-body-loaded-in-chunk.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/fetch-event-respond-with-custom-response.https.html.ini33
-rw-r--r--tests/wpt/meta/service-workers/service-worker/fetch-event-respond-with-partial-stream.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/fetch-event-respond-with-readable-stream-chunk.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/fetch-event-respond-with-readable-stream.https.html.ini30
-rw-r--r--tests/wpt/meta/service-workers/service-worker/fetch-event-respond-with-response-body-with-invalid-chunk.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/fetch-event-respond-with-stops-propagation.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/fetch-event-throws-after-respond-with.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/fetch-event-within-sw.https.html.ini2
-rw-r--r--tests/wpt/meta/service-workers/service-worker/fetch-event.https.h2.html.ini15
-rw-r--r--tests/wpt/meta/service-workers/service-worker/fetch-event.https.html.ini105
-rw-r--r--tests/wpt/meta/service-workers/service-worker/fetch-frame-resource.https.html.ini18
-rw-r--r--tests/wpt/meta/service-workers/service-worker/fetch-header-visibility.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/fetch-mixed-content-to-inscope.https.html.ini4
-rw-r--r--tests/wpt/meta/service-workers/service-worker/fetch-mixed-content-to-outscope.https.html.ini4
-rw-r--r--tests/wpt/meta/service-workers/service-worker/fetch-request-css-base-url.https.html.ini12
-rw-r--r--tests/wpt/meta/service-workers/service-worker/fetch-request-css-cross-origin.https.html.ini9
-rw-r--r--tests/wpt/meta/service-workers/service-worker/fetch-request-css-images.https.html.ini12
-rw-r--r--tests/wpt/meta/service-workers/service-worker/fetch-request-fallback.https.html.ini48
-rw-r--r--tests/wpt/meta/service-workers/service-worker/fetch-request-no-freshness-headers.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/fetch-request-redirect.https.html.ini9
-rw-r--r--tests/wpt/meta/service-workers/service-worker/fetch-request-resources.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/fetch-request-xhr-sync-error.https.window.js.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/fetch-request-xhr-sync-on-worker.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/fetch-request-xhr-sync.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/fetch-request-xhr.https.html.ini36
-rw-r--r--tests/wpt/meta/service-workers/service-worker/fetch-response-taint.https.html.ini393
-rw-r--r--tests/wpt/meta/service-workers/service-worker/fetch-response-xhr.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/fetch-waits-for-activate.https.html.ini6
-rw-r--r--tests/wpt/meta/service-workers/service-worker/fetch-with-body.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/getregistration.https.html.ini18
-rw-r--r--tests/wpt/meta/service-workers/service-worker/getregistrations.https.html.ini19
-rw-r--r--tests/wpt/meta/service-workers/service-worker/global-serviceworker.https.any.js.ini2
-rw-r--r--tests/wpt/meta/service-workers/service-worker/historical.https.any.js.ini2
-rw-r--r--tests/wpt/meta/service-workers/service-worker/http-to-https-redirect-and-register.https.html.ini7
-rw-r--r--tests/wpt/meta/service-workers/service-worker/immutable-prototype-serviceworker.https.html.ini2
-rw-r--r--tests/wpt/meta/service-workers/service-worker/import-scripts-cross-origin.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/import-scripts-data-url.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/import-scripts-mime-types.https.html.ini6
-rw-r--r--tests/wpt/meta/service-workers/service-worker/import-scripts-redirect.https.html.ini9
-rw-r--r--tests/wpt/meta/service-workers/service-worker/import-scripts-resource-map.https.html.ini6
-rw-r--r--tests/wpt/meta/service-workers/service-worker/import-scripts-updated-flag.https.html.ini12
-rw-r--r--tests/wpt/meta/service-workers/service-worker/indexeddb.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/install-event-type.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/installing.https.html.ini7
-rw-r--r--tests/wpt/meta/service-workers/service-worker/interface-requirements-sw.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/invalid-blobtype.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/invalid-header.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/iso-latin1-header.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/local-url-inherit-controller.https.html.ini27
-rw-r--r--tests/wpt/meta/service-workers/service-worker/mime-sniffing.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/multi-globals/url-parsing.https.html.ini2
-rw-r--r--tests/wpt/meta/service-workers/service-worker/multipart-image.https.html.ini15
-rw-r--r--tests/wpt/meta/service-workers/service-worker/multiple-register.https.html.ini9
-rw-r--r--tests/wpt/meta/service-workers/service-worker/multiple-update.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/navigate-window.https.html.ini6
-rw-r--r--tests/wpt/meta/service-workers/service-worker/navigation-headers.https.html.ini195
-rw-r--r--tests/wpt/meta/service-workers/service-worker/navigation-preload/broken-chunked-encoding.https.html.ini6
-rw-r--r--tests/wpt/meta/service-workers/service-worker/navigation-preload/chunked-encoding.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/navigation-preload/content-encoding.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/navigation-preload/empty-preload-response-body.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/navigation-preload/get-state.https.html.ini9
-rw-r--r--tests/wpt/meta/service-workers/service-worker/navigation-preload/navigationPreload.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/navigation-preload/redirect.https.html.ini12
-rw-r--r--tests/wpt/meta/service-workers/service-worker/navigation-preload/request-headers.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/navigation-preload/resource-timing.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/navigation-preload/samesite-cookies.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/navigation-preload/samesite-iframe.https.html.ini2
-rw-r--r--tests/wpt/meta/service-workers/service-worker/navigation-redirect-body.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/navigation-redirect-resolution.https.html.ini9
-rw-r--r--tests/wpt/meta/service-workers/service-worker/navigation-redirect-to-http.https.html.ini4
-rw-r--r--tests/wpt/meta/service-workers/service-worker/navigation-redirect.https.html.ini236
-rw-r--r--tests/wpt/meta/service-workers/service-worker/navigation-sets-cookie.https.html.ini2
-rw-r--r--tests/wpt/meta/service-workers/service-worker/navigation-timing-extended.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/navigation-timing-sizes.https.html.ini9
-rw-r--r--tests/wpt/meta/service-workers/service-worker/navigation-timing.https.html.ini9
-rw-r--r--tests/wpt/meta/service-workers/service-worker/nested-blob-url-workers.https.html.ini9
-rw-r--r--tests/wpt/meta/service-workers/service-worker/next-hop-protocol.https.html.ini6
-rw-r--r--tests/wpt/meta/service-workers/service-worker/no-dynamic-import-in-module.any.js.ini2
-rw-r--r--tests/wpt/meta/service-workers/service-worker/no-dynamic-import.any.js.ini2
-rw-r--r--tests/wpt/meta/service-workers/service-worker/onactivate-script-error.https.html.ini15
-rw-r--r--tests/wpt/meta/service-workers/service-worker/oninstall-script-error.https.html.ini18
-rw-r--r--tests/wpt/meta/service-workers/service-worker/opaque-response-preloaded.https.html.ini6
-rw-r--r--tests/wpt/meta/service-workers/service-worker/opaque-script.https.html.ini12
-rw-r--r--tests/wpt/meta/service-workers/service-worker/partitioned-claim.tentative.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/partitioned-cookies.tentative.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/partitioned-getRegistrations.tentative.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/partitioned-matchAll.tentative.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/partitioned.tentative.https.html.ini6
-rw-r--r--tests/wpt/meta/service-workers/service-worker/performance-timeline.https.html.ini6
-rw-r--r--tests/wpt/meta/service-workers/service-worker/postmessage-blob-url.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/postmessage-from-waiting-serviceworker.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/postmessage-msgport-to-client.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/postmessage-to-client-message-queue.https.html.ini15
-rw-r--r--tests/wpt/meta/service-workers/service-worker/postmessage-to-client.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/postmessage.https.html.ini15
-rw-r--r--tests/wpt/meta/service-workers/service-worker/ready.https.window.js.ini25
-rw-r--r--tests/wpt/meta/service-workers/service-worker/redirected-response.https.html.ini72
-rw-r--r--tests/wpt/meta/service-workers/service-worker/referer.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/referrer-policy-header.https.html.ini9
-rw-r--r--tests/wpt/meta/service-workers/service-worker/referrer-toplevel-script-fetch.https.html.ini6
-rw-r--r--tests/wpt/meta/service-workers/service-worker/register-closed-window.https.html.ini4
-rw-r--r--tests/wpt/meta/service-workers/service-worker/register-default-scope.https.html.ini9
-rw-r--r--tests/wpt/meta/service-workers/service-worker/register-same-scope-different-script-url.https.html.ini15
-rw-r--r--tests/wpt/meta/service-workers/service-worker/register-wait-forever-in-install-worker.https.html.ini4
-rw-r--r--tests/wpt/meta/service-workers/service-worker/registration-basic.https.html.ini7
-rw-r--r--tests/wpt/meta/service-workers/service-worker/registration-end-to-end.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/registration-events.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/registration-iframe.https.html.ini9
-rw-r--r--tests/wpt/meta/service-workers/service-worker/registration-mime-types.https.html.ini2
-rw-r--r--tests/wpt/meta/service-workers/service-worker/registration-schedule-job.https.html.ini9
-rw-r--r--tests/wpt/meta/service-workers/service-worker/registration-scope-module-static-import.https.html.ini9
-rw-r--r--tests/wpt/meta/service-workers/service-worker/registration-scope.https.html.ini2
-rw-r--r--tests/wpt/meta/service-workers/service-worker/registration-script-module.https.html.ini2
-rw-r--r--tests/wpt/meta/service-workers/service-worker/registration-script-url.https.html.ini2
-rw-r--r--tests/wpt/meta/service-workers/service-worker/registration-script.https.html.ini2
-rw-r--r--tests/wpt/meta/service-workers/service-worker/registration-security-error.https.html.ini2
-rw-r--r--tests/wpt/meta/service-workers/service-worker/registration-service-worker-attributes.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/registration-updateviacache.https.html.ini75
-rw-r--r--tests/wpt/meta/service-workers/service-worker/rejections.https.html.ini4
-rw-r--r--tests/wpt/meta/service-workers/service-worker/request-end-to-end.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/resource-timing-bodySize.https.html.ini72
-rw-r--r--tests/wpt/meta/service-workers/service-worker/resource-timing-cross-origin.https.html.ini6
-rw-r--r--tests/wpt/meta/service-workers/service-worker/resource-timing-fetch-variants.https.html.ini15
-rw-r--r--tests/wpt/meta/service-workers/service-worker/resource-timing.sub.https.html.ini6
-rw-r--r--tests/wpt/meta/service-workers/service-worker/respond-with-body-accessed-response.https.html.ini57
-rw-r--r--tests/wpt/meta/service-workers/service-worker/same-site-cookies.https.html.ini2
-rw-r--r--tests/wpt/meta/service-workers/service-worker/sandboxed-iframe-fetch-event.https.html.ini87
-rw-r--r--tests/wpt/meta/service-workers/service-worker/sandboxed-iframe-navigator-serviceworker.https.html.ini9
-rw-r--r--tests/wpt/meta/service-workers/service-worker/secure-context.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/service-worker-csp-connect.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/service-worker-csp-default.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/service-worker-csp-script.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/service-worker-header.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/serviceworker-message-event-historical.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/serviceworkerobject-scripturl.https.html.ini12
-rw-r--r--tests/wpt/meta/service-workers/service-worker/shadowrealm-promise-rejection.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/skip-waiting-installed.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/skip-waiting-using-registration.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/skip-waiting-without-client.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/skip-waiting-without-using-registration.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/skip-waiting.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/srcdoc-iframe.https.html.ini15
-rw-r--r--tests/wpt/meta/service-workers/service-worker/state.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/static-router-fetch-event.https.html.ini6
-rw-r--r--tests/wpt/meta/service-workers/service-worker/static-router-invalid-rules.https.html.ini24
-rw-r--r--tests/wpt/meta/service-workers/service-worker/static-router-main-resource.https.html.ini27
-rw-r--r--tests/wpt/meta/service-workers/service-worker/static-router-multiple-router-registrations.https.html.ini6
-rw-r--r--tests/wpt/meta/service-workers/service-worker/static-router-mutiple-conditions.https.html.ini6
-rw-r--r--tests/wpt/meta/service-workers/service-worker/static-router-no-fetch-handler.https.html.ini9
-rw-r--r--tests/wpt/meta/service-workers/service-worker/static-router-race-network-and-fetch-handler.https.html.ini18
-rw-r--r--tests/wpt/meta/service-workers/service-worker/static-router-request-destination.https.html.ini6
-rw-r--r--tests/wpt/meta/service-workers/service-worker/static-router-request-method.https.html.ini12
-rw-r--r--tests/wpt/meta/service-workers/service-worker/static-router-subresource.https.html.ini54
-rw-r--r--tests/wpt/meta/service-workers/service-worker/svg-target-reftest.https.html.ini2
-rw-r--r--tests/wpt/meta/service-workers/service-worker/synced-state.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/tentative/static-router/static-router-resource-timing.https.html.ini42
-rw-r--r--tests/wpt/meta/service-workers/service-worker/uncontrolled-page.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/unregister-controller.https.html.ini9
-rw-r--r--tests/wpt/meta/service-workers/service-worker/unregister-immediately-before-installed.https.html.ini6
-rw-r--r--tests/wpt/meta/service-workers/service-worker/unregister-immediately-during-extendable-events.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/unregister-immediately.https.html.ini12
-rw-r--r--tests/wpt/meta/service-workers/service-worker/unregister-then-register-new-script.https.html.ini9
-rw-r--r--tests/wpt/meta/service-workers/service-worker/unregister-then-register.https.html.ini12
-rw-r--r--tests/wpt/meta/service-workers/service-worker/unregister.https.html.ini7
-rw-r--r--tests/wpt/meta/service-workers/service-worker/update-after-navigation-fetch-event.https.html.ini9
-rw-r--r--tests/wpt/meta/service-workers/service-worker/update-after-navigation-redirect.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/update-after-oneday.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/update-bytecheck-cors-import.https.html.ini24
-rw-r--r--tests/wpt/meta/service-workers/service-worker/update-bytecheck.https.html.ini24
-rw-r--r--tests/wpt/meta/service-workers/service-worker/update-import-scripts.https.html.ini15
-rw-r--r--tests/wpt/meta/service-workers/service-worker/update-missing-import-scripts.https.html.ini6
-rw-r--r--tests/wpt/meta/service-workers/service-worker/update-module-request-mode.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/update-no-cache-request-headers.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/update-not-allowed.https.html.ini9
-rw-r--r--tests/wpt/meta/service-workers/service-worker/update-on-navigation.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/update-recovery.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/update-registration-with-type.https.html.ini21
-rw-r--r--tests/wpt/meta/service-workers/service-worker/update-result.https.html.ini2
-rw-r--r--tests/wpt/meta/service-workers/service-worker/update.https.html.ini21
-rw-r--r--tests/wpt/meta/service-workers/service-worker/waiting.https.html.ini7
-rw-r--r--tests/wpt/meta/service-workers/service-worker/websocket-in-service-worker.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/websocket.https.html.ini3
-rw-r--r--tests/wpt/meta/service-workers/service-worker/webvtt-cross-origin.https.html.ini27
-rw-r--r--tests/wpt/meta/service-workers/service-worker/windowclient-navigate.https.html.ini33
-rw-r--r--tests/wpt/meta/service-workers/service-worker/worker-client-id.https.html.ini2
-rw-r--r--tests/wpt/meta/service-workers/service-worker/worker-in-sandboxed-iframe-by-csp-fetch-event.https.html.ini15
-rw-r--r--tests/wpt/meta/service-workers/service-worker/worker-interception-redirect.https.html.ini63
-rw-r--r--tests/wpt/meta/service-workers/service-worker/worker-interception.https.html.ini48
-rw-r--r--tests/wpt/meta/service-workers/service-worker/xhr-content-length.https.window.js.ini15
-rw-r--r--tests/wpt/meta/service-workers/service-worker/xhr-response-url.https.html.ini18
-rw-r--r--tests/wpt/meta/service-workers/service-worker/xsl-base-url.https.html.ini4
-rw-r--r--tests/wpt/meta/webmessaging/broadcastchannel/service-worker.https.html.ini1
-rw-r--r--tests/wpt/mozilla/meta/MANIFEST.json4
-rw-r--r--tests/wpt/mozilla/meta/__dir__.ini2
-rw-r--r--tests/wpt/mozilla/meta/mozilla/service-workers/service-worker-registration.https.html.ini2
-rw-r--r--tests/wpt/mozilla/tests/mozilla/interfaces.https.html4
-rw-r--r--tests/wpt/mozilla/tests/mozilla/interfaces.worker.js1
314 files changed, 5348 insertions, 35 deletions
diff --git a/tests/wpt/include.ini b/tests/wpt/include.ini
index b8eef057dbc..bb6bfc54db3 100644
--- a/tests/wpt/include.ini
+++ b/tests/wpt/include.ini
@@ -237,6 +237,8 @@ skip: true
skip: false
[selection]
skip: false
+[service-workers]
+ skip: false
[shadow-dom]
skip: false
[streams]
diff --git a/tests/wpt/meta/__dir__.ini b/tests/wpt/meta/__dir__.ini
index d59b68e4e61..6a2d9b4a0e6 100644
--- a/tests/wpt/meta/__dir__.ini
+++ b/tests/wpt/meta/__dir__.ini
@@ -1 +1 @@
-prefs: ["dom_imagebitmap_enabled:true", "dom_offscreen_canvas_enabled:true", "dom_xpath_enabled:true", "dom_intersection_observer_enabled:true", "dom_resize_observer_enabled:true", "dom_notification_enabled:true", "dom_fontface_enabled:true", "dom_urlpattern_enabled:true"]
+prefs: ["dom_imagebitmap_enabled:true", "dom_offscreen_canvas_enabled:true", "dom_xpath_enabled:true", "dom_intersection_observer_enabled:true", "dom_resize_observer_enabled:true", "dom_notification_enabled:true", "dom_fontface_enabled:true", "dom_urlpattern_enabled:true", "dom_serviceworker_enabled:true"]
diff --git a/tests/wpt/meta/css/compositing/mix-blend-mode/mix-blend-mode-video-sibling.html.ini b/tests/wpt/meta/css/compositing/mix-blend-mode/mix-blend-mode-video-sibling.html.ini
deleted file mode 100644
index 55551102b45..00000000000
--- a/tests/wpt/meta/css/compositing/mix-blend-mode/mix-blend-mode-video-sibling.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[mix-blend-mode-video-sibling.html]
- expected: FAIL
diff --git a/tests/wpt/meta/fetch/api/abort/serviceworker-intercepted.https.html.ini b/tests/wpt/meta/fetch/api/abort/serviceworker-intercepted.https.html.ini
index febfa0998f4..cfd92be0f1c 100644
--- a/tests/wpt/meta/fetch/api/abort/serviceworker-intercepted.https.html.ini
+++ b/tests/wpt/meta/fetch/api/abort/serviceworker-intercepted.https.html.ini
@@ -1,4 +1,5 @@
[serviceworker-intercepted.https.html]
+ expected: CRASH
[Already aborted request does not land in service worker]
expected: FAIL
diff --git a/tests/wpt/meta/fetch/content-length/api-and-duplicate-headers.any.js.ini b/tests/wpt/meta/fetch/content-length/api-and-duplicate-headers.any.js.ini
index e4a70456126..446cc52f350 100644
--- a/tests/wpt/meta/fetch/content-length/api-and-duplicate-headers.any.js.ini
+++ b/tests/wpt/meta/fetch/content-length/api-and-duplicate-headers.any.js.ini
@@ -6,6 +6,3 @@
[api-and-duplicate-headers.any.worker.html]
[XMLHttpRequest and duplicate Content-Length/Content-Type headers]
expected: FAIL
-
- [fetch() and duplicate Content-Length/Content-Type headers]
- expected: FAIL
diff --git a/tests/wpt/meta/fetch/metadata/generated/css-font-face.https.sub.tentative.html.ini b/tests/wpt/meta/fetch/metadata/generated/css-font-face.https.sub.tentative.html.ini
index a02fcf871ab..12a2314e747 100644
--- a/tests/wpt/meta/fetch/metadata/generated/css-font-face.https.sub.tentative.html.ini
+++ b/tests/wpt/meta/fetch/metadata/generated/css-font-face.https.sub.tentative.html.ini
@@ -52,3 +52,6 @@
[sec-fetch-storage-access - Cross-site]
expected: FAIL
+
+ [sec-fetch-user]
+ expected: FAIL
diff --git a/tests/wpt/meta/fetch/metadata/generated/serviceworker.https.sub.html.ini b/tests/wpt/meta/fetch/metadata/generated/serviceworker.https.sub.html.ini
index 9cc084c6449..06cec1df48b 100644
--- a/tests/wpt/meta/fetch/metadata/generated/serviceworker.https.sub.html.ini
+++ b/tests/wpt/meta/fetch/metadata/generated/serviceworker.https.sub.html.ini
@@ -1,30 +1,31 @@
[serviceworker.https.sub.html]
+ expected: ERROR
[sec-fetch-site - Same origin, no options - registration]
expected: FAIL
[sec-fetch-site - Same origin, no options - updating]
- expected: FAIL
+ expected: NOTRUN
[sec-fetch-mode - options: type=classic - registration]
- expected: FAIL
+ expected: NOTRUN
[sec-fetch-mode - options: type=classic - updating]
- expected: FAIL
+ expected: NOTRUN
[sec-fetch-mode - no options - registration]
- expected: FAIL
+ expected: NOTRUN
[sec-fetch-mode - no options - updating]
- expected: FAIL
+ expected: NOTRUN
[sec-fetch-dest - no options - registration]
- expected: FAIL
+ expected: NOTRUN
[sec-fetch-dest - no options - updating]
- expected: FAIL
+ expected: NOTRUN
[sec-fetch-user - no options - registration]
- expected: FAIL
+ expected: NOTRUN
[sec-fetch-user - no options - updating]
- expected: FAIL
+ expected: NOTRUN
diff --git a/tests/wpt/meta/fetch/private-network-access/service-worker-background-fetch.tentative.https.window.js.ini b/tests/wpt/meta/fetch/private-network-access/service-worker-background-fetch.tentative.https.window.js.ini
index b09cde66b85..06dbef3d1b6 100644
--- a/tests/wpt/meta/fetch/private-network-access/service-worker-background-fetch.tentative.https.window.js.ini
+++ b/tests/wpt/meta/fetch/private-network-access/service-worker-background-fetch.tentative.https.window.js.ini
@@ -1,5 +1,5 @@
[service-worker-background-fetch.tentative.https.window.html]
- expected: TIMEOUT
+ expected: CRASH
[local to local: success.]
expected: TIMEOUT
diff --git a/tests/wpt/meta/fetch/private-network-access/service-worker-fetch-document-treat-as-public.tentative.https.window.js.ini b/tests/wpt/meta/fetch/private-network-access/service-worker-fetch-document-treat-as-public.tentative.https.window.js.ini
index f679ad1145e..f50782e3e4f 100644
--- a/tests/wpt/meta/fetch/private-network-access/service-worker-fetch-document-treat-as-public.tentative.https.window.js.ini
+++ b/tests/wpt/meta/fetch/private-network-access/service-worker-fetch-document-treat-as-public.tentative.https.window.js.ini
@@ -1,5 +1,5 @@
[service-worker-fetch-document-treat-as-public.tentative.https.window.html]
- expected: TIMEOUT
+ expected: CRASH
[treat-as-public to local: failed preflight.]
expected: TIMEOUT
diff --git a/tests/wpt/meta/fetch/private-network-access/service-worker-fetch-document.tentative.https.window.js.ini b/tests/wpt/meta/fetch/private-network-access/service-worker-fetch-document.tentative.https.window.js.ini
index daa4ff7a6e7..850560910ba 100644
--- a/tests/wpt/meta/fetch/private-network-access/service-worker-fetch-document.tentative.https.window.js.ini
+++ b/tests/wpt/meta/fetch/private-network-access/service-worker-fetch-document.tentative.https.window.js.ini
@@ -1,5 +1,5 @@
[service-worker-fetch-document.tentative.https.window.html]
- expected: TIMEOUT
+ expected: CRASH
[local to local: success.]
expected: TIMEOUT
diff --git a/tests/wpt/meta/fetch/private-network-access/service-worker-fetch.tentative.https.window.js.ini b/tests/wpt/meta/fetch/private-network-access/service-worker-fetch.tentative.https.window.js.ini
index 9b3f5ac9503..fd0183c6625 100644
--- a/tests/wpt/meta/fetch/private-network-access/service-worker-fetch.tentative.https.window.js.ini
+++ b/tests/wpt/meta/fetch/private-network-access/service-worker-fetch.tentative.https.window.js.ini
@@ -1,5 +1,5 @@
[service-worker-fetch.tentative.https.window.html?9-last]
- expected: TIMEOUT
+ expected: CRASH
[public to public: success.]
expected: TIMEOUT
@@ -23,7 +23,7 @@
[service-worker-fetch.tentative.https.window.html?1-8]
- expected: TIMEOUT
+ expected: CRASH
[local to local: success.]
expected: TIMEOUT
diff --git a/tests/wpt/meta/fetch/private-network-access/service-worker-update.tentative.https.window.js.ini b/tests/wpt/meta/fetch/private-network-access/service-worker-update.tentative.https.window.js.ini
index 41f932a66c9..da7209bb5ec 100644
--- a/tests/wpt/meta/fetch/private-network-access/service-worker-update.tentative.https.window.js.ini
+++ b/tests/wpt/meta/fetch/private-network-access/service-worker-update.tentative.https.window.js.ini
@@ -1,5 +1,5 @@
[service-worker-update.tentative.https.window.html]
- expected: TIMEOUT
+ expected: CRASH
[update public to local: success.]
expected: TIMEOUT
diff --git a/tests/wpt/meta/fetch/private-network-access/service-worker.tentative.https.window.js.ini b/tests/wpt/meta/fetch/private-network-access/service-worker.tentative.https.window.js.ini
index 737a2af2272..d31fdb527b2 100644
--- a/tests/wpt/meta/fetch/private-network-access/service-worker.tentative.https.window.js.ini
+++ b/tests/wpt/meta/fetch/private-network-access/service-worker.tentative.https.window.js.ini
@@ -1,5 +1,5 @@
[service-worker.tentative.https.window.html]
- expected: TIMEOUT
+ expected: CRASH
[treat-as-public to local: success.]
expected: TIMEOUT
diff --git a/tests/wpt/meta/fetch/security/dangling-markup/dangling-markup-mitigation-allowed-apis.tentative.https.html.ini b/tests/wpt/meta/fetch/security/dangling-markup/dangling-markup-mitigation-allowed-apis.tentative.https.html.ini
index 631319418f5..c2d54f42438 100644
--- a/tests/wpt/meta/fetch/security/dangling-markup/dangling-markup-mitigation-allowed-apis.tentative.https.html.ini
+++ b/tests/wpt/meta/fetch/security/dangling-markup/dangling-markup-mitigation-allowed-apis.tentative.https.html.ini
@@ -1,4 +1,4 @@
[dangling-markup-mitigation-allowed-apis.tentative.https.html]
- expected: ERROR
+ expected: CRASH
[Does not block window.open(`resources/empty.html?\n<`,'_self')]
expected: FAIL
diff --git a/tests/wpt/meta/fetch/security/dangling-markup/dangling-markup-mitigation.tentative.https.html.ini b/tests/wpt/meta/fetch/security/dangling-markup/dangling-markup-mitigation.tentative.https.html.ini
index b52eb8d2c55..35dfcc3edd0 100644
--- a/tests/wpt/meta/fetch/security/dangling-markup/dangling-markup-mitigation.tentative.https.html.ini
+++ b/tests/wpt/meta/fetch/security/dangling-markup/dangling-markup-mitigation.tentative.https.html.ini
@@ -1,3 +1,4 @@
[dangling-markup-mitigation.tentative.https.html]
+ expected: CRASH
[Only blocks dangling markup requests]
expected: FAIL
diff --git a/tests/wpt/meta/fetch/stale-while-revalidate/fetch-sw.https.html.ini b/tests/wpt/meta/fetch/stale-while-revalidate/fetch-sw.https.html.ini
index 55f313054e6..f58549a20e7 100644
--- a/tests/wpt/meta/fetch/stale-while-revalidate/fetch-sw.https.html.ini
+++ b/tests/wpt/meta/fetch/stale-while-revalidate/fetch-sw.https.html.ini
@@ -1,4 +1,4 @@
[fetch-sw.https.html]
- expected: ERROR
+ expected: CRASH
[Second fetch returns same response]
expected: FAIL
diff --git a/tests/wpt/meta/html/anonymous-iframe/serviceworker-partitioning.tentative.https.window.js.ini b/tests/wpt/meta/html/anonymous-iframe/serviceworker-partitioning.tentative.https.window.js.ini
index 765e641a164..badcafe356d 100644
--- a/tests/wpt/meta/html/anonymous-iframe/serviceworker-partitioning.tentative.https.window.js.ini
+++ b/tests/wpt/meta/html/anonymous-iframe/serviceworker-partitioning.tentative.https.window.js.ini
@@ -1,4 +1,5 @@
[serviceworker-partitioning.tentative.https.window.html]
+ expected: CRASH
[Anonymous iframes get partitioned service workers.]
expected: FAIL
diff --git a/tests/wpt/meta/html/anonymous-iframe/worker-cookies.tentative.https.window.js.ini b/tests/wpt/meta/html/anonymous-iframe/worker-cookies.tentative.https.window.js.ini
index 91aa477fcfa..f95ef33cb32 100644
--- a/tests/wpt/meta/html/anonymous-iframe/worker-cookies.tentative.https.window.js.ini
+++ b/tests/wpt/meta/html/anonymous-iframe/worker-cookies.tentative.https.window.js.ini
@@ -13,7 +13,7 @@
[worker-cookies.tentative.https.window.html?worker=service_worker]
- expected: TIMEOUT
+ expected: CRASH
[Worker spawned from normal iframe can access global cookies]
expected: TIMEOUT
diff --git a/tests/wpt/meta/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/iframe-src-aboutblank-navigate-immediately.html.ini b/tests/wpt/meta/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/iframe-src-aboutblank-navigate-immediately.html.ini
index 1bca09f21d6..5f9a07f92f0 100644
--- a/tests/wpt/meta/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/iframe-src-aboutblank-navigate-immediately.html.ini
+++ b/tests/wpt/meta/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/iframe-src-aboutblank-navigate-immediately.html.ini
@@ -2,8 +2,5 @@
[Navigating to a different document with window.open]
expected: FAIL
- [Navigating to a different document with link click]
- expected: FAIL
-
[Navigating to a different document with form submission]
expected: FAIL
diff --git a/tests/wpt/meta/html/infrastructure/urls/base-url/document-base-url-window-initiator-is-not-opener.https.window.js.ini b/tests/wpt/meta/html/infrastructure/urls/base-url/document-base-url-window-initiator-is-not-opener.https.window.js.ini
index 8b8af2b9c2e..2ef0896e3b3 100644
--- a/tests/wpt/meta/html/infrastructure/urls/base-url/document-base-url-window-initiator-is-not-opener.https.window.js.ini
+++ b/tests/wpt/meta/html/infrastructure/urls/base-url/document-base-url-window-initiator-is-not-opener.https.window.js.ini
@@ -1,3 +1,4 @@
[document-base-url-window-initiator-is-not-opener.https.window.html]
+ expected: TIMEOUT
[window.open() gets base url from initiator not opener.]
expected: [FAIL, PASS, TIMEOUT]
diff --git a/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini b/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini
index 96d866bf3cc..e8872b3585b 100644
--- a/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini
+++ b/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini
@@ -1,4 +1,4 @@
[iframe_sandbox_popups_nonescaping-1.html]
expected: TIMEOUT
[Check that popups from a sandboxed iframe do not escape the sandbox]
- expected: FAIL
+ expected: NOTRUN
diff --git a/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini b/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini
index a6591b318dc..1ae1c2cc134 100644
--- a/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini
+++ b/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini
@@ -1,4 +1,4 @@
[iframe_sandbox_popups_nonescaping-2.html]
- expected: TIMEOUT
+ expected: CRASH
[Check that popups from a sandboxed iframe do not escape the sandbox]
expected: FAIL
diff --git a/tests/wpt/meta/html/semantics/embedded-content/the-img-element/list-of-available-images-matching.https.html.ini b/tests/wpt/meta/html/semantics/embedded-content/the-img-element/list-of-available-images-matching.https.html.ini
index 898a492d07a..b99e0340efd 100644
--- a/tests/wpt/meta/html/semantics/embedded-content/the-img-element/list-of-available-images-matching.https.html.ini
+++ b/tests/wpt/meta/html/semantics/embedded-content/the-img-element/list-of-available-images-matching.https.html.ini
@@ -1,2 +1,6 @@
[list-of-available-images-matching.https.html]
- expected: ERROR
+ [registering service worker]
+ expected: FAIL
+
+ [unregistering service worker]
+ expected: FAIL
diff --git a/tests/wpt/meta/notifications/getnotifications-across-processes.https.window.js.ini b/tests/wpt/meta/notifications/getnotifications-across-processes.https.window.js.ini
index feb4af8281c..e9d824cc981 100644
--- a/tests/wpt/meta/notifications/getnotifications-across-processes.https.window.js.ini
+++ b/tests/wpt/meta/notifications/getnotifications-across-processes.https.window.js.ini
@@ -1,2 +1,4 @@
[getnotifications-across-processes.https.window.html]
expected: ERROR
+ [Service worker test setup]
+ expected: NOTRUN
diff --git a/tests/wpt/meta/service-workers/cache-storage/cache-abort.https.any.js.ini b/tests/wpt/meta/service-workers/cache-storage/cache-abort.https.any.js.ini
new file mode 100644
index 00000000000..3c15c869c83
--- /dev/null
+++ b/tests/wpt/meta/service-workers/cache-storage/cache-abort.https.any.js.ini
@@ -0,0 +1,65 @@
+[cache-abort.https.any.html]
+ expected: ERROR
+ [put() on an already-aborted request should reject with AbortError]
+ expected: FAIL
+
+ [put() synchronously followed by abort should reject with AbortError]
+ expected: NOTRUN
+
+ [put() followed by abort after headers received should reject with AbortError]
+ expected: NOTRUN
+
+ [add() on an already-aborted request should reject with AbortError]
+ expected: NOTRUN
+
+ [add() synchronously followed by abort should reject with AbortError]
+ expected: NOTRUN
+
+ [add() followed by abort after headers received should reject with AbortError]
+ expected: NOTRUN
+
+ [addAll() on an already-aborted request should reject with AbortError]
+ expected: NOTRUN
+
+ [addAll() synchronously followed by abort should reject with AbortError]
+ expected: NOTRUN
+
+ [addAll() followed by abort after headers received should reject with AbortError]
+ expected: NOTRUN
+
+
+[cache-abort.https.any.worker.html]
+ expected: ERROR
+ [put() on an already-aborted request should reject with AbortError]
+ expected: FAIL
+
+ [put() synchronously followed by abort should reject with AbortError]
+ expected: NOTRUN
+
+ [put() followed by abort after headers received should reject with AbortError]
+ expected: NOTRUN
+
+ [add() on an already-aborted request should reject with AbortError]
+ expected: NOTRUN
+
+ [add() synchronously followed by abort should reject with AbortError]
+ expected: NOTRUN
+
+ [add() followed by abort after headers received should reject with AbortError]
+ expected: NOTRUN
+
+ [addAll() on an already-aborted request should reject with AbortError]
+ expected: NOTRUN
+
+ [addAll() synchronously followed by abort should reject with AbortError]
+ expected: NOTRUN
+
+ [addAll() followed by abort after headers received should reject with AbortError]
+ expected: NOTRUN
+
+
+[cache-abort.https.any.sharedworker.html]
+ expected: ERROR
+
+[cache-abort.https.any.serviceworker.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/service-workers/cache-storage/cache-add.https.any.js.ini b/tests/wpt/meta/service-workers/cache-storage/cache-add.https.any.js.ini
new file mode 100644
index 00000000000..2de3c2dcb08
--- /dev/null
+++ b/tests/wpt/meta/service-workers/cache-storage/cache-add.https.any.js.ini
@@ -0,0 +1,142 @@
+[cache-add.https.any.worker.html]
+ expected: ERROR
+ [Cache.add called with no arguments]
+ expected: FAIL
+
+ [Cache.add called with relative URL specified as a string]
+ expected: NOTRUN
+
+ [Cache.add called with non-HTTP/HTTPS URL]
+ expected: NOTRUN
+
+ [Cache.add called with Request object]
+ expected: NOTRUN
+
+ [Cache.add called with POST request]
+ expected: NOTRUN
+
+ [Cache.add called twice with the same Request object]
+ expected: NOTRUN
+
+ [Cache.add with request with null body (not consumed)]
+ expected: NOTRUN
+
+ [Cache.add with 206 response]
+ expected: NOTRUN
+
+ [Cache.addAll with 206 response]
+ expected: NOTRUN
+
+ [Cache.addAll with opaque-filtered 206 response]
+ expected: NOTRUN
+
+ [Cache.add with request that results in a status of 404]
+ expected: NOTRUN
+
+ [Cache.add with request that results in a status of 500]
+ expected: NOTRUN
+
+ [Cache.addAll with no arguments]
+ expected: NOTRUN
+
+ [Cache.addAll with a mix of valid and undefined arguments]
+ expected: NOTRUN
+
+ [Cache.addAll with an empty array]
+ expected: NOTRUN
+
+ [Cache.addAll with string URL arguments]
+ expected: NOTRUN
+
+ [Cache.addAll with Request arguments]
+ expected: NOTRUN
+
+ [Cache.addAll with a mix of succeeding and failing requests]
+ expected: NOTRUN
+
+ [Cache.addAll called with the same Request object specified twice]
+ expected: NOTRUN
+
+ [Cache.addAll should succeed when entries differ by vary header]
+ expected: NOTRUN
+
+ [Cache.addAll should reject when entries are duplicate by vary header]
+ expected: NOTRUN
+
+ [Cache.addAll should reject when one entry has a vary header matching another entry]
+ expected: NOTRUN
+
+
+[cache-add.https.any.sharedworker.html]
+ expected: ERROR
+
+[cache-add.https.any.serviceworker.html]
+ expected: ERROR
+
+[cache-add.https.any.html]
+ expected: ERROR
+ [Cache.add called with no arguments]
+ expected: FAIL
+
+ [Cache.add called with relative URL specified as a string]
+ expected: NOTRUN
+
+ [Cache.add called with non-HTTP/HTTPS URL]
+ expected: NOTRUN
+
+ [Cache.add called with Request object]
+ expected: NOTRUN
+
+ [Cache.add called with POST request]
+ expected: NOTRUN
+
+ [Cache.add called twice with the same Request object]
+ expected: NOTRUN
+
+ [Cache.add with request with null body (not consumed)]
+ expected: NOTRUN
+
+ [Cache.add with 206 response]
+ expected: NOTRUN
+
+ [Cache.addAll with 206 response]
+ expected: NOTRUN
+
+ [Cache.addAll with opaque-filtered 206 response]
+ expected: NOTRUN
+
+ [Cache.add with request that results in a status of 404]
+ expected: NOTRUN
+
+ [Cache.add with request that results in a status of 500]
+ expected: NOTRUN
+
+ [Cache.addAll with no arguments]
+ expected: NOTRUN
+
+ [Cache.addAll with a mix of valid and undefined arguments]
+ expected: NOTRUN
+
+ [Cache.addAll with an empty array]
+ expected: NOTRUN
+
+ [Cache.addAll with string URL arguments]
+ expected: NOTRUN
+
+ [Cache.addAll with Request arguments]
+ expected: NOTRUN
+
+ [Cache.addAll with a mix of succeeding and failing requests]
+ expected: NOTRUN
+
+ [Cache.addAll called with the same Request object specified twice]
+ expected: NOTRUN
+
+ [Cache.addAll should succeed when entries differ by vary header]
+ expected: NOTRUN
+
+ [Cache.addAll should reject when entries are duplicate by vary header]
+ expected: NOTRUN
+
+ [Cache.addAll should reject when one entry has a vary header matching another entry]
+ expected: NOTRUN
diff --git a/tests/wpt/meta/service-workers/cache-storage/cache-delete.https.any.js.ini b/tests/wpt/meta/service-workers/cache-storage/cache-delete.https.any.js.ini
new file mode 100644
index 00000000000..3475d774371
--- /dev/null
+++ b/tests/wpt/meta/service-workers/cache-storage/cache-delete.https.any.js.ini
@@ -0,0 +1,58 @@
+[cache-delete.https.any.serviceworker.html]
+ expected: ERROR
+
+[cache-delete.https.any.worker.html]
+ expected: ERROR
+ [Cache.delete with no arguments]
+ expected: FAIL
+
+ [Cache.delete called with a string URL]
+ expected: NOTRUN
+
+ [Cache.delete called with a Request object]
+ expected: NOTRUN
+
+ [Cache.delete called with a HEAD request]
+ expected: NOTRUN
+
+ [Cache.delete supports ignoreVary]
+ expected: NOTRUN
+
+ [Cache.delete with a non-existent entry]
+ expected: NOTRUN
+
+ [Cache.delete with ignoreSearch option (request with search parameters)]
+ expected: NOTRUN
+
+ [Cache.delete with ignoreSearch option (when it is specified as false)]
+ expected: NOTRUN
+
+
+[cache-delete.https.any.sharedworker.html]
+ expected: ERROR
+
+[cache-delete.https.any.html]
+ expected: ERROR
+ [Cache.delete with no arguments]
+ expected: FAIL
+
+ [Cache.delete called with a string URL]
+ expected: NOTRUN
+
+ [Cache.delete called with a Request object]
+ expected: NOTRUN
+
+ [Cache.delete called with a HEAD request]
+ expected: NOTRUN
+
+ [Cache.delete supports ignoreVary]
+ expected: NOTRUN
+
+ [Cache.delete with a non-existent entry]
+ expected: NOTRUN
+
+ [Cache.delete with ignoreSearch option (request with search parameters)]
+ expected: NOTRUN
+
+ [Cache.delete with ignoreSearch option (when it is specified as false)]
+ expected: NOTRUN
diff --git a/tests/wpt/meta/service-workers/cache-storage/cache-keys-attributes-for-service-worker.https.html.ini b/tests/wpt/meta/service-workers/cache-storage/cache-keys-attributes-for-service-worker.https.html.ini
new file mode 100644
index 00000000000..3c36c91ba49
--- /dev/null
+++ b/tests/wpt/meta/service-workers/cache-storage/cache-keys-attributes-for-service-worker.https.html.ini
@@ -0,0 +1,6 @@
+[cache-keys-attributes-for-service-worker.https.html]
+ [Request.IsReloadNavigation should persist.]
+ expected: FAIL
+
+ [Request.IsHistoryNavigation should persist.]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/cache-storage/cache-keys.https.any.js.ini b/tests/wpt/meta/service-workers/cache-storage/cache-keys.https.any.js.ini
new file mode 100644
index 00000000000..efa3e88ef46
--- /dev/null
+++ b/tests/wpt/meta/service-workers/cache-storage/cache-keys.https.any.js.ini
@@ -0,0 +1,106 @@
+[cache-keys.https.any.sharedworker.html]
+ expected: ERROR
+
+[cache-keys.https.any.serviceworker.html]
+ expected: ERROR
+
+[cache-keys.https.any.worker.html]
+ expected: ERROR
+ [Cache.keys() called on an empty cache]
+ expected: FAIL
+
+ [Cache.keys with no matching entries]
+ expected: NOTRUN
+
+ [Cache.keys with URL]
+ expected: NOTRUN
+
+ [Cache.keys with Request]
+ expected: NOTRUN
+
+ [Cache.keys with new Request]
+ expected: NOTRUN
+
+ [Cache.keys with ignoreSearch option (request with no search parameters)]
+ expected: NOTRUN
+
+ [Cache.keys with ignoreSearch option (request with search parameters)]
+ expected: NOTRUN
+
+ [Cache.keys supports ignoreMethod]
+ expected: NOTRUN
+
+ [Cache.keys supports ignoreVary]
+ expected: NOTRUN
+
+ [Cache.keys with URL containing fragment]
+ expected: NOTRUN
+
+ [Cache.keys with string fragment "http" as query]
+ expected: NOTRUN
+
+ [Cache.keys without parameters]
+ expected: NOTRUN
+
+ [Cache.keys with explicitly undefined request]
+ expected: NOTRUN
+
+ [Cache.keys with explicitly undefined request and empty options]
+ expected: NOTRUN
+
+ [Cache.keys without parameters and VARY entries]
+ expected: NOTRUN
+
+ [Cache.keys with a HEAD Request]
+ expected: NOTRUN
+
+
+[cache-keys.https.any.html]
+ expected: ERROR
+ [Cache.keys() called on an empty cache]
+ expected: FAIL
+
+ [Cache.keys with no matching entries]
+ expected: NOTRUN
+
+ [Cache.keys with URL]
+ expected: NOTRUN
+
+ [Cache.keys with Request]
+ expected: NOTRUN
+
+ [Cache.keys with new Request]
+ expected: NOTRUN
+
+ [Cache.keys with ignoreSearch option (request with no search parameters)]
+ expected: NOTRUN
+
+ [Cache.keys with ignoreSearch option (request with search parameters)]
+ expected: NOTRUN
+
+ [Cache.keys supports ignoreMethod]
+ expected: NOTRUN
+
+ [Cache.keys supports ignoreVary]
+ expected: NOTRUN
+
+ [Cache.keys with URL containing fragment]
+ expected: NOTRUN
+
+ [Cache.keys with string fragment "http" as query]
+ expected: NOTRUN
+
+ [Cache.keys without parameters]
+ expected: NOTRUN
+
+ [Cache.keys with explicitly undefined request]
+ expected: NOTRUN
+
+ [Cache.keys with explicitly undefined request and empty options]
+ expected: NOTRUN
+
+ [Cache.keys without parameters and VARY entries]
+ expected: NOTRUN
+
+ [Cache.keys with a HEAD Request]
+ expected: NOTRUN
diff --git a/tests/wpt/meta/service-workers/cache-storage/cache-match.https.any.js.ini b/tests/wpt/meta/service-workers/cache-storage/cache-match.https.any.js.ini
new file mode 100644
index 00000000000..38275d5181a
--- /dev/null
+++ b/tests/wpt/meta/service-workers/cache-storage/cache-match.https.any.js.ini
@@ -0,0 +1,160 @@
+[cache-match.https.any.sharedworker.html]
+ expected: ERROR
+
+[cache-match.https.any.serviceworker.html]
+ expected: ERROR
+
+[cache-match.https.any.html]
+ expected: ERROR
+ [Cache.match with no matching entries]
+ expected: FAIL
+
+ [Cache.match with URL]
+ expected: NOTRUN
+
+ [Cache.match with Request]
+ expected: NOTRUN
+
+ [Cache.match with multiple cache hits]
+ expected: NOTRUN
+
+ [Cache.match with new Request]
+ expected: NOTRUN
+
+ [Cache.match with HEAD]
+ expected: NOTRUN
+
+ [Cache.match with ignoreSearch option (request with no search parameters)]
+ expected: NOTRUN
+
+ [Cache.match with ignoreSearch option (request with search parameter)]
+ expected: NOTRUN
+
+ [Cache.match supports ignoreMethod]
+ expected: NOTRUN
+
+ [Cache.match supports ignoreVary]
+ expected: NOTRUN
+
+ [Cache.match does not support cacheName option]
+ expected: NOTRUN
+
+ [Cache.match with URL containing fragment]
+ expected: NOTRUN
+
+ [Cache.match with string fragment "http" as query]
+ expected: NOTRUN
+
+ [Cache.match with responses containing "Vary" header]
+ expected: NOTRUN
+
+ [Cache.match with Request and Response objects with different URLs]
+ expected: NOTRUN
+
+ [Cache.match invoked multiple times for the same Request/Response]
+ expected: NOTRUN
+
+ [Cache.match blob should be sliceable]
+ expected: NOTRUN
+
+ [Cache.match with POST Request]
+ expected: NOTRUN
+
+ [Cache.match with a non-2xx Response]
+ expected: NOTRUN
+
+ [Cache.match with a network error Response]
+ expected: NOTRUN
+
+ [Cache produces large Responses that can be cloned and read correctly.]
+ expected: NOTRUN
+
+ [cors-exposed header should be stored correctly.]
+ expected: NOTRUN
+
+ [MIME type should be set from content-header correctly.]
+ expected: NOTRUN
+
+ [MIME type should reflect Content-Type headers of response.]
+ expected: NOTRUN
+
+ [Cache.match ignores vary headers on opaque response.]
+ expected: NOTRUN
+
+
+[cache-match.https.any.worker.html]
+ expected: ERROR
+ [Cache.match with no matching entries]
+ expected: FAIL
+
+ [Cache.match with URL]
+ expected: NOTRUN
+
+ [Cache.match with Request]
+ expected: NOTRUN
+
+ [Cache.match with multiple cache hits]
+ expected: NOTRUN
+
+ [Cache.match with new Request]
+ expected: NOTRUN
+
+ [Cache.match with HEAD]
+ expected: NOTRUN
+
+ [Cache.match with ignoreSearch option (request with no search parameters)]
+ expected: NOTRUN
+
+ [Cache.match with ignoreSearch option (request with search parameter)]
+ expected: NOTRUN
+
+ [Cache.match supports ignoreMethod]
+ expected: NOTRUN
+
+ [Cache.match supports ignoreVary]
+ expected: NOTRUN
+
+ [Cache.match does not support cacheName option]
+ expected: NOTRUN
+
+ [Cache.match with URL containing fragment]
+ expected: NOTRUN
+
+ [Cache.match with string fragment "http" as query]
+ expected: NOTRUN
+
+ [Cache.match with responses containing "Vary" header]
+ expected: NOTRUN
+
+ [Cache.match with Request and Response objects with different URLs]
+ expected: NOTRUN
+
+ [Cache.match invoked multiple times for the same Request/Response]
+ expected: NOTRUN
+
+ [Cache.match blob should be sliceable]
+ expected: NOTRUN
+
+ [Cache.match with POST Request]
+ expected: NOTRUN
+
+ [Cache.match with a non-2xx Response]
+ expected: NOTRUN
+
+ [Cache.match with a network error Response]
+ expected: NOTRUN
+
+ [Cache produces large Responses that can be cloned and read correctly.]
+ expected: NOTRUN
+
+ [cors-exposed header should be stored correctly.]
+ expected: NOTRUN
+
+ [MIME type should be set from content-header correctly.]
+ expected: NOTRUN
+
+ [MIME type should reflect Content-Type headers of response.]
+ expected: NOTRUN
+
+ [Cache.match ignores vary headers on opaque response.]
+ expected: NOTRUN
diff --git a/tests/wpt/meta/service-workers/cache-storage/cache-matchAll.https.any.js.ini b/tests/wpt/meta/service-workers/cache-storage/cache-matchAll.https.any.js.ini
new file mode 100644
index 00000000000..cf9916386b1
--- /dev/null
+++ b/tests/wpt/meta/service-workers/cache-storage/cache-matchAll.https.any.js.ini
@@ -0,0 +1,106 @@
+[cache-matchAll.https.any.serviceworker.html]
+ expected: ERROR
+
+[cache-matchAll.https.any.worker.html]
+ expected: ERROR
+ [Cache.matchAll with no matching entries]
+ expected: FAIL
+
+ [Cache.matchAll with URL]
+ expected: NOTRUN
+
+ [Cache.matchAll with Request]
+ expected: NOTRUN
+
+ [Cache.matchAll with new Request]
+ expected: NOTRUN
+
+ [Cache.matchAll with HEAD]
+ expected: NOTRUN
+
+ [Cache.matchAll with ignoreSearch option (request with no search parameters)]
+ expected: NOTRUN
+
+ [Cache.matchAll with ignoreSearch option (request with search parameters)]
+ expected: NOTRUN
+
+ [Cache.matchAll supports ignoreMethod]
+ expected: NOTRUN
+
+ [Cache.matchAll supports ignoreVary]
+ expected: NOTRUN
+
+ [Cache.matchAll with URL containing fragment]
+ expected: NOTRUN
+
+ [Cache.matchAll with string fragment "http" as query]
+ expected: NOTRUN
+
+ [Cache.matchAll without parameters]
+ expected: NOTRUN
+
+ [Cache.matchAll with explicitly undefined request]
+ expected: NOTRUN
+
+ [Cache.matchAll with explicitly undefined request and empty options]
+ expected: NOTRUN
+
+ [Cache.matchAll with responses containing "Vary" header]
+ expected: NOTRUN
+
+ [Cache.matchAll with multiple vary pairs]
+ expected: NOTRUN
+
+
+[cache-matchAll.https.any.sharedworker.html]
+ expected: ERROR
+
+[cache-matchAll.https.any.html]
+ expected: ERROR
+ [Cache.matchAll with no matching entries]
+ expected: FAIL
+
+ [Cache.matchAll with URL]
+ expected: NOTRUN
+
+ [Cache.matchAll with Request]
+ expected: NOTRUN
+
+ [Cache.matchAll with new Request]
+ expected: NOTRUN
+
+ [Cache.matchAll with HEAD]
+ expected: NOTRUN
+
+ [Cache.matchAll with ignoreSearch option (request with no search parameters)]
+ expected: NOTRUN
+
+ [Cache.matchAll with ignoreSearch option (request with search parameters)]
+ expected: NOTRUN
+
+ [Cache.matchAll supports ignoreMethod]
+ expected: NOTRUN
+
+ [Cache.matchAll supports ignoreVary]
+ expected: NOTRUN
+
+ [Cache.matchAll with URL containing fragment]
+ expected: NOTRUN
+
+ [Cache.matchAll with string fragment "http" as query]
+ expected: NOTRUN
+
+ [Cache.matchAll without parameters]
+ expected: NOTRUN
+
+ [Cache.matchAll with explicitly undefined request]
+ expected: NOTRUN
+
+ [Cache.matchAll with explicitly undefined request and empty options]
+ expected: NOTRUN
+
+ [Cache.matchAll with responses containing "Vary" header]
+ expected: NOTRUN
+
+ [Cache.matchAll with multiple vary pairs]
+ expected: NOTRUN
diff --git a/tests/wpt/meta/service-workers/cache-storage/cache-put.https.any.js.ini b/tests/wpt/meta/service-workers/cache-storage/cache-put.https.any.js.ini
new file mode 100644
index 00000000000..f0967e6cd37
--- /dev/null
+++ b/tests/wpt/meta/service-workers/cache-storage/cache-put.https.any.js.ini
@@ -0,0 +1,172 @@
+[cache-put.https.any.sharedworker.html]
+ expected: ERROR
+
+[cache-put.https.any.html]
+ expected: ERROR
+ [Cache.put called with simple Request and Response]
+ expected: FAIL
+
+ [Cache.put called with Request and Response from fetch()]
+ expected: NOTRUN
+
+ [Cache.put with Request without a body]
+ expected: NOTRUN
+
+ [Cache.put with Response without a body]
+ expected: NOTRUN
+
+ [Cache.put with a Response containing an empty URL]
+ expected: NOTRUN
+
+ [Cache.put with an empty response body]
+ expected: NOTRUN
+
+ [Cache.put with synthetic 206 response]
+ expected: NOTRUN
+
+ [Cache.put with HTTP 206 response]
+ expected: NOTRUN
+
+ [Cache.put with opaque-filtered HTTP 206 response]
+ expected: NOTRUN
+
+ [Cache.put with HTTP 500 response]
+ expected: NOTRUN
+
+ [Cache.put called twice with matching Requests and different Responses]
+ expected: NOTRUN
+
+ [Cache.put called multiple times with request URLs that differ only by a fragment]
+ expected: NOTRUN
+
+ [Cache.put with a string request]
+ expected: NOTRUN
+
+ [Cache.put with an invalid response]
+ expected: NOTRUN
+
+ [Cache.put with a non-HTTP/HTTPS request]
+ expected: NOTRUN
+
+ [Cache.put with a relative URL]
+ expected: NOTRUN
+
+ [Cache.put with a non-GET request]
+ expected: NOTRUN
+
+ [Cache.put with a null response]
+ expected: NOTRUN
+
+ [Cache.put with a POST request]
+ expected: NOTRUN
+
+ [Cache.put with a used response body]
+ expected: NOTRUN
+
+ [getReader() after Cache.put]
+ expected: NOTRUN
+
+ [Cache.put with a VARY:* Response]
+ expected: NOTRUN
+
+ [Cache.put with an embedded VARY:* Response]
+ expected: NOTRUN
+
+ [Cache.put with a VARY:* opaque response should not reject]
+ expected: NOTRUN
+
+ [Cache.put should store Response.redirect() correctly]
+ expected: NOTRUN
+
+ [Cache.put called with simple Request and blob Response]
+ expected: NOTRUN
+
+ [Cache.put called with simple Request and form data Response]
+ expected: NOTRUN
+
+
+[cache-put.https.any.serviceworker.html]
+ expected: ERROR
+
+[cache-put.https.any.worker.html]
+ expected: ERROR
+ [Cache.put called with simple Request and Response]
+ expected: FAIL
+
+ [Cache.put called with Request and Response from fetch()]
+ expected: NOTRUN
+
+ [Cache.put with Request without a body]
+ expected: NOTRUN
+
+ [Cache.put with Response without a body]
+ expected: NOTRUN
+
+ [Cache.put with a Response containing an empty URL]
+ expected: NOTRUN
+
+ [Cache.put with an empty response body]
+ expected: NOTRUN
+
+ [Cache.put with synthetic 206 response]
+ expected: NOTRUN
+
+ [Cache.put with HTTP 206 response]
+ expected: NOTRUN
+
+ [Cache.put with opaque-filtered HTTP 206 response]
+ expected: NOTRUN
+
+ [Cache.put with HTTP 500 response]
+ expected: NOTRUN
+
+ [Cache.put called twice with matching Requests and different Responses]
+ expected: NOTRUN
+
+ [Cache.put called multiple times with request URLs that differ only by a fragment]
+ expected: NOTRUN
+
+ [Cache.put with a string request]
+ expected: NOTRUN
+
+ [Cache.put with an invalid response]
+ expected: NOTRUN
+
+ [Cache.put with a non-HTTP/HTTPS request]
+ expected: NOTRUN
+
+ [Cache.put with a relative URL]
+ expected: NOTRUN
+
+ [Cache.put with a non-GET request]
+ expected: NOTRUN
+
+ [Cache.put with a null response]
+ expected: NOTRUN
+
+ [Cache.put with a POST request]
+ expected: NOTRUN
+
+ [Cache.put with a used response body]
+ expected: NOTRUN
+
+ [getReader() after Cache.put]
+ expected: NOTRUN
+
+ [Cache.put with a VARY:* Response]
+ expected: NOTRUN
+
+ [Cache.put with an embedded VARY:* Response]
+ expected: NOTRUN
+
+ [Cache.put with a VARY:* opaque response should not reject]
+ expected: NOTRUN
+
+ [Cache.put should store Response.redirect() correctly]
+ expected: NOTRUN
+
+ [Cache.put called with simple Request and blob Response]
+ expected: NOTRUN
+
+ [Cache.put called with simple Request and form data Response]
+ expected: NOTRUN
diff --git a/tests/wpt/meta/service-workers/cache-storage/cache-storage-buckets.https.any.js.ini b/tests/wpt/meta/service-workers/cache-storage/cache-storage-buckets.https.any.js.ini
new file mode 100644
index 00000000000..7f01f7c74eb
--- /dev/null
+++ b/tests/wpt/meta/service-workers/cache-storage/cache-storage-buckets.https.any.js.ini
@@ -0,0 +1,20 @@
+[cache-storage-buckets.https.any.html]
+ [caches from different buckets have different contents]
+ expected: FAIL
+
+ [cache.open promise is rejected when bucket is gone]
+ expected: FAIL
+
+
+[cache-storage-buckets.https.any.sharedworker.html]
+ expected: ERROR
+
+[cache-storage-buckets.https.any.serviceworker.html]
+ expected: ERROR
+
+[cache-storage-buckets.https.any.worker.html]
+ [caches from different buckets have different contents]
+ expected: FAIL
+
+ [cache.open promise is rejected when bucket is gone]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/cache-storage/cache-storage-keys.https.any.js.ini b/tests/wpt/meta/service-workers/cache-storage/cache-storage-keys.https.any.js.ini
new file mode 100644
index 00000000000..bf25b42fa43
--- /dev/null
+++ b/tests/wpt/meta/service-workers/cache-storage/cache-storage-keys.https.any.js.ini
@@ -0,0 +1,15 @@
+[cache-storage-keys.https.any.serviceworker.html]
+ expected: ERROR
+
+[cache-storage-keys.https.any.html]
+ [CacheStorage keys]
+ expected: FAIL
+
+
+[cache-storage-keys.https.any.worker.html]
+ [CacheStorage keys]
+ expected: FAIL
+
+
+[cache-storage-keys.https.any.sharedworker.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/service-workers/cache-storage/cache-storage-match.https.any.js.ini b/tests/wpt/meta/service-workers/cache-storage/cache-storage-match.https.any.js.ini
new file mode 100644
index 00000000000..b9d5519c068
--- /dev/null
+++ b/tests/wpt/meta/service-workers/cache-storage/cache-storage-match.https.any.js.ini
@@ -0,0 +1,76 @@
+[cache-storage-match.https.any.html]
+ expected: ERROR
+ [CacheStorageMatch with no cache name provided]
+ expected: FAIL
+
+ [CacheStorageMatch from one of many caches]
+ expected: NOTRUN
+
+ [CacheStorageMatch from one of many caches by name]
+ expected: NOTRUN
+
+ [CacheStorageMatch a string request]
+ expected: NOTRUN
+
+ [CacheStorageMatch a HEAD request]
+ expected: NOTRUN
+
+ [CacheStorageMatch with no cached entry]
+ expected: NOTRUN
+
+ [CacheStorageMatch with no caches available but name provided]
+ expected: NOTRUN
+
+ [CacheStorageMatch with empty cache name provided]
+ expected: NOTRUN
+
+ [CacheStorageMatch supports ignoreSearch]
+ expected: NOTRUN
+
+ [Cache.match supports ignoreMethod]
+ expected: NOTRUN
+
+ [CacheStorageMatch supports ignoreVary]
+ expected: NOTRUN
+
+
+[cache-storage-match.https.any.sharedworker.html]
+ expected: ERROR
+
+[cache-storage-match.https.any.serviceworker.html]
+ expected: ERROR
+
+[cache-storage-match.https.any.worker.html]
+ expected: ERROR
+ [CacheStorageMatch with no cache name provided]
+ expected: FAIL
+
+ [CacheStorageMatch from one of many caches]
+ expected: NOTRUN
+
+ [CacheStorageMatch from one of many caches by name]
+ expected: NOTRUN
+
+ [CacheStorageMatch a string request]
+ expected: NOTRUN
+
+ [CacheStorageMatch a HEAD request]
+ expected: NOTRUN
+
+ [CacheStorageMatch with no cached entry]
+ expected: NOTRUN
+
+ [CacheStorageMatch with no caches available but name provided]
+ expected: NOTRUN
+
+ [CacheStorageMatch with empty cache name provided]
+ expected: NOTRUN
+
+ [CacheStorageMatch supports ignoreSearch]
+ expected: NOTRUN
+
+ [Cache.match supports ignoreMethod]
+ expected: NOTRUN
+
+ [CacheStorageMatch supports ignoreVary]
+ expected: NOTRUN
diff --git a/tests/wpt/meta/service-workers/cache-storage/cache-storage.https.any.js.ini b/tests/wpt/meta/service-workers/cache-storage/cache-storage.https.any.js.ini
new file mode 100644
index 00000000000..c47eecaf8f0
--- /dev/null
+++ b/tests/wpt/meta/service-workers/cache-storage/cache-storage.https.any.js.ini
@@ -0,0 +1,69 @@
+[cache-storage.https.any.worker.html]
+ [CacheStorage.open]
+ expected: FAIL
+
+ [CacheStorage.delete dooms, but does not delete immediately]
+ expected: FAIL
+
+ [CacheStorage.open with an empty name]
+ expected: FAIL
+
+ [CacheStorage.open with no arguments]
+ expected: FAIL
+
+ [CacheStorage.has with existing cache]
+ expected: FAIL
+
+ [CacheStorage.has with nonexistent cache]
+ expected: FAIL
+
+ [CacheStorage.open with existing cache]
+ expected: FAIL
+
+ [CacheStorage.delete with existing cache]
+ expected: FAIL
+
+ [CacheStorage.delete with nonexistent cache]
+ expected: FAIL
+
+ [CacheStorage names are DOMStrings not USVStrings]
+ expected: FAIL
+
+
+[cache-storage.https.any.serviceworker.html]
+ expected: ERROR
+
+[cache-storage.https.any.html]
+ [CacheStorage.open]
+ expected: FAIL
+
+ [CacheStorage.delete dooms, but does not delete immediately]
+ expected: FAIL
+
+ [CacheStorage.open with an empty name]
+ expected: FAIL
+
+ [CacheStorage.open with no arguments]
+ expected: FAIL
+
+ [CacheStorage.has with existing cache]
+ expected: FAIL
+
+ [CacheStorage.has with nonexistent cache]
+ expected: FAIL
+
+ [CacheStorage.open with existing cache]
+ expected: FAIL
+
+ [CacheStorage.delete with existing cache]
+ expected: FAIL
+
+ [CacheStorage.delete with nonexistent cache]
+ expected: FAIL
+
+ [CacheStorage names are DOMStrings not USVStrings]
+ expected: FAIL
+
+
+[cache-storage.https.any.sharedworker.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/service-workers/cache-storage/common.https.window.js.ini b/tests/wpt/meta/service-workers/cache-storage/common.https.window.js.ini
new file mode 100644
index 00000000000..842774ccff4
--- /dev/null
+++ b/tests/wpt/meta/service-workers/cache-storage/common.https.window.js.ini
@@ -0,0 +1,3 @@
+[common.https.window.html]
+ [Window sees cache puts by Worker]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/cache-storage/crashtests/cache-response-clone.https.html.ini b/tests/wpt/meta/service-workers/cache-storage/crashtests/cache-response-clone.https.html.ini
new file mode 100644
index 00000000000..e81716f7992
--- /dev/null
+++ b/tests/wpt/meta/service-workers/cache-storage/crashtests/cache-response-clone.https.html.ini
@@ -0,0 +1,2 @@
+[cache-response-clone.https.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/meta/service-workers/cache-storage/credentials.https.html.ini b/tests/wpt/meta/service-workers/cache-storage/credentials.https.html.ini
new file mode 100644
index 00000000000..e7677b139da
--- /dev/null
+++ b/tests/wpt/meta/service-workers/cache-storage/credentials.https.html.ini
@@ -0,0 +1,3 @@
+[credentials.https.html]
+ [Cache API matching includes credentials]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/cache-storage/cross-partition.https.tentative.html.ini b/tests/wpt/meta/service-workers/cache-storage/cross-partition.https.tentative.html.ini
new file mode 100644
index 00000000000..22f0519edb8
--- /dev/null
+++ b/tests/wpt/meta/service-workers/cache-storage/cross-partition.https.tentative.html.ini
@@ -0,0 +1,13 @@
+[cross-partition.https.tentative.html]
+ expected: TIMEOUT
+ [CacheStorage caches shouldn't be shared with a cross-partition iframe]
+ expected: FAIL
+
+ [CacheStorage caches shouldn't be shared with a cross-partition dedicated worker]
+ expected: FAIL
+
+ [CacheStorage caches shouldn't be shared with a cross-partition shared worker]
+ expected: TIMEOUT
+
+ [CacheStorage caches shouldn't be shared with a cross-partition service worker]
+ expected: NOTRUN
diff --git a/tests/wpt/meta/service-workers/cache-storage/sandboxed-iframes.https.html.ini b/tests/wpt/meta/service-workers/cache-storage/sandboxed-iframes.https.html.ini
new file mode 100644
index 00000000000..36f1e8b88f7
--- /dev/null
+++ b/tests/wpt/meta/service-workers/cache-storage/sandboxed-iframes.https.html.ini
@@ -0,0 +1,6 @@
+[sandboxed-iframes.https.html]
+ [Sandboxed iframe with allow-same-origin is allowed access]
+ expected: FAIL
+
+ [Sandboxed iframe without allow-same-origin is denied access]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/idlharness.https.any.js.ini b/tests/wpt/meta/service-workers/idlharness.https.any.js.ini
new file mode 100644
index 00000000000..aba70ff3a35
--- /dev/null
+++ b/tests/wpt/meta/service-workers/idlharness.https.any.js.ini
@@ -0,0 +1,259 @@
+[idlharness.https.any.html]
+ expected: ERROR
+ [idl_test setup]
+ expected: FAIL
+
+ [ServiceWorkerRegistration interface: operation update()]
+ expected: FAIL
+
+ [ServiceWorkerRegistration interface: operation unregister()]
+ expected: FAIL
+
+ [ServiceWorkerRegistration interface: attribute onupdatefound]
+ expected: FAIL
+
+ [ServiceWorkerContainer interface: attribute ready]
+ expected: FAIL
+
+ [ServiceWorkerContainer interface: operation getRegistration(optional USVString)]
+ expected: FAIL
+
+ [ServiceWorkerContainer interface: operation getRegistrations()]
+ expected: FAIL
+
+ [ServiceWorkerContainer interface: operation startMessages()]
+ expected: FAIL
+
+ [ServiceWorkerContainer interface: attribute oncontrollerchange]
+ expected: FAIL
+
+ [ServiceWorkerContainer interface: attribute onmessage]
+ expected: FAIL
+
+ [ServiceWorkerContainer interface: attribute onmessageerror]
+ expected: FAIL
+
+ [Cache interface: existence and properties of interface object]
+ expected: FAIL
+
+ [Cache interface object length]
+ expected: FAIL
+
+ [Cache interface object name]
+ expected: FAIL
+
+ [Cache interface: existence and properties of interface prototype object]
+ expected: FAIL
+
+ [Cache interface: existence and properties of interface prototype object's "constructor" property]
+ expected: FAIL
+
+ [Cache interface: existence and properties of interface prototype object's @@unscopables property]
+ expected: FAIL
+
+ [Cache interface: operation match(RequestInfo, optional CacheQueryOptions)]
+ expected: FAIL
+
+ [Cache interface: operation matchAll(optional RequestInfo, optional CacheQueryOptions)]
+ expected: FAIL
+
+ [Cache interface: operation add(RequestInfo)]
+ expected: FAIL
+
+ [Cache interface: operation addAll(sequence<RequestInfo>)]
+ expected: FAIL
+
+ [Cache interface: operation put(RequestInfo, Response)]
+ expected: FAIL
+
+ [Cache interface: operation delete(RequestInfo, optional CacheQueryOptions)]
+ expected: FAIL
+
+ [Cache interface: operation keys(optional RequestInfo, optional CacheQueryOptions)]
+ expected: FAIL
+
+ [CacheStorage interface: existence and properties of interface object]
+ expected: FAIL
+
+ [CacheStorage interface object length]
+ expected: FAIL
+
+ [CacheStorage interface object name]
+ expected: FAIL
+
+ [CacheStorage interface: existence and properties of interface prototype object]
+ expected: FAIL
+
+ [CacheStorage interface: existence and properties of interface prototype object's "constructor" property]
+ expected: FAIL
+
+ [CacheStorage interface: existence and properties of interface prototype object's @@unscopables property]
+ expected: FAIL
+
+ [CacheStorage interface: operation match(RequestInfo, optional MultiCacheQueryOptions)]
+ expected: FAIL
+
+ [CacheStorage interface: operation has(DOMString)]
+ expected: FAIL
+
+ [CacheStorage interface: operation open(DOMString)]
+ expected: FAIL
+
+ [CacheStorage interface: operation delete(DOMString)]
+ expected: FAIL
+
+ [CacheStorage interface: operation keys()]
+ expected: FAIL
+
+ [Window interface: attribute caches]
+ expected: FAIL
+
+ [ServiceWorkerContainer interface: operation register((TrustedScriptURL or USVString), optional RegistrationOptions)]
+ expected: TIMEOUT
+
+ [NavigationPreloadManager interface: operation enable()]
+ expected: TIMEOUT
+
+ [NavigationPreloadManager interface: operation disable()]
+ expected: TIMEOUT
+
+ [NavigationPreloadManager interface: operation setHeaderValue(ByteString)]
+ expected: TIMEOUT
+
+ [NavigationPreloadManager interface: operation getState()]
+ expected: TIMEOUT
+
+
+[idlharness.https.any.serviceworker.html]
+ expected: ERROR
+
+[idlharness.https.any.sharedworker.html]
+ expected: ERROR
+
+[idlharness.https.any.worker.html]
+ expected: ERROR
+ [idl_test setup]
+ expected: FAIL
+
+ [ServiceWorkerRegistration interface: operation update()]
+ expected: FAIL
+
+ [ServiceWorkerRegistration interface: operation unregister()]
+ expected: FAIL
+
+ [ServiceWorkerRegistration interface: attribute onupdatefound]
+ expected: FAIL
+
+ [ServiceWorkerContainer interface: attribute ready]
+ expected: FAIL
+
+ [ServiceWorkerContainer interface: operation register((TrustedScriptURL or USVString), optional RegistrationOptions)]
+ expected: TIMEOUT
+
+ [ServiceWorkerContainer interface: operation getRegistration(optional USVString)]
+ expected: FAIL
+
+ [ServiceWorkerContainer interface: operation getRegistrations()]
+ expected: FAIL
+
+ [ServiceWorkerContainer interface: operation startMessages()]
+ expected: FAIL
+
+ [ServiceWorkerContainer interface: attribute oncontrollerchange]
+ expected: FAIL
+
+ [ServiceWorkerContainer interface: attribute onmessage]
+ expected: FAIL
+
+ [ServiceWorkerContainer interface: attribute onmessageerror]
+ expected: FAIL
+
+ [NavigationPreloadManager interface: operation enable()]
+ expected: TIMEOUT
+
+ [NavigationPreloadManager interface: operation disable()]
+ expected: TIMEOUT
+
+ [NavigationPreloadManager interface: operation setHeaderValue(ByteString)]
+ expected: TIMEOUT
+
+ [NavigationPreloadManager interface: operation getState()]
+ expected: TIMEOUT
+
+ [Cache interface: existence and properties of interface object]
+ expected: FAIL
+
+ [Cache interface object length]
+ expected: FAIL
+
+ [Cache interface object name]
+ expected: FAIL
+
+ [Cache interface: existence and properties of interface prototype object]
+ expected: FAIL
+
+ [Cache interface: existence and properties of interface prototype object's "constructor" property]
+ expected: FAIL
+
+ [Cache interface: existence and properties of interface prototype object's @@unscopables property]
+ expected: FAIL
+
+ [Cache interface: operation match(RequestInfo, optional CacheQueryOptions)]
+ expected: FAIL
+
+ [Cache interface: operation matchAll(optional RequestInfo, optional CacheQueryOptions)]
+ expected: FAIL
+
+ [Cache interface: operation add(RequestInfo)]
+ expected: FAIL
+
+ [Cache interface: operation addAll(sequence<RequestInfo>)]
+ expected: FAIL
+
+ [Cache interface: operation put(RequestInfo, Response)]
+ expected: FAIL
+
+ [Cache interface: operation delete(RequestInfo, optional CacheQueryOptions)]
+ expected: FAIL
+
+ [Cache interface: operation keys(optional RequestInfo, optional CacheQueryOptions)]
+ expected: FAIL
+
+ [CacheStorage interface: existence and properties of interface object]
+ expected: FAIL
+
+ [CacheStorage interface object length]
+ expected: FAIL
+
+ [CacheStorage interface object name]
+ expected: FAIL
+
+ [CacheStorage interface: existence and properties of interface prototype object]
+ expected: FAIL
+
+ [CacheStorage interface: existence and properties of interface prototype object's "constructor" property]
+ expected: FAIL
+
+ [CacheStorage interface: existence and properties of interface prototype object's @@unscopables property]
+ expected: FAIL
+
+ [CacheStorage interface: operation match(RequestInfo, optional MultiCacheQueryOptions)]
+ expected: FAIL
+
+ [CacheStorage interface: operation has(DOMString)]
+ expected: FAIL
+
+ [CacheStorage interface: operation open(DOMString)]
+ expected: FAIL
+
+ [CacheStorage interface: operation delete(DOMString)]
+ expected: FAIL
+
+ [CacheStorage interface: operation keys()]
+ expected: FAIL
+
+ [WorkerGlobalScope interface: attribute caches]
+ expected: FAIL
+
+ [WorkerNavigator interface: attribute serviceWorker]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/Service-Worker-Allowed-header.https.html.ini b/tests/wpt/meta/service-workers/service-worker/Service-Worker-Allowed-header.https.html.ini
new file mode 100644
index 00000000000..396b9b766e7
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/Service-Worker-Allowed-header.https.html.ini
@@ -0,0 +1,25 @@
+[Service-Worker-Allowed-header.https.html]
+ expected: ERROR
+ [Registering within Service-Worker-Allowed path]
+ expected: FAIL
+
+ [Registering within Service-Worker-Allowed path (absolute URL)]
+ expected: NOTRUN
+
+ [Registering within Service-Worker-Allowed path with parent reference]
+ expected: NOTRUN
+
+ [Registering outside Service-Worker-Allowed path]
+ expected: NOTRUN
+
+ [Registering outside Service-Worker-Allowed path with parent reference]
+ expected: NOTRUN
+
+ [Service-Worker-Allowed is cross-origin to script, registering on a normally allowed scope]
+ expected: NOTRUN
+
+ [Service-Worker-Allowed is cross-origin to script, registering on a normally disallowed scope]
+ expected: NOTRUN
+
+ [Service-Worker-Allowed is cross-origin to page, same-origin to script]
+ expected: NOTRUN
diff --git a/tests/wpt/meta/service-workers/service-worker/ServiceWorkerGlobalScope/close.https.html.ini b/tests/wpt/meta/service-workers/service-worker/ServiceWorkerGlobalScope/close.https.html.ini
new file mode 100644
index 00000000000..90a20fa4b92
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/ServiceWorkerGlobalScope/close.https.html.ini
@@ -0,0 +1,3 @@
+[close.https.html]
+ [ServiceWorkerGlobalScope: close operation]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/ServiceWorkerGlobalScope/error-message-event.https.html.ini b/tests/wpt/meta/service-workers/service-worker/ServiceWorkerGlobalScope/error-message-event.https.html.ini
new file mode 100644
index 00000000000..b3d43d5812a
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/ServiceWorkerGlobalScope/error-message-event.https.html.ini
@@ -0,0 +1,2 @@
+[error-message-event.https.html]
+ expected: CRASH
diff --git a/tests/wpt/meta/service-workers/service-worker/ServiceWorkerGlobalScope/extendable-message-event-constructor.https.html.ini b/tests/wpt/meta/service-workers/service-worker/ServiceWorkerGlobalScope/extendable-message-event-constructor.https.html.ini
new file mode 100644
index 00000000000..5faf185265f
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/ServiceWorkerGlobalScope/extendable-message-event-constructor.https.html.ini
@@ -0,0 +1,3 @@
+[extendable-message-event-constructor.https.html]
+ [ServiceWorkerGlobalScope: ExtendableMessageEvent Constructor]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/ServiceWorkerGlobalScope/extendable-message-event.https.html.ini b/tests/wpt/meta/service-workers/service-worker/ServiceWorkerGlobalScope/extendable-message-event.https.html.ini
new file mode 100644
index 00000000000..b5f91a40416
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/ServiceWorkerGlobalScope/extendable-message-event.https.html.ini
@@ -0,0 +1,12 @@
+[extendable-message-event.https.html]
+ [Post an extendable message from a top-level client]
+ expected: FAIL
+
+ [Post an extendable message from a nested client]
+ expected: FAIL
+
+ [Post loopback extendable messages]
+ expected: FAIL
+
+ [Post extendable messages among service workers]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/ServiceWorkerGlobalScope/fetch-on-the-right-interface.https.any.js.ini b/tests/wpt/meta/service-workers/service-worker/ServiceWorkerGlobalScope/fetch-on-the-right-interface.https.any.js.ini
new file mode 100644
index 00000000000..6afe79bb85e
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/ServiceWorkerGlobalScope/fetch-on-the-right-interface.https.any.js.ini
@@ -0,0 +1,2 @@
+[fetch-on-the-right-interface.https.any.serviceworker.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/service-workers/service-worker/ServiceWorkerGlobalScope/isSecureContext.https.html.ini b/tests/wpt/meta/service-workers/service-worker/ServiceWorkerGlobalScope/isSecureContext.https.html.ini
new file mode 100644
index 00000000000..19e98d7cc1f
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/ServiceWorkerGlobalScope/isSecureContext.https.html.ini
@@ -0,0 +1,3 @@
+[isSecureContext.https.html]
+ [Setting up tests]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/ServiceWorkerGlobalScope/message-event-ports.https.html.ini b/tests/wpt/meta/service-workers/service-worker/ServiceWorkerGlobalScope/message-event-ports.https.html.ini
new file mode 100644
index 00000000000..7e5ae3c3453
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/ServiceWorkerGlobalScope/message-event-ports.https.html.ini
@@ -0,0 +1,2 @@
+[message-event-ports.https.html]
+ expected: CRASH
diff --git a/tests/wpt/meta/service-workers/service-worker/ServiceWorkerGlobalScope/postmessage.https.html.ini b/tests/wpt/meta/service-workers/service-worker/ServiceWorkerGlobalScope/postmessage.https.html.ini
new file mode 100644
index 00000000000..11b38a65c55
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/ServiceWorkerGlobalScope/postmessage.https.html.ini
@@ -0,0 +1,6 @@
+[postmessage.https.html]
+ [Post loopback messages]
+ expected: FAIL
+
+ [Post messages among service workers]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/ServiceWorkerGlobalScope/registration-attribute.https.html.ini b/tests/wpt/meta/service-workers/service-worker/ServiceWorkerGlobalScope/registration-attribute.https.html.ini
new file mode 100644
index 00000000000..51fa00976cb
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/ServiceWorkerGlobalScope/registration-attribute.https.html.ini
@@ -0,0 +1,6 @@
+[registration-attribute.https.html]
+ [Verify registration attributes on ServiceWorkerGlobalScope]
+ expected: FAIL
+
+ [Verify registration attributes on ServiceWorkerGlobalScope of the newer worker]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/ServiceWorkerGlobalScope/service-worker-error-event.https.html.ini b/tests/wpt/meta/service-workers/service-worker/ServiceWorkerGlobalScope/service-worker-error-event.https.html.ini
new file mode 100644
index 00000000000..2a089737f36
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/ServiceWorkerGlobalScope/service-worker-error-event.https.html.ini
@@ -0,0 +1,3 @@
+[service-worker-error-event.https.html]
+ [Error handlers inside serviceworker should see the attributes of ErrorEvent]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/ServiceWorkerGlobalScope/unregister.https.html.ini b/tests/wpt/meta/service-workers/service-worker/ServiceWorkerGlobalScope/unregister.https.html.ini
new file mode 100644
index 00000000000..8130a381590
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/ServiceWorkerGlobalScope/unregister.https.html.ini
@@ -0,0 +1,12 @@
+[unregister.https.html]
+ [Unregister on script evaluation]
+ expected: FAIL
+
+ [Unregister on installing event]
+ expected: FAIL
+
+ [Unregister on activate event]
+ expected: FAIL
+
+ [Unregister controlling service worker]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/ServiceWorkerGlobalScope/update.https.html.ini b/tests/wpt/meta/service-workers/service-worker/ServiceWorkerGlobalScope/update.https.html.ini
new file mode 100644
index 00000000000..6d350725b7f
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/ServiceWorkerGlobalScope/update.https.html.ini
@@ -0,0 +1,3 @@
+[update.https.html]
+ [Update a registration on ServiceWorkerGlobalScope]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/about-blank-replacement.https.html.ini b/tests/wpt/meta/service-workers/service-worker/about-blank-replacement.https.html.ini
new file mode 100644
index 00000000000..fc450688304
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/about-blank-replacement.https.html.ini
@@ -0,0 +1,21 @@
+[about-blank-replacement.https.html]
+ [Initial about:blank is controlled, exposed to clients.matchAll(), and matches final Client.]
+ expected: FAIL
+
+ [Initial about:blank modified by parent is controlled, exposed to clients.matchAll(), and matches final Client.]
+ expected: FAIL
+
+ [Popup initial about:blank is controlled, exposed to clients.matchAll(), and matches final Client.]
+ expected: FAIL
+
+ [Initial about:blank is controlled, exposed to clients.matchAll(), and final Client is not controlled by a service worker.]
+ expected: FAIL
+
+ [Simple about:blank is controlled and is exposed to clients.matchAll().]
+ expected: FAIL
+
+ [Nested about:srcdoc is controlled and is exposed to clients.matchAll().]
+ expected: FAIL
+
+ [Dynamic about:blank is controlled and is exposed to clients.matchAll().]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/activate-event-after-install-state-change.https.html.ini b/tests/wpt/meta/service-workers/service-worker/activate-event-after-install-state-change.https.html.ini
new file mode 100644
index 00000000000..42d48e59608
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/activate-event-after-install-state-change.https.html.ini
@@ -0,0 +1,3 @@
+[activate-event-after-install-state-change.https.html]
+ [installed event should be fired before activating service worker]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/activation-after-registration.https.html.ini b/tests/wpt/meta/service-workers/service-worker/activation-after-registration.https.html.ini
new file mode 100644
index 00000000000..82f8a1ab5e5
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/activation-after-registration.https.html.ini
@@ -0,0 +1,3 @@
+[activation-after-registration.https.html]
+ [activation occurs after registration]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/activation.https.html.ini b/tests/wpt/meta/service-workers/service-worker/activation.https.html.ini
new file mode 100644
index 00000000000..27097e520b9
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/activation.https.html.ini
@@ -0,0 +1,12 @@
+[activation.https.html]
+ [loss of controllees triggers activation]
+ expected: FAIL
+
+ [finishing a request triggers activation]
+ expected: FAIL
+
+ [skipWaiting bypasses no controllee requirement]
+ expected: FAIL
+
+ [finishing a request triggers unregister]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/active.https.html.ini b/tests/wpt/meta/service-workers/service-worker/active.https.html.ini
new file mode 100644
index 00000000000..58a27d622a2
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/active.https.html.ini
@@ -0,0 +1,7 @@
+[active.https.html]
+ expected: ERROR
+ [active is set]
+ expected: FAIL
+
+ [The ServiceWorker objects returned from active attribute getter that represent the same service worker are the same objects]
+ expected: NOTRUN
diff --git a/tests/wpt/meta/service-workers/service-worker/claim-affect-other-registration.https.html.ini b/tests/wpt/meta/service-workers/service-worker/claim-affect-other-registration.https.html.ini
new file mode 100644
index 00000000000..1dffd3dfeab
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/claim-affect-other-registration.https.html.ini
@@ -0,0 +1,2 @@
+[claim-affect-other-registration.https.html]
+ expected: CRASH
diff --git a/tests/wpt/meta/service-workers/service-worker/claim-fetch.https.html.ini b/tests/wpt/meta/service-workers/service-worker/claim-fetch.https.html.ini
new file mode 100644
index 00000000000..f2488430f63
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/claim-fetch.https.html.ini
@@ -0,0 +1,3 @@
+[claim-fetch.https.html]
+ [fetch() should be intercepted after the client is claimed.]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/claim-not-using-registration.https.html.ini b/tests/wpt/meta/service-workers/service-worker/claim-not-using-registration.https.html.ini
new file mode 100644
index 00000000000..46d53ed22ca
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/claim-not-using-registration.https.html.ini
@@ -0,0 +1,2 @@
+[claim-not-using-registration.https.html]
+ expected: CRASH
diff --git a/tests/wpt/meta/service-workers/service-worker/claim-shared-worker-fetch.https.html.ini b/tests/wpt/meta/service-workers/service-worker/claim-shared-worker-fetch.https.html.ini
new file mode 100644
index 00000000000..420d0e45d10
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/claim-shared-worker-fetch.https.html.ini
@@ -0,0 +1,3 @@
+[claim-shared-worker-fetch.https.html]
+ [fetch() in SharedWorker should be intercepted after the client is claimed.]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/claim-using-registration.https.html.ini b/tests/wpt/meta/service-workers/service-worker/claim-using-registration.https.html.ini
new file mode 100644
index 00000000000..0c764649961
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/claim-using-registration.https.html.ini
@@ -0,0 +1,6 @@
+[claim-using-registration.https.html]
+ [Test worker claims client which is using another registration]
+ expected: FAIL
+
+ [Test for the waiting worker claims a client which is using the the same registration]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/claim-with-redirect.https.html.ini b/tests/wpt/meta/service-workers/service-worker/claim-with-redirect.https.html.ini
new file mode 100644
index 00000000000..e9992a585cd
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/claim-with-redirect.https.html.ini
@@ -0,0 +1,2 @@
+[claim-with-redirect.https.html]
+ expected: CRASH
diff --git a/tests/wpt/meta/service-workers/service-worker/claim-worker-fetch.https.html.ini b/tests/wpt/meta/service-workers/service-worker/claim-worker-fetch.https.html.ini
new file mode 100644
index 00000000000..32a575549b7
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/claim-worker-fetch.https.html.ini
@@ -0,0 +1,18 @@
+[claim-worker-fetch.https.html]
+ [fetch() in Worker should be intercepted after the client is claimed.]
+ expected: FAIL
+
+ [fetch() in nested Worker should be intercepted after the client is claimed.]
+ expected: FAIL
+
+ [fetch() in blob URL Worker should be intercepted after the client is claimed.]
+ expected: FAIL
+
+ [fetch() in nested blob URL Worker created from a blob URL Worker should be intercepted after the client is claimed.]
+ expected: FAIL
+
+ [fetch() in nested Worker created from a blob URL Worker should be intercepted after the client is claimed.]
+ expected: FAIL
+
+ [fetch() in nested blob URL Worker created from a Worker should be intercepted after the client is claimed.]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/client-id.https.html.ini b/tests/wpt/meta/service-workers/service-worker/client-id.https.html.ini
new file mode 100644
index 00000000000..d293152a146
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/client-id.https.html.ini
@@ -0,0 +1,3 @@
+[client-id.https.html]
+ [Client.id returns the client's ID.]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/client-navigate.https.html.ini b/tests/wpt/meta/service-workers/service-worker/client-navigate.https.html.ini
new file mode 100644
index 00000000000..ed9f6eae936
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/client-navigate.https.html.ini
@@ -0,0 +1,15 @@
+[client-navigate.https.html]
+ [Frame location should update on successful navigation]
+ expected: FAIL
+
+ [Frame location should not be accessible after redirect]
+ expected: FAIL
+
+ [Frame location should not be accessible after cross-origin navigation]
+ expected: FAIL
+
+ [Frame location should not update on failed about:blank navigation]
+ expected: FAIL
+
+ [Frame location should not update on failed mixed-content navigation]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/client-url-of-blob-url-worker.https.html.ini b/tests/wpt/meta/service-workers/service-worker/client-url-of-blob-url-worker.https.html.ini
new file mode 100644
index 00000000000..6ec39ae8d5c
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/client-url-of-blob-url-worker.https.html.ini
@@ -0,0 +1,3 @@
+[client-url-of-blob-url-worker.https.html]
+ [Client.url of a blob URL worker should be a blob URL.]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/clients-get-client-types.https.html.ini b/tests/wpt/meta/service-workers/service-worker/clients-get-client-types.https.html.ini
new file mode 100644
index 00000000000..32b4d1e14a2
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/clients-get-client-types.https.html.ini
@@ -0,0 +1,3 @@
+[clients-get-client-types.https.html]
+ [Test Clients.get() with window and worker clients]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/clients-get-cross-origin.https.html.ini b/tests/wpt/meta/service-workers/service-worker/clients-get-cross-origin.https.html.ini
new file mode 100644
index 00000000000..4fa88625ca5
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/clients-get-cross-origin.https.html.ini
@@ -0,0 +1,3 @@
+[clients-get-cross-origin.https.html]
+ [Test Clients.get() cross origin]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/clients-get-resultingClientId.https.html.ini b/tests/wpt/meta/service-workers/service-worker/clients-get-resultingClientId.https.html.ini
new file mode 100644
index 00000000000..e2bf7bcdc78
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/clients-get-resultingClientId.https.html.ini
@@ -0,0 +1,18 @@
+[clients-get-resultingClientId.https.html]
+ [global setup]
+ expected: FAIL
+
+ [get(resultingClientId) for same-origin document]
+ expected: FAIL
+
+ [get(resultingClientId) on cross-origin redirect]
+ expected: FAIL
+
+ [get(resultingClientId) for document sandboxed by CSP header]
+ expected: FAIL
+
+ [get(resultingClientId) for document sandboxed by CSP header with allow-same-origin]
+ expected: FAIL
+
+ [global cleanup]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/clients-get.https.html.ini b/tests/wpt/meta/service-workers/service-worker/clients-get.https.html.ini
new file mode 100644
index 00000000000..df4410b85bd
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/clients-get.https.html.ini
@@ -0,0 +1,9 @@
+[clients-get.https.html]
+ [Test Clients.get()]
+ expected: FAIL
+
+ [Test successful Clients.get(FetchEvent.resultingClientId)]
+ expected: FAIL
+
+ [Test unsuccessful Clients.get(FetchEvent.resultingClientId)]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/clients-matchall-blob-url-worker.https.html.ini b/tests/wpt/meta/service-workers/service-worker/clients-matchall-blob-url-worker.https.html.ini
new file mode 100644
index 00000000000..e311b4a42a3
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/clients-matchall-blob-url-worker.https.html.ini
@@ -0,0 +1,6 @@
+[clients-matchall-blob-url-worker.https.html]
+ [Test Clients.matchAll() with a blob URL worker client.]
+ expected: FAIL
+
+ [Test Clients.matchAll() with an uncontrolled blob URL worker client.]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/clients-matchall-client-types.https.html.ini b/tests/wpt/meta/service-workers/service-worker/clients-matchall-client-types.https.html.ini
new file mode 100644
index 00000000000..ae433ef4df6
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/clients-matchall-client-types.https.html.ini
@@ -0,0 +1,6 @@
+[clients-matchall-client-types.https.html]
+ [Verify matchAll() with window client type]
+ expected: FAIL
+
+ [Verify matchAll() with {window, sharedworker, worker} client types]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/clients-matchall-exact-controller.https.html.ini b/tests/wpt/meta/service-workers/service-worker/clients-matchall-exact-controller.https.html.ini
new file mode 100644
index 00000000000..f9d0b681aaf
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/clients-matchall-exact-controller.https.html.ini
@@ -0,0 +1,3 @@
+[clients-matchall-exact-controller.https.html]
+ [Test Clients.matchAll() with exact controller]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/clients-matchall-frozen.https.html.ini b/tests/wpt/meta/service-workers/service-worker/clients-matchall-frozen.https.html.ini
new file mode 100644
index 00000000000..117ce75db9c
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/clients-matchall-frozen.https.html.ini
@@ -0,0 +1,3 @@
+[clients-matchall-frozen.https.html]
+ [Test Clients.matchAll()]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/clients-matchall-include-uncontrolled.https.html.ini b/tests/wpt/meta/service-workers/service-worker/clients-matchall-include-uncontrolled.https.html.ini
new file mode 100644
index 00000000000..c81a6c81cfa
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/clients-matchall-include-uncontrolled.https.html.ini
@@ -0,0 +1,6 @@
+[clients-matchall-include-uncontrolled.https.html]
+ [Verify matchAll() with windows respect includeUncontrolled]
+ expected: FAIL
+
+ [Verify matchAll() with shared workers respect includeUncontrolled]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/clients-matchall-on-evaluation.https.html.ini b/tests/wpt/meta/service-workers/service-worker/clients-matchall-on-evaluation.https.html.ini
new file mode 100644
index 00000000000..d41c7211a95
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/clients-matchall-on-evaluation.https.html.ini
@@ -0,0 +1,3 @@
+[clients-matchall-on-evaluation.https.html]
+ [Test Clients.matchAll() on script evaluation]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/clients-matchall-order.https.html.ini b/tests/wpt/meta/service-workers/service-worker/clients-matchall-order.https.html.ini
new file mode 100644
index 00000000000..787e4357e0e
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/clients-matchall-order.https.html.ini
@@ -0,0 +1,21 @@
+[clients-matchall-order.https.html]
+ [Clients.matchAll() returns non-focused controlled windows in creation order.]
+ expected: FAIL
+
+ [Clients.matchAll() returns controlled windows in focus order. Case 1.]
+ expected: FAIL
+
+ [Clients.matchAll() returns controlled windows in focus order. Case 2.]
+ expected: FAIL
+
+ [Clients.matchAll() returns non-focused uncontrolled windows in creation order.]
+ expected: FAIL
+
+ [Clients.matchAll() returns uncontrolled windows in focus order. Case 1.]
+ expected: FAIL
+
+ [Clients.matchAll() returns uncontrolled windows in focus order. Case 2.]
+ expected: FAIL
+
+ [Clients.matchAll() returns controlled windows and frames in focus order.]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/clients-matchall.https.html.ini b/tests/wpt/meta/service-workers/service-worker/clients-matchall.https.html.ini
new file mode 100644
index 00000000000..dd9aa18986c
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/clients-matchall.https.html.ini
@@ -0,0 +1,3 @@
+[clients-matchall.https.html]
+ [Test Clients.matchAll()]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/controlled-dedicatedworker-postMessage.https.html.ini b/tests/wpt/meta/service-workers/service-worker/controlled-dedicatedworker-postMessage.https.html.ini
new file mode 100644
index 00000000000..9e92d0f5373
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/controlled-dedicatedworker-postMessage.https.html.ini
@@ -0,0 +1,2 @@
+[controlled-dedicatedworker-postMessage.https.html]
+ expected: CRASH
diff --git a/tests/wpt/meta/service-workers/service-worker/controlled-iframe-postMessage.https.html.ini b/tests/wpt/meta/service-workers/service-worker/controlled-iframe-postMessage.https.html.ini
new file mode 100644
index 00000000000..25a0e780e48
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/controlled-iframe-postMessage.https.html.ini
@@ -0,0 +1,2 @@
+[controlled-iframe-postMessage.https.html]
+ expected: CRASH
diff --git a/tests/wpt/meta/service-workers/service-worker/controller-on-disconnect.https.html.ini b/tests/wpt/meta/service-workers/service-worker/controller-on-disconnect.https.html.ini
new file mode 100644
index 00000000000..7279ff354e4
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/controller-on-disconnect.https.html.ini
@@ -0,0 +1,3 @@
+[controller-on-disconnect.https.html]
+ [controller is cleared on disconnected window]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/controller-on-load.https.html.ini b/tests/wpt/meta/service-workers/service-worker/controller-on-load.https.html.ini
new file mode 100644
index 00000000000..5ae6a934c77
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/controller-on-load.https.html.ini
@@ -0,0 +1,3 @@
+[controller-on-load.https.html]
+ [controller is set for a controlled document]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/controller-on-reload.https.html.ini b/tests/wpt/meta/service-workers/service-worker/controller-on-reload.https.html.ini
new file mode 100644
index 00000000000..63568967b32
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/controller-on-reload.https.html.ini
@@ -0,0 +1,3 @@
+[controller-on-reload.https.html]
+ [controller is set upon reload after registration]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/controller-with-no-fetch-event-handler.https.html.ini b/tests/wpt/meta/service-workers/service-worker/controller-with-no-fetch-event-handler.https.html.ini
new file mode 100644
index 00000000000..fbd380632df
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/controller-with-no-fetch-event-handler.https.html.ini
@@ -0,0 +1,12 @@
+[controller-with-no-fetch-event-handler.https.html]
+ [global setup]
+ expected: FAIL
+
+ [cross-origin request, no-cors mode]
+ expected: FAIL
+
+ [cross-origin request, cors denied]
+ expected: FAIL
+
+ [cross-origin request, cors approved]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/credentials.https.html.ini b/tests/wpt/meta/service-workers/service-worker/credentials.https.html.ini
new file mode 100644
index 00000000000..e5e2f19e38c
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/credentials.https.html.ini
@@ -0,0 +1,12 @@
+[credentials.https.html]
+ [Main script should have credentials]
+ expected: FAIL
+
+ [Imported script should have credentials]
+ expected: FAIL
+
+ [Module with an imported statement should not have credentials]
+ expected: FAIL
+
+ [Script with service worker served as modules should not have credentials]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/data-iframe.html.ini b/tests/wpt/meta/service-workers/service-worker/data-iframe.html.ini
new file mode 100644
index 00000000000..7a1d457cf90
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/data-iframe.html.ini
@@ -0,0 +1,3 @@
+[data-iframe.html]
+ [navigator.serviceWorker is not available in a data: iframe]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/data-transfer-files.https.html.ini b/tests/wpt/meta/service-workers/service-worker/data-transfer-files.https.html.ini
new file mode 100644
index 00000000000..5f096f739a4
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/data-transfer-files.https.html.ini
@@ -0,0 +1,3 @@
+[data-transfer-files.https.html]
+ [Posting a File in a navigation handled by a service worker]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/dedicated-worker-service-worker-interception.https.html.ini b/tests/wpt/meta/service-workers/service-worker/dedicated-worker-service-worker-interception.https.html.ini
new file mode 100644
index 00000000000..cdea0ceb767
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/dedicated-worker-service-worker-interception.https.html.ini
@@ -0,0 +1,9 @@
+[dedicated-worker-service-worker-interception.https.html]
+ [Top-level module loading should be intercepted by a service worker.]
+ expected: FAIL
+
+ [Static import should be intercepted by a service worker.]
+ expected: FAIL
+
+ [Dynamic import should be intercepted by a service worker.]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/detached-context.https.html.ini b/tests/wpt/meta/service-workers/service-worker/detached-context.https.html.ini
new file mode 100644
index 00000000000..a00587ce5d6
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/detached-context.https.html.ini
@@ -0,0 +1,9 @@
+[detached-context.https.html]
+ [accessing a ServiceWorkerRegistration from a removed iframe]
+ expected: FAIL
+
+ [accessing a ServiceWorker object from a removed iframe]
+ expected: FAIL
+
+ [accessing navigator.serviceWorker on a detached iframe]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/detached-register-crash.https.html.ini b/tests/wpt/meta/service-workers/service-worker/detached-register-crash.https.html.ini
new file mode 100644
index 00000000000..bafd98b71e2
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/detached-register-crash.https.html.ini
@@ -0,0 +1,2 @@
+[detached-register-crash.https.html]
+ expected: CRASH
diff --git a/tests/wpt/meta/service-workers/service-worker/embed-and-object-are-not-intercepted.https.html.ini b/tests/wpt/meta/service-workers/service-worker/embed-and-object-are-not-intercepted.https.html.ini
new file mode 100644
index 00000000000..ea6b24124b2
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/embed-and-object-are-not-intercepted.https.html.ini
@@ -0,0 +1,22 @@
+[embed-and-object-are-not-intercepted.https.html]
+ expected: TIMEOUT
+ [initialize global state]
+ expected: FAIL
+
+ [requests for EMBED elements of embedded HTML content should not be intercepted by service workers]
+ expected: TIMEOUT
+
+ [requests for OBJECT elements of embedded HTML content should not be intercepted by service workers]
+ expected: NOTRUN
+
+ [requests for EMBED elements of an image should not be intercepted by service workers]
+ expected: NOTRUN
+
+ [requests for OBJECT elements of an image should not be intercepted by service workers]
+ expected: NOTRUN
+
+ [post-load navigation of OBJECT elements should not be intercepted by service workers]
+ expected: NOTRUN
+
+ [post-load navigation of EMBED elements should not be intercepted by service workers]
+ expected: NOTRUN
diff --git a/tests/wpt/meta/service-workers/service-worker/extendable-event-async-waituntil.https.html.ini b/tests/wpt/meta/service-workers/service-worker/extendable-event-async-waituntil.https.html.ini
new file mode 100644
index 00000000000..a83d60e7a62
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/extendable-event-async-waituntil.https.html.ini
@@ -0,0 +1,42 @@
+[extendable-event-async-waituntil.https.html]
+ [Test calling waitUntil in a task at the end of the event handler without an existing extension throws]
+ expected: FAIL
+
+ [Test calling waitUntil in a microtask at the end of the event handler without an existing extension suceeds]
+ expected: FAIL
+
+ [Test calling waitUntil in a different task an existing extension succeeds]
+ expected: FAIL
+
+ [Test calling waitUntil at the end of an existing extension promise handler succeeds (event is still being dispatched)]
+ expected: FAIL
+
+ [Test calling waitUntil in a microtask at the end of an existing extension promise handler succeeds (event is still being dispatched)]
+ expected: FAIL
+
+ [Test calling waitUntil in an existing extension promise handler succeeds (event is not being dispatched)]
+ expected: FAIL
+
+ [Test calling waitUntil in a microtask at the end of an existing extension promise handler throws (event is not being dispatched)]
+ expected: FAIL
+
+ [Test calling waitUntil after the current extension expired in a different task fails]
+ expected: FAIL
+
+ [Test calling waitUntil on a script constructed ExtendableEvent throws exception]
+ expected: FAIL
+
+ [Test calling waitUntil asynchronously with pending respondWith promise.]
+ expected: FAIL
+
+ [Test calling waitUntil synchronously inside microtask of respondWith promise (event is being dispatched).]
+ expected: FAIL
+
+ [Test calling waitUntil asynchronously inside microtask of respondWith promise (event is being dispatched).]
+ expected: FAIL
+
+ [Test calling waitUntil synchronously inside microtask of respondWith promise (event is not being dispatched).]
+ expected: FAIL
+
+ [Test calling waitUntil asynchronously inside microtask of respondWith promise (event is not being dispatched).]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/extendable-event-waituntil.https.html.ini b/tests/wpt/meta/service-workers/service-worker/extendable-event-waituntil.https.html.ini
new file mode 100644
index 00000000000..a3e94920e86
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/extendable-event-waituntil.https.html.ini
@@ -0,0 +1,18 @@
+[extendable-event-waituntil.https.html]
+ [Test install event waitUntil fulfilled]
+ expected: FAIL
+
+ [Test ExtendableEvent multiple waitUntil fulfilled.]
+ expected: FAIL
+
+ [Test ExtendableEvent waitUntil reject precedence.]
+ expected: FAIL
+
+ [Test activate event waitUntil fulfilled]
+ expected: FAIL
+
+ [Test install event waitUntil rejected]
+ expected: FAIL
+
+ [Test activate event waitUntil rejected.]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/fetch-audio-tainting.https.html.ini b/tests/wpt/meta/service-workers/service-worker/fetch-audio-tainting.https.html.ini
new file mode 100644
index 00000000000..6f25322e0c7
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/fetch-audio-tainting.https.html.ini
@@ -0,0 +1,3 @@
+[fetch-audio-tainting.https.html]
+ [Verify CORS XHR of fetch() in a Service Worker]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/fetch-canvas-tainting-double-write.https.html.ini b/tests/wpt/meta/service-workers/service-worker/fetch-canvas-tainting-double-write.https.html.ini
new file mode 100644
index 00000000000..4be893e1aa1
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/fetch-canvas-tainting-double-write.https.html.ini
@@ -0,0 +1,3 @@
+[fetch-canvas-tainting-double-write.https.html]
+ [canvas is tainted after writing both a non-opaque image and an opaque image from the same URL]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/fetch-canvas-tainting-image-cache.https.html.ini b/tests/wpt/meta/service-workers/service-worker/fetch-canvas-tainting-image-cache.https.html.ini
new file mode 100644
index 00000000000..743bf1ac0d0
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/fetch-canvas-tainting-image-cache.https.html.ini
@@ -0,0 +1,117 @@
+[fetch-canvas-tainting-image-cache.https.html]
+ [initialize global state]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&reject" with crossOrigin "" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&reject" with crossOrigin "anonymous" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&reject" with crossOrigin "use-credentials" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&ignore" with crossOrigin "" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&ignore" with crossOrigin "" should be TAINTED]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&ignore" with crossOrigin "anonymous" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&ACAOrigin=https://web-platform.test:8443&ignore" with crossOrigin "anonymous" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&ignore" with crossOrigin "use-credentials" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&ACAOrigin=https://web-platform.test:8443&ignore" with crossOrigin "use-credentials" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&ACAOrigin=https://web-platform.test:8443&ACACredentials=true&ignore" with crossOrigin "use-credentials" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&Auth&ignore" with crossOrigin "" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&Auth&ignore" with crossOrigin "" should be TAINTED]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&Auth&ignore" with crossOrigin "anonymous" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&Auth&ignore" with crossOrigin "use-credentials" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&Auth&ACAOrigin=https://web-platform.test:8443&ignore" with crossOrigin "use-credentials" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&Auth&ACAOrigin=https://web-platform.test:8443&ACACredentials=true&ignore" with crossOrigin "use-credentials" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&mode=same-origin&url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26cache%3Dtrue" with crossOrigin "" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&mode=same-origin&url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26cache%3Dtrue" with crossOrigin "anonymous" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&mode=same-origin&url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26cache%3Dtrue" with crossOrigin "use-credentials" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&mode=same-origin&url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26cache%3Dtrue" with crossOrigin "" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&mode=same-origin&url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26cache%3Dtrue" with crossOrigin "anonymous" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&mode=same-origin&url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26cache%3Dtrue" with crossOrigin "use-credentials" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&mode=no-cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26cache%3Dtrue" with crossOrigin "" should be TAINTED]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&mode=no-cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26cache%3Dtrue" with crossOrigin "anonymous" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&mode=no-cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26cache%3Dtrue" with crossOrigin "use-credentials" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&mode=no-cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26cache%3Dtrue" with crossOrigin "" should be TAINTED]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&mode=no-cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26cache%3Dtrue" with crossOrigin "anonymous" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&mode=no-cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26cache%3Dtrue" with crossOrigin "use-credentials" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&mode=cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26cache%3Dtrue%26ACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443" with crossOrigin "" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&mode=cors&credentials=same-origin&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26cache%3Dtrue%26ACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443" with crossOrigin "" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&mode=cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26cache%3Dtrue%26ACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443" with crossOrigin "anonymous" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&mode=cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26cache%3Dtrue%26ACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443" with crossOrigin "use-credentials" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&mode=cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26cache%3Dtrue%26ACACredentials%3Dtrue%26ACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443" with crossOrigin "use-credentials" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&mode=cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26cache%3Dtrue%26ACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443" with crossOrigin "" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&mode=cors&credentials=same-origin&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26cache%3Dtrue%26ACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443" with crossOrigin "" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&mode=cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26cache%3Dtrue%26ACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443" with crossOrigin "anonymous" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&mode=cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26cache%3Dtrue%26ACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443" with crossOrigin "use-credentials" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&mode=cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26cache%3Dtrue%26ACACredentials%3Dtrue%26ACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443" with crossOrigin "use-credentials" should be NOT_TAINTED]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/fetch-canvas-tainting-image.https.html.ini b/tests/wpt/meta/service-workers/service-worker/fetch-canvas-tainting-image.https.html.ini
new file mode 100644
index 00000000000..74da303b974
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/fetch-canvas-tainting-image.https.html.ini
@@ -0,0 +1,117 @@
+[fetch-canvas-tainting-image.https.html]
+ [initialize global state]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&reject" with crossOrigin "" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&reject" with crossOrigin "anonymous" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&reject" with crossOrigin "use-credentials" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&ignore" with crossOrigin "" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&ignore" with crossOrigin "" should be TAINTED]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&ignore" with crossOrigin "anonymous" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&ACAOrigin=https://web-platform.test:8443&ignore" with crossOrigin "anonymous" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&ignore" with crossOrigin "use-credentials" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&ACAOrigin=https://web-platform.test:8443&ignore" with crossOrigin "use-credentials" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&ACAOrigin=https://web-platform.test:8443&ACACredentials=true&ignore" with crossOrigin "use-credentials" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&Auth&ignore" with crossOrigin "" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&Auth&ignore" with crossOrigin "" should be TAINTED]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&Auth&ignore" with crossOrigin "anonymous" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&Auth&ignore" with crossOrigin "use-credentials" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&Auth&ACAOrigin=https://web-platform.test:8443&ignore" with crossOrigin "use-credentials" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&Auth&ACAOrigin=https://web-platform.test:8443&ACACredentials=true&ignore" with crossOrigin "use-credentials" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&mode=same-origin&url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE" with crossOrigin "" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&mode=same-origin&url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE" with crossOrigin "anonymous" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&mode=same-origin&url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE" with crossOrigin "use-credentials" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&mode=same-origin&url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE" with crossOrigin "" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&mode=same-origin&url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE" with crossOrigin "anonymous" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&mode=same-origin&url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE" with crossOrigin "use-credentials" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&mode=no-cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE" with crossOrigin "" should be TAINTED]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&mode=no-cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE" with crossOrigin "anonymous" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&mode=no-cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE" with crossOrigin "use-credentials" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&mode=no-cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE" with crossOrigin "" should be TAINTED]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&mode=no-cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE" with crossOrigin "anonymous" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&mode=no-cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE" with crossOrigin "use-credentials" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&mode=cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26ACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443" with crossOrigin "" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&mode=cors&credentials=same-origin&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26ACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443" with crossOrigin "" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&mode=cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26ACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443" with crossOrigin "anonymous" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&mode=cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26ACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443" with crossOrigin "use-credentials" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&mode=cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26ACACredentials%3Dtrue%26ACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443" with crossOrigin "use-credentials" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&mode=cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26ACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443" with crossOrigin "" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&mode=cors&credentials=same-origin&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26ACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443" with crossOrigin "" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&mode=cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26ACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443" with crossOrigin "anonymous" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&mode=cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26ACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443" with crossOrigin "use-credentials" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&mode=cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26ACACredentials%3Dtrue%26ACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443" with crossOrigin "use-credentials" should be NOT_TAINTED]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/fetch-canvas-tainting-video-cache.https.html.ini b/tests/wpt/meta/service-workers/service-worker/fetch-canvas-tainting-video-cache.https.html.ini
new file mode 100644
index 00000000000..fab602fbc5a
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/fetch-canvas-tainting-video-cache.https.html.ini
@@ -0,0 +1,117 @@
+[fetch-canvas-tainting-video-cache.https.html]
+ [initialize global state]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&reject" with crossOrigin "" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&reject" with crossOrigin "anonymous" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&reject" with crossOrigin "use-credentials" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&ignore" with crossOrigin "" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&ignore" with crossOrigin "" should be TAINTED]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&ignore" with crossOrigin "anonymous" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&ACAOrigin=https://web-platform.test:8443&ignore" with crossOrigin "anonymous" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&ignore" with crossOrigin "use-credentials" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&ACAOrigin=https://web-platform.test:8443&ignore" with crossOrigin "use-credentials" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&ACAOrigin=https://web-platform.test:8443&ACACredentials=true&ignore" with crossOrigin "use-credentials" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&Auth&ignore" with crossOrigin "" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&Auth&ignore" with crossOrigin "" should be TAINTED]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&Auth&ignore" with crossOrigin "anonymous" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&Auth&ignore" with crossOrigin "use-credentials" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&Auth&ACAOrigin=https://web-platform.test:8443&ignore" with crossOrigin "use-credentials" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&Auth&ACAOrigin=https://web-platform.test:8443&ACACredentials=true&ignore" with crossOrigin "use-credentials" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&mode=same-origin&url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26cache%3Dtrue" with crossOrigin "" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&mode=same-origin&url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26cache%3Dtrue" with crossOrigin "anonymous" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&mode=same-origin&url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26cache%3Dtrue" with crossOrigin "use-credentials" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&mode=same-origin&url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26cache%3Dtrue" with crossOrigin "" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&mode=same-origin&url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26cache%3Dtrue" with crossOrigin "anonymous" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&mode=same-origin&url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26cache%3Dtrue" with crossOrigin "use-credentials" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&mode=no-cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26cache%3Dtrue" with crossOrigin "" should be TAINTED]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&mode=no-cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26cache%3Dtrue" with crossOrigin "anonymous" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&mode=no-cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26cache%3Dtrue" with crossOrigin "use-credentials" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&mode=no-cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26cache%3Dtrue" with crossOrigin "" should be TAINTED]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&mode=no-cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26cache%3Dtrue" with crossOrigin "anonymous" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&mode=no-cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26cache%3Dtrue" with crossOrigin "use-credentials" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&mode=cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26cache%3Dtrue%26ACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443" with crossOrigin "" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&mode=cors&credentials=same-origin&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26cache%3Dtrue%26ACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443" with crossOrigin "" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&mode=cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26cache%3Dtrue%26ACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443" with crossOrigin "anonymous" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&mode=cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26cache%3Dtrue%26ACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443" with crossOrigin "use-credentials" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&mode=cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26cache%3Dtrue%26ACACredentials%3Dtrue%26ACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443" with crossOrigin "use-credentials" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&mode=cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26cache%3Dtrue%26ACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443" with crossOrigin "" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&mode=cors&credentials=same-origin&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26cache%3Dtrue%26ACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443" with crossOrigin "" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&mode=cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26cache%3Dtrue%26ACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443" with crossOrigin "anonymous" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&mode=cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26cache%3Dtrue%26ACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443" with crossOrigin "use-credentials" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&mode=cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26cache%3Dtrue%26ACACredentials%3Dtrue%26ACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443" with crossOrigin "use-credentials" should be NOT_TAINTED]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/fetch-canvas-tainting-video-with-range-request.https.html.ini b/tests/wpt/meta/service-workers/service-worker/fetch-canvas-tainting-video-with-range-request.https.html.ini
new file mode 100644
index 00000000000..eb9718f4ac9
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/fetch-canvas-tainting-video-with-range-request.https.html.ini
@@ -0,0 +1,15 @@
+[fetch-canvas-tainting-video-with-range-request.https.html]
+ [range responses from single origin (same-origin)]
+ expected: FAIL
+
+ [range responses from multiple origins (cross-origin first)]
+ expected: FAIL
+
+ [range responses from single origin with both opaque and non-opaque responses]
+ expected: FAIL
+
+ [synth and same-origin fallback range responses]
+ expected: FAIL
+
+ [synth and cross-origin fallback range responses]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/fetch-canvas-tainting-video.https.html.ini b/tests/wpt/meta/service-workers/service-worker/fetch-canvas-tainting-video.https.html.ini
new file mode 100644
index 00000000000..d59b78391fb
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/fetch-canvas-tainting-video.https.html.ini
@@ -0,0 +1,117 @@
+[fetch-canvas-tainting-video.https.html]
+ [initialize global state]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&reject" with crossOrigin "" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&reject" with crossOrigin "anonymous" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&reject" with crossOrigin "use-credentials" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&ignore" with crossOrigin "" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&ignore" with crossOrigin "" should be TAINTED]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&ignore" with crossOrigin "anonymous" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&ACAOrigin=https://web-platform.test:8443&ignore" with crossOrigin "anonymous" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&ignore" with crossOrigin "use-credentials" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&ACAOrigin=https://web-platform.test:8443&ignore" with crossOrigin "use-credentials" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&ACAOrigin=https://web-platform.test:8443&ACACredentials=true&ignore" with crossOrigin "use-credentials" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&Auth&ignore" with crossOrigin "" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&Auth&ignore" with crossOrigin "" should be TAINTED]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&Auth&ignore" with crossOrigin "anonymous" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&Auth&ignore" with crossOrigin "use-credentials" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&Auth&ACAOrigin=https://web-platform.test:8443&ignore" with crossOrigin "use-credentials" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&Auth&ACAOrigin=https://web-platform.test:8443&ACACredentials=true&ignore" with crossOrigin "use-credentials" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&mode=same-origin&url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO" with crossOrigin "" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&mode=same-origin&url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO" with crossOrigin "anonymous" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&mode=same-origin&url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO" with crossOrigin "use-credentials" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&mode=same-origin&url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO" with crossOrigin "" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&mode=same-origin&url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO" with crossOrigin "anonymous" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&mode=same-origin&url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO" with crossOrigin "use-credentials" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&mode=no-cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO" with crossOrigin "" should be TAINTED]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&mode=no-cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO" with crossOrigin "anonymous" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&mode=no-cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO" with crossOrigin "use-credentials" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&mode=no-cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO" with crossOrigin "" should be TAINTED]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&mode=no-cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO" with crossOrigin "anonymous" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&mode=no-cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO" with crossOrigin "use-credentials" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&mode=cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26ACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443" with crossOrigin "" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&mode=cors&credentials=same-origin&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26ACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443" with crossOrigin "" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&mode=cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26ACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443" with crossOrigin "anonymous" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&mode=cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26ACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443" with crossOrigin "use-credentials" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&mode=cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26ACACredentials%3Dtrue%26ACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443" with crossOrigin "use-credentials" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&mode=cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26ACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443" with crossOrigin "" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&mode=cors&credentials=same-origin&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26ACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443" with crossOrigin "" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&mode=cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26ACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443" with crossOrigin "anonymous" should be NOT_TAINTED]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&mode=cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26ACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443" with crossOrigin "use-credentials" should be LOAD_ERROR]
+ expected: FAIL
+
+ [url "https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&mode=cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26ACACredentials%3Dtrue%26ACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443" with crossOrigin "use-credentials" should be NOT_TAINTED]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/fetch-cors-exposed-header-names.https.html.ini b/tests/wpt/meta/service-workers/service-worker/fetch-cors-exposed-header-names.https.html.ini
new file mode 100644
index 00000000000..df77ba60ff9
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/fetch-cors-exposed-header-names.https.html.ini
@@ -0,0 +1,3 @@
+[fetch-cors-exposed-header-names.https.html]
+ [CORS-exposed header names for a response from sw]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/fetch-cors-xhr.https.html.ini b/tests/wpt/meta/service-workers/service-worker/fetch-cors-xhr.https.html.ini
new file mode 100644
index 00000000000..eddbc72d0c2
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/fetch-cors-xhr.https.html.ini
@@ -0,0 +1,3 @@
+[fetch-cors-xhr.https.html]
+ [Verify CORS XHR of fetch() in a Service Worker]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/fetch-csp.https.html.ini b/tests/wpt/meta/service-workers/service-worker/fetch-csp.https.html.ini
new file mode 100644
index 00000000000..8932333f280
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/fetch-csp.https.html.ini
@@ -0,0 +1,3 @@
+[fetch-csp.https.html]
+ [Verify CSP control of fetch() in a Service Worker]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/fetch-error.https.html.ini b/tests/wpt/meta/service-workers/service-worker/fetch-error.https.html.ini
new file mode 100644
index 00000000000..d154260c399
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/fetch-error.https.html.ini
@@ -0,0 +1,6 @@
+[fetch-error.https.html]
+ [Setup service worker]
+ expected: FAIL
+
+ [Make sure a load that makes progress does not time out]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/fetch-event-add-async.https.html.ini b/tests/wpt/meta/service-workers/service-worker/fetch-event-add-async.https.html.ini
new file mode 100644
index 00000000000..4907c8af2cf
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/fetch-event-add-async.https.html.ini
@@ -0,0 +1,3 @@
+[fetch-event-add-async.https.html]
+ [Service Worker: Fetch event added asynchronously doesn't throw]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/fetch-event-after-navigation-within-page.https.html.ini b/tests/wpt/meta/service-workers/service-worker/fetch-event-after-navigation-within-page.https.html.ini
new file mode 100644
index 00000000000..fac62626fbc
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/fetch-event-after-navigation-within-page.https.html.ini
@@ -0,0 +1,6 @@
+[fetch-event-after-navigation-within-page.https.html]
+ [Service Worker should respond to fetch event after the hash changes]
+ expected: FAIL
+
+ [Service Worker should respond to fetch event after the pushState]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/fetch-event-async-respond-with.https.html.ini b/tests/wpt/meta/service-workers/service-worker/fetch-event-async-respond-with.https.html.ini
new file mode 100644
index 00000000000..838a0a8b668
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/fetch-event-async-respond-with.https.html.ini
@@ -0,0 +1,12 @@
+[fetch-event-async-respond-with.https.html]
+ [global setup]
+ expected: FAIL
+
+ [respondWith in a task throws InvalidStateError]
+ expected: FAIL
+
+ [respondWith in a microtask does not throw]
+ expected: FAIL
+
+ [global cleanup]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/fetch-event-handled.https.html.ini b/tests/wpt/meta/service-workers/service-worker/fetch-event-handled.https.html.ini
new file mode 100644
index 00000000000..0103fdc0899
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/fetch-event-handled.https.html.ini
@@ -0,0 +1,25 @@
+[fetch-event-handled.https.html]
+ expected: ERROR
+ [global setup]
+ expected: FAIL
+
+ [FetchEvent.handled should resolve when respondWith() is not called for a navigation request]
+ expected: TIMEOUT
+
+ [FetchEvent.handled should resolve when respondWith() is not called for a sub-resource request]
+ expected: NOTRUN
+
+ [FetchEvent.handled should reject when respondWith() is not called and the event is canceled]
+ expected: NOTRUN
+
+ [FetchEvent.handled should resolve when the promise provided to respondWith() is resolved]
+ expected: NOTRUN
+
+ [FetchEvent.handled should reject when the promise provided to respondWith() is resolved to an invalid response]
+ expected: NOTRUN
+
+ [FetchEvent.handled should reject when the promise provided to respondWith() is rejected]
+ expected: NOTRUN
+
+ [global cleanup]
+ expected: NOTRUN
diff --git a/tests/wpt/meta/service-workers/service-worker/fetch-event-network-error.https.html.ini b/tests/wpt/meta/service-workers/service-worker/fetch-event-network-error.https.html.ini
new file mode 100644
index 00000000000..e7c42a7e73f
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/fetch-event-network-error.https.html.ini
@@ -0,0 +1,3 @@
+[fetch-event-network-error.https.html]
+ [Rejecting the fetch event or using preventDefault() causes a network error]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/fetch-event-redirect.https.html.ini b/tests/wpt/meta/service-workers/service-worker/fetch-event-redirect.https.html.ini
new file mode 100644
index 00000000000..3e770762713
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/fetch-event-redirect.https.html.ini
@@ -0,0 +1,165 @@
+[fetch-event-redirect.https.html]
+ [initialize global state]
+ expected: FAIL
+
+ [Non-navigation, manual redirect, cors mode Request redirected to same-origin without credentials should succeed opaqueredirect interception and response should not be redirected]
+ expected: FAIL
+
+ [Non-navigation, manual redirect, cors mode Request redirected to no-cors without credentials should succeed opaqueredirect interception and response should not be redirected]
+ expected: FAIL
+
+ [Non-navigation, manual redirect, cors mode Request redirected to cors without credentials should succeed opaqueredirect interception and response should not be redirected]
+ expected: FAIL
+
+ [Non-navigation, manual redirect, same-origin mode Request redirected to same-origin without credentials should succeed opaqueredirect interception and response should not be redirected]
+ expected: FAIL
+
+ [Non-navigation, manual redirect, same-origin mode Request redirected to no-cors without credentials should succeed opaqueredirect interception and response should not be redirected]
+ expected: FAIL
+
+ [Non-navigation, manual redirect, same-origin mode Request redirected to cors without credentials should succeed opaqueredirect interception and response should not be redirected]
+ expected: FAIL
+
+ [Non-navigation, manual redirect, no-cors mode Request redirected to same-origin without credentials should succeed opaqueredirect interception and response should not be redirected]
+ expected: FAIL
+
+ [Non-navigation, manual redirect, no-cors mode Request redirected to no-cors without credentials should succeed opaqueredirect interception and response should not be redirected]
+ expected: FAIL
+
+ [Non-navigation, manual redirect, no-cors mode Request redirected to cors without credentials should succeed opaqueredirect interception and response should not be redirected]
+ expected: FAIL
+
+ [Non-navigation, manual redirect, cors mode Request redirected to same-origin with credentials should succeed opaqueredirect interception and response should not be redirected]
+ expected: FAIL
+
+ [Non-navigation, manual redirect, cors mode Request redirected to no-cors with credentials should succeed opaqueredirect interception and response should not be redirected]
+ expected: FAIL
+
+ [Non-navigation, manual redirect, cors mode Request redirected to cors with credentials should succeed opaqueredirect interception and response should not be redirected]
+ expected: FAIL
+
+ [Non-navigation, manual redirect, same-origin mode Request redirected to same-origin with credentials should succeed opaqueredirect interception and response should not be redirected]
+ expected: FAIL
+
+ [Non-navigation, manual redirect, same-origin mode Request redirected to no-cors with credentials should succeed opaqueredirect interception and response should not be redirected]
+ expected: FAIL
+
+ [Non-navigation, manual redirect, same-origin mode Request redirected to cors with credentials should succeed opaqueredirect interception and response should not be redirected]
+ expected: FAIL
+
+ [Non-navigation, manual redirect, no-cors mode Request redirected to same-origin with credentials should succeed opaqueredirect interception and response should not be redirected]
+ expected: FAIL
+
+ [Non-navigation, manual redirect, no-cors mode Request redirected to no-cors with credentials should succeed opaqueredirect interception and response should not be redirected]
+ expected: FAIL
+
+ [Non-navigation, manual redirect, no-cors mode Request redirected to cors with credentials should succeed opaqueredirect interception and response should not be redirected]
+ expected: FAIL
+
+ [Non-navigation, follow redirect, cors mode Request redirected to same-origin without credentials should succeed interception and response should be redirected]
+ expected: FAIL
+
+ [Non-navigation, follow redirect, cors mode Request redirected to no-cors without credentials should fail interception and response should not be redirected]
+ expected: FAIL
+
+ [Non-navigation, follow redirect, cors mode Request redirected to cors without credentials should succeed interception and response should be redirected]
+ expected: FAIL
+
+ [Non-navigation, follow redirect, same-origin mode Request redirected to same-origin without credentials should succeed interception and response should be redirected]
+ expected: FAIL
+
+ [Non-navigation, follow redirect, same-origin mode Request redirected to no-cors without credentials should fail interception and response should not be redirected]
+ expected: FAIL
+
+ [Non-navigation, follow redirect, same-origin mode Request redirected to cors without credentials should fail interception and response should not be redirected]
+ expected: FAIL
+
+ [Non-navigation, follow redirect, no-cors mode Request redirected to same-origin without credentials should succeed interception and response should be redirected]
+ expected: FAIL
+
+ [Non-navigation, follow redirect, no-cors mode Request redirected to no-cors without credentials should succeed interception and response should not be redirected]
+ expected: FAIL
+
+ [Non-navigation, follow redirect, no-cors mode Request redirected to cors without credentials should succeed interception and response should not be redirected]
+ expected: FAIL
+
+ [Non-navigation, follow redirect, cors mode Request redirected to same-origin with credentials should succeed interception and response should be redirected]
+ expected: FAIL
+
+ [Non-navigation, follow redirect, cors mode Request redirected to no-cors with credentials should fail interception and response should not be redirected]
+ expected: FAIL
+
+ [Non-navigation, follow redirect, cors mode Request redirected to cors with credentials should fail interception and response should be redirected]
+ expected: FAIL
+
+ [Non-navigation, follow redirect, same-origin mode Request redirected to same-origin with credentials should succeed interception and response should be redirected]
+ expected: FAIL
+
+ [Non-navigation, follow redirect, same-origin mode Request redirected to no-cors with credentials should fail interception and response should not be redirected]
+ expected: FAIL
+
+ [Non-navigation, follow redirect, same-origin mode Request redirected to cors with credentials should fail interception and response should not be redirected]
+ expected: FAIL
+
+ [Non-navigation, follow redirect, no-cors mode Request redirected to same-origin with credentials should succeed interception and response should be redirected]
+ expected: FAIL
+
+ [Non-navigation, follow redirect, no-cors mode Request redirected to no-cors with credentials should succeed interception and response should not be redirected]
+ expected: FAIL
+
+ [Non-navigation, follow redirect, no-cors mode Request redirected to cors with credentials should succeed interception and response should not be redirected]
+ expected: FAIL
+
+ [Non-navigation, error redirect, cors mode Request redirected to same-origin without credentials should fail interception and response should not be redirected]
+ expected: FAIL
+
+ [Non-navigation, error redirect, cors mode Request redirected to no-cors without credentials should fail interception and response should not be redirected]
+ expected: FAIL
+
+ [Non-navigation, error redirect, cors mode Request redirected to cors without credentials should fail interception and response should not be redirected]
+ expected: FAIL
+
+ [Non-navigation, error redirect, same-origin mode Request redirected to same-origin without credentials should fail interception and response should not be redirected]
+ expected: FAIL
+
+ [Non-navigation, error redirect, same-origin mode Request redirected to no-cors without credentials should fail interception and response should not be redirected]
+ expected: FAIL
+
+ [Non-navigation, error redirect, same-origin mode Request redirected to cors without credentials should fail interception and response should not be redirected]
+ expected: FAIL
+
+ [Non-navigation, error redirect, no-cors mode Request redirected to same-origin without credentials should fail interception and response should not be redirected]
+ expected: FAIL
+
+ [Non-navigation, error redirect, no-cors mode Request redirected to no-cors without credentials should fail interception and response should not be redirected]
+ expected: FAIL
+
+ [Non-navigation, error redirect, no-cors mode Request redirected to cors without credentials should fail interception and response should not be redirected]
+ expected: FAIL
+
+ [Non-navigation, error redirect, cors mode Request redirected to same-origin with credentials should fail interception and response should not be redirected]
+ expected: FAIL
+
+ [Non-navigation, error redirect, cors mode Request redirected to no-cors with credentials should fail interception and response should not be redirected]
+ expected: FAIL
+
+ [Non-navigation, error redirect, cors mode Request redirected to cors with credentials should fail interception and response should not be redirected]
+ expected: FAIL
+
+ [Non-navigation, error redirect, same-origin mode Request redirected to same-origin with credentials should fail interception and response should not be redirected]
+ expected: FAIL
+
+ [Non-navigation, error redirect, same-origin mode Request redirected to no-cors with credentials should fail interception and response should not be redirected]
+ expected: FAIL
+
+ [Non-navigation, error redirect, same-origin mode Request redirected to cors with credentials should fail interception and response should not be redirected]
+ expected: FAIL
+
+ [Non-navigation, error redirect, no-cors mode Request redirected to same-origin with credentials should fail interception and response should not be redirected]
+ expected: FAIL
+
+ [Non-navigation, error redirect, no-cors mode Request redirected to no-cors with credentials should fail interception and response should not be redirected]
+ expected: FAIL
+
+ [Non-navigation, error redirect, no-cors mode Request redirected to cors with credentials should fail interception and response should not be redirected]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/fetch-event-referrer-policy.https.html.ini b/tests/wpt/meta/service-workers/service-worker/fetch-event-referrer-policy.https.html.ini
new file mode 100644
index 00000000000..24eddd92b60
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/fetch-event-referrer-policy.https.html.ini
@@ -0,0 +1,3 @@
+[fetch-event-referrer-policy.https.html]
+ [Service Worker responds to fetch event with the referrer policy]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/fetch-event-respond-with-argument.https.html.ini b/tests/wpt/meta/service-workers/service-worker/fetch-event-respond-with-argument.https.html.ini
new file mode 100644
index 00000000000..e024ad87564
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/fetch-event-respond-with-argument.https.html.ini
@@ -0,0 +1,3 @@
+[fetch-event-respond-with-argument.https.html]
+ [respondWith() takes either a Response or a promise that resolves with a Response. Other values should raise a network error.]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/fetch-event-respond-with-body-loaded-in-chunk.https.html.ini b/tests/wpt/meta/service-workers/service-worker/fetch-event-respond-with-body-loaded-in-chunk.https.html.ini
new file mode 100644
index 00000000000..b157f0ab27f
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/fetch-event-respond-with-body-loaded-in-chunk.https.html.ini
@@ -0,0 +1,3 @@
+[fetch-event-respond-with-body-loaded-in-chunk.https.html]
+ [Respond by chunks with a Response being loaded]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/fetch-event-respond-with-custom-response.https.html.ini b/tests/wpt/meta/service-workers/service-worker/fetch-event-respond-with-custom-response.https.html.ini
new file mode 100644
index 00000000000..9d69f04f777
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/fetch-event-respond-with-custom-response.https.html.ini
@@ -0,0 +1,33 @@
+[fetch-event-respond-with-custom-response.https.html]
+ [Subresource built from a string]
+ expected: FAIL
+
+ [Subresource built from a blob]
+ expected: FAIL
+
+ [Subresource built from a buffer]
+ expected: FAIL
+
+ [Subresource built from a buffer-view]
+ expected: FAIL
+
+ [Subresource built from form-data]
+ expected: FAIL
+
+ [Subresource built from search-params]
+ expected: FAIL
+
+ [Navigation resource built from a string]
+ expected: FAIL
+
+ [Navigation resource built from a blob]
+ expected: FAIL
+
+ [Navigation resource built from a buffer]
+ expected: FAIL
+
+ [Navigation resource built from a buffer-view]
+ expected: FAIL
+
+ [Navigation resource built from search-params]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/fetch-event-respond-with-partial-stream.https.html.ini b/tests/wpt/meta/service-workers/service-worker/fetch-event-respond-with-partial-stream.https.html.ini
new file mode 100644
index 00000000000..80bdc1cfaa6
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/fetch-event-respond-with-partial-stream.https.html.ini
@@ -0,0 +1,3 @@
+[fetch-event-respond-with-partial-stream.https.html]
+ [respondWith() streams data to an intercepted fetch()]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/fetch-event-respond-with-readable-stream-chunk.https.html.ini b/tests/wpt/meta/service-workers/service-worker/fetch-event-respond-with-readable-stream-chunk.https.html.ini
new file mode 100644
index 00000000000..5d49d4a76ba
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/fetch-event-respond-with-readable-stream-chunk.https.html.ini
@@ -0,0 +1,3 @@
+[fetch-event-respond-with-readable-stream-chunk.https.html]
+ [Respond by chunks with a Response built from a ReadableStream]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/fetch-event-respond-with-readable-stream.https.html.ini b/tests/wpt/meta/service-workers/service-worker/fetch-event-respond-with-readable-stream.https.html.ini
new file mode 100644
index 00000000000..2550adcb06f
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/fetch-event-respond-with-readable-stream.https.html.ini
@@ -0,0 +1,30 @@
+[fetch-event-respond-with-readable-stream.https.html]
+ [Subresource built from a ReadableStream]
+ expected: FAIL
+
+ [Main resource built from a ReadableStream]
+ expected: FAIL
+
+ [Subresource built from a ReadableStream - delayed]
+ expected: FAIL
+
+ [Main resource built from a ReadableStream - delayed]
+ expected: FAIL
+
+ [Subresource built from a ReadableStream - fetch stream]
+ expected: FAIL
+
+ [Main resource built from a ReadableStream - fetch stream]
+ expected: FAIL
+
+ [Cancellation in the page should be observable in the service worker with nonempty stream]
+ expected: FAIL
+
+ [Abort in the page should be observable in the service worker with nonempty stream]
+ expected: FAIL
+
+ [Cancellation in the page should be observable in the service worker with empty stream]
+ expected: FAIL
+
+ [Abort in the page should be observable in the service worker with empty stream]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/fetch-event-respond-with-response-body-with-invalid-chunk.https.html.ini b/tests/wpt/meta/service-workers/service-worker/fetch-event-respond-with-response-body-with-invalid-chunk.https.html.ini
new file mode 100644
index 00000000000..cef31303880
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/fetch-event-respond-with-response-body-with-invalid-chunk.https.html.ini
@@ -0,0 +1,3 @@
+[fetch-event-respond-with-response-body-with-invalid-chunk.https.html]
+ [Response with a ReadableStream having non-Uint8Array chunks should be transferred as errored]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/fetch-event-respond-with-stops-propagation.https.html.ini b/tests/wpt/meta/service-workers/service-worker/fetch-event-respond-with-stops-propagation.https.html.ini
new file mode 100644
index 00000000000..6150509ab1c
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/fetch-event-respond-with-stops-propagation.https.html.ini
@@ -0,0 +1,3 @@
+[fetch-event-respond-with-stops-propagation.https.html]
+ [respondWith() invokes stopImmediatePropagation()]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/fetch-event-throws-after-respond-with.https.html.ini b/tests/wpt/meta/service-workers/service-worker/fetch-event-throws-after-respond-with.https.html.ini
new file mode 100644
index 00000000000..c4b8cd66f68
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/fetch-event-throws-after-respond-with.https.html.ini
@@ -0,0 +1,3 @@
+[fetch-event-throws-after-respond-with.https.html]
+ [Fetch event handler throws after a successful respondWith()]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/fetch-event-within-sw.https.html.ini b/tests/wpt/meta/service-workers/service-worker/fetch-event-within-sw.https.html.ini
new file mode 100644
index 00000000000..108edb57111
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/fetch-event-within-sw.https.html.ini
@@ -0,0 +1,2 @@
+[fetch-event-within-sw.https.html]
+ expected: CRASH
diff --git a/tests/wpt/meta/service-workers/service-worker/fetch-event.https.h2.html.ini b/tests/wpt/meta/service-workers/service-worker/fetch-event.https.h2.html.ini
new file mode 100644
index 00000000000..e1b6f552679
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/fetch-event.https.h2.html.ini
@@ -0,0 +1,15 @@
+[fetch-event.https.h2.html]
+ [global setup]
+ expected: FAIL
+
+ [The streaming request body is readable in the service worker.]
+ expected: FAIL
+
+ [Network fallback for streaming upload.]
+ expected: FAIL
+
+ [When the streaming request body is used, network fallback fails.]
+ expected: FAIL
+
+ [Running clone() in the service worker does not prevent network fallback.]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/fetch-event.https.html.ini b/tests/wpt/meta/service-workers/service-worker/fetch-event.https.html.ini
new file mode 100644
index 00000000000..672ebb8f5e8
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/fetch-event.https.html.ini
@@ -0,0 +1,105 @@
+[fetch-event.https.html]
+ [global setup]
+ expected: FAIL
+
+ [Service Worker headers in the request of a fetch event]
+ expected: FAIL
+
+ [Service Worker responds to fetch event with string]
+ expected: FAIL
+
+ [Service Worker responds to fetch event using request fragment with string]
+ expected: FAIL
+
+ [Service Worker responds to fetch event with blob body]
+ expected: FAIL
+
+ [Service Worker responds to fetch event with the referrer URL]
+ expected: FAIL
+
+ [Service Worker responds to fetch event with an existing client id]
+ expected: FAIL
+
+ [Service Worker responds to fetch event with the correct resulting client id]
+ expected: FAIL
+
+ [Service Worker responds to fetch event with null response body]
+ expected: FAIL
+
+ [Service Worker fetches other file in fetch event]
+ expected: FAIL
+
+ [Service Worker responds to fetch event with POST form]
+ expected: FAIL
+
+ [Service Worker falls back to network in fetch event with POST form]
+ expected: FAIL
+
+ [Multiple calls of respondWith must throw InvalidStateErrors]
+ expected: FAIL
+
+ [Service Worker event.respondWith must set the used flag]
+ expected: FAIL
+
+ [Service Worker should expose FetchEvent URL fragments.]
+ expected: FAIL
+
+ [Service Worker responds to fetch event with the correct cache types]
+ expected: FAIL
+
+ [Service Worker should intercept EventSource]
+ expected: FAIL
+
+ [Service Worker responds to fetch event with the correct integrity_metadata]
+ expected: FAIL
+
+ [FetchEvent#body is a string]
+ expected: FAIL
+
+ [FetchEvent#body is a ReadableStream]
+ expected: FAIL
+
+ [FetchEvent#body is a blob]
+ expected: FAIL
+
+ [Service Worker responds to fetch event with the correct keepalive value]
+ expected: FAIL
+
+ [FetchEvent#request.isReloadNavigation is true (location.reload())]
+ expected: FAIL
+
+ [FetchEvent#request.isReloadNavigation is true (history.go(0))]
+ expected: FAIL
+
+ [FetchEvent#request.isReloadNavigation is true (POST + location.reload())]
+ expected: FAIL
+
+ [FetchEvent#request.isReloadNavigation is true (with history traversal)]
+ expected: FAIL
+
+ [FetchEvent#request.isHistoryNavigation is true (with history.go(-1))]
+ expected: FAIL
+
+ [FetchEvent#request.isHistoryNavigation is true (with history.go(1))]
+ expected: FAIL
+
+ [FetchEvent#request.isHistoryNavigation is false (with history.go(0))]
+ expected: FAIL
+
+ [FetchEvent#request.isHistoryNavigation is false (with location.reload)]
+ expected: FAIL
+
+ [FetchEvent#request.isHistoryNavigation is true (with history.go(-2))]
+ expected: FAIL
+
+ [FetchEvent#request.isHistoryNavigation is true (with history.go(2))]
+ expected: FAIL
+
+ [FetchEvent#request.isHistoryNavigation is true (POST + history.go(-1))]
+ expected: FAIL
+
+ [XHR upload progress events for response coming from SW]
+ expected: FAIL
+
+ [Fetch with POST with text on sw 421 response should not be retried.]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/fetch-frame-resource.https.html.ini b/tests/wpt/meta/service-workers/service-worker/fetch-frame-resource.https.html.ini
new file mode 100644
index 00000000000..babaadae5a3
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/fetch-frame-resource.https.html.ini
@@ -0,0 +1,18 @@
+[fetch-frame-resource.https.html]
+ [Basic type response could be loaded in the iframe.]
+ expected: FAIL
+
+ [CORS type response could be loaded in the iframe.]
+ expected: FAIL
+
+ [Opaque type response could not be loaded in the iframe.]
+ expected: FAIL
+
+ [Basic type response could be loaded in the new window.]
+ expected: FAIL
+
+ [CORS type response could be loaded in the new window.]
+ expected: FAIL
+
+ [Opaque type response could not be loaded in the new window.]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/fetch-header-visibility.https.html.ini b/tests/wpt/meta/service-workers/service-worker/fetch-header-visibility.https.html.ini
new file mode 100644
index 00000000000..c4430e33629
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/fetch-header-visibility.https.html.ini
@@ -0,0 +1,3 @@
+[fetch-header-visibility.https.html]
+ [Visibility of defaulted headers during interception]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/fetch-mixed-content-to-inscope.https.html.ini b/tests/wpt/meta/service-workers/service-worker/fetch-mixed-content-to-inscope.https.html.ini
new file mode 100644
index 00000000000..46bc5e161a9
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/fetch-mixed-content-to-inscope.https.html.ini
@@ -0,0 +1,4 @@
+[fetch-mixed-content-to-inscope.https.html]
+ expected: TIMEOUT
+ [Verify Mixed content of fetch() in a Service Worker]
+ expected: TIMEOUT
diff --git a/tests/wpt/meta/service-workers/service-worker/fetch-mixed-content-to-outscope.https.html.ini b/tests/wpt/meta/service-workers/service-worker/fetch-mixed-content-to-outscope.https.html.ini
new file mode 100644
index 00000000000..70dded97e35
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/fetch-mixed-content-to-outscope.https.html.ini
@@ -0,0 +1,4 @@
+[fetch-mixed-content-to-outscope.https.html]
+ expected: TIMEOUT
+ [Verify Mixed content of fetch() in a Service Worker]
+ expected: TIMEOUT
diff --git a/tests/wpt/meta/service-workers/service-worker/fetch-request-css-base-url.https.html.ini b/tests/wpt/meta/service-workers/service-worker/fetch-request-css-base-url.https.html.ini
new file mode 100644
index 00000000000..08ce99e1ff2
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/fetch-request-css-base-url.https.html.ini
@@ -0,0 +1,12 @@
+[fetch-request-css-base-url.https.html]
+ [global setup]
+ expected: FAIL
+
+ [base URL when service worker does respondWith(fetch(responseUrl)).]
+ expected: FAIL
+
+ [base URL when service worker does respondWith(new Response()).]
+ expected: FAIL
+
+ [cleanup global state]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/fetch-request-css-cross-origin.https.html.ini b/tests/wpt/meta/service-workers/service-worker/fetch-request-css-cross-origin.https.html.ini
new file mode 100644
index 00000000000..1b10d11b1d7
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/fetch-request-css-cross-origin.https.html.ini
@@ -0,0 +1,9 @@
+[fetch-request-css-cross-origin.https.html]
+ [setup global state]
+ expected: FAIL
+
+ [MIME checking of CSS resources fetched via service worker when Content-Type is not set.]
+ expected: FAIL
+
+ [Same-origin policy for access to CSS resources fetched via service worker]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/fetch-request-css-images.https.html.ini b/tests/wpt/meta/service-workers/service-worker/fetch-request-css-images.https.html.ini
new file mode 100644
index 00000000000..32bf8b5bddd
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/fetch-request-css-images.https.html.ini
@@ -0,0 +1,12 @@
+[fetch-request-css-images.https.html]
+ [Verify FetchEvent for css image (backgroundImage).]
+ expected: FAIL
+
+ [Verify FetchEvent for css image (shapeOutside).]
+ expected: FAIL
+
+ [Verify FetchEvent for css image-set (backgroundImage).]
+ expected: FAIL
+
+ [Verify FetchEvent for css image-set (shapeOutside).]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/fetch-request-fallback.https.html.ini b/tests/wpt/meta/service-workers/service-worker/fetch-request-fallback.https.html.ini
new file mode 100644
index 00000000000..e606321e39c
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/fetch-request-fallback.https.html.ini
@@ -0,0 +1,48 @@
+[fetch-request-fallback.https.html]
+ [initialize global state]
+ expected: FAIL
+
+ [The SW must intercept the request for a main resource.]
+ expected: FAIL
+
+ [The SW must intercept the request of same origin XHR.]
+ expected: FAIL
+
+ [The SW must intercept the request of CORS-unsupported other origin XHR.]
+ expected: FAIL
+
+ [The SW must intercept the request of CORS-supported other origin XHR.]
+ expected: FAIL
+
+ [The SW must intercept only the first request of redirected XHR.]
+ expected: FAIL
+
+ [The SW must intercept only the first request for XHR which is redirected to CORS-unsupported other origin.]
+ expected: FAIL
+
+ [The SW must intercept only the first request for XHR which is redirected to CORS-supported other origin.]
+ expected: FAIL
+
+ [The SW must intercept the request for image.]
+ expected: FAIL
+
+ [The SW must intercept the request for other origin image.]
+ expected: FAIL
+
+ [The SW must intercept the request for CORS-unsupported other origin image.]
+ expected: FAIL
+
+ [The SW must intercept the request for CORS-supported other origin image.]
+ expected: FAIL
+
+ [The SW must intercept only the first request for redirected image resource.]
+ expected: FAIL
+
+ [The SW must intercept only the first request for image resource which is redirected to other origin.]
+ expected: FAIL
+
+ [The SW must intercept only the first request for image resource which is redirected to CORS-unsupported other origin.]
+ expected: FAIL
+
+ [The SW must intercept only the first request for image resource which is redirected to CORS-supported other origin.]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/fetch-request-no-freshness-headers.https.html.ini b/tests/wpt/meta/service-workers/service-worker/fetch-request-no-freshness-headers.https.html.ini
new file mode 100644
index 00000000000..4c6e377c62a
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/fetch-request-no-freshness-headers.https.html.ini
@@ -0,0 +1,3 @@
+[fetch-request-no-freshness-headers.https.html]
+ [The headers of FetchEvent shouldn't contain freshness headers.]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/fetch-request-redirect.https.html.ini b/tests/wpt/meta/service-workers/service-worker/fetch-request-redirect.https.html.ini
new file mode 100644
index 00000000000..858fa7ad1e2
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/fetch-request-redirect.https.html.ini
@@ -0,0 +1,9 @@
+[fetch-request-redirect.https.html]
+ [Verify redirect mode of Fetch API and ServiceWorker FetchEvent.]
+ expected: FAIL
+
+ [Verify redirected of Response(Fetch API) and ServiceWorker FetchEvent.]
+ expected: FAIL
+
+ [Verify redirected of Response(Fetch API), Cache API and ServiceWorker FetchEvent.]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/fetch-request-resources.https.html.ini b/tests/wpt/meta/service-workers/service-worker/fetch-request-resources.https.html.ini
new file mode 100644
index 00000000000..e139355f301
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/fetch-request-resources.https.html.ini
@@ -0,0 +1,3 @@
+[fetch-request-resources.https.html]
+ [Verify FetchEvent for resources.]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/fetch-request-xhr-sync-error.https.window.js.ini b/tests/wpt/meta/service-workers/service-worker/fetch-request-xhr-sync-error.https.window.js.ini
new file mode 100644
index 00000000000..c57c2db1741
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/fetch-request-xhr-sync-error.https.window.js.ini
@@ -0,0 +1,3 @@
+[fetch-request-xhr-sync-error.https.window.html]
+ [Verify synchronous XMLHttpRequest always throws a NetworkError for ReadableStream errors]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/fetch-request-xhr-sync-on-worker.https.html.ini b/tests/wpt/meta/service-workers/service-worker/fetch-request-xhr-sync-on-worker.https.html.ini
new file mode 100644
index 00000000000..a09ca6b0141
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/fetch-request-xhr-sync-on-worker.https.html.ini
@@ -0,0 +1,3 @@
+[fetch-request-xhr-sync-on-worker.https.html]
+ [Verify SyncXHR on Worker is intercepted]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/fetch-request-xhr-sync.https.html.ini b/tests/wpt/meta/service-workers/service-worker/fetch-request-xhr-sync.https.html.ini
new file mode 100644
index 00000000000..5bc8532669d
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/fetch-request-xhr-sync.https.html.ini
@@ -0,0 +1,3 @@
+[fetch-request-xhr-sync.https.html]
+ [Verify SyncXHR is intercepted]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/fetch-request-xhr.https.html.ini b/tests/wpt/meta/service-workers/service-worker/fetch-request-xhr.https.html.ini
new file mode 100644
index 00000000000..32e8fe22c76
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/fetch-request-xhr.https.html.ini
@@ -0,0 +1,36 @@
+[fetch-request-xhr.https.html]
+ [initialize global state]
+ expected: FAIL
+
+ [event.request has the expected headers for same-origin GET.]
+ expected: FAIL
+
+ [event.request has the expected headers for same-origin POST.]
+ expected: FAIL
+
+ [event.request has the expected headers for cross-origin GET.]
+ expected: FAIL
+
+ [event.request has the expected headers for cross-origin POST.]
+ expected: FAIL
+
+ [FetchEvent#request.body contains XHR request data (string)]
+ expected: FAIL
+
+ [FetchEvent#request.body contains XHR request data (blob)]
+ expected: FAIL
+
+ [FetchEvent#request.method is set to XHR method]
+ expected: FAIL
+
+ [XHR using OPTIONS method]
+ expected: FAIL
+
+ [XHR with form data]
+ expected: FAIL
+
+ [XHR with mode/credentials set]
+ expected: FAIL
+
+ [XHR to data URL]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/fetch-response-taint.https.html.ini b/tests/wpt/meta/service-workers/service-worker/fetch-response-taint.https.html.ini
new file mode 100644
index 00000000000..29cea088903
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/fetch-response-taint.https.html.ini
@@ -0,0 +1,393 @@
+[fetch-response-taint.https.html]
+ [initialize global state]
+ expected: FAIL
+
+ [fetching url:"https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?" mode:"same-origin" credentials:"omit" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?" mode:"same-origin" credentials:"same-origin" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?" mode:"same-origin" credentials:"include" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?" mode:"no-cors" credentials:"omit" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?" mode:"no-cors" credentials:"same-origin" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?" mode:"no-cors" credentials:"include" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?" mode:"cors" credentials:"omit" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?" mode:"cors" credentials:"same-origin" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?" mode:"cors" credentials:"include" should succeed.]
+ expected: FAIL
+
+ [url:"https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?" mode:"same-origin" credentials:"omit" should fail.]
+ expected: FAIL
+
+ [url:"https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?" mode:"same-origin" credentials:"same-origin" should fail.]
+ expected: FAIL
+
+ [url:"https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?" mode:"same-origin" credentials:"include" should fail.]
+ expected: FAIL
+
+ [fetching url:"https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?" mode:"no-cors" credentials:"omit" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?" mode:"no-cors" credentials:"same-origin" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?" mode:"no-cors" credentials:"include" should succeed.]
+ expected: FAIL
+
+ [url:"https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?" mode:"cors" credentials:"omit" should fail.]
+ expected: FAIL
+
+ [url:"https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?" mode:"cors" credentials:"same-origin" should fail.]
+ expected: FAIL
+
+ [url:"https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?" mode:"cors" credentials:"include" should fail.]
+ expected: FAIL
+
+ [fetching url:"https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?ACAOrigin=*" mode:"cors" credentials:"omit" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?ACAOrigin=*" mode:"cors" credentials:"same-origin" should succeed.]
+ expected: FAIL
+
+ [url:"https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?ACAOrigin=*" mode:"cors" credentials:"include" should fail.]
+ expected: FAIL
+
+ [fetching url:"https://www1.web-platform.test:8443/service-workers/service-worker/resources/fetch-access-control.py?ACAOrigin=https://web-platform.test:8443&ACACredentials=true" mode:"cors" credentials:"include" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://web-platform.test:8443/?url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&" mode:"same-origin" credentials:"omit" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://web-platform.test:8443/?url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&" mode:"same-origin" credentials:"same-origin" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://web-platform.test:8443/?url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&" mode:"same-origin" credentials:"include" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://web-platform.test:8443/?url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&" mode:"no-cors" credentials:"omit" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://web-platform.test:8443/?url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&" mode:"no-cors" credentials:"same-origin" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://web-platform.test:8443/?url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&" mode:"no-cors" credentials:"include" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://web-platform.test:8443/?url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&" mode:"cors" credentials:"omit" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://web-platform.test:8443/?url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&" mode:"cors" credentials:"same-origin" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://web-platform.test:8443/?url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&" mode:"cors" credentials:"include" should succeed.]
+ expected: FAIL
+
+ [url:"https://www1.web-platform.test:8443/?url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&" mode:"same-origin" credentials:"omit" should fail.]
+ expected: FAIL
+
+ [url:"https://www1.web-platform.test:8443/?url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&" mode:"same-origin" credentials:"same-origin" should fail.]
+ expected: FAIL
+
+ [url:"https://www1.web-platform.test:8443/?url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&" mode:"same-origin" credentials:"include" should fail.]
+ expected: FAIL
+
+ [fetching url:"https://www1.web-platform.test:8443/?url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&" mode:"no-cors" credentials:"omit" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://www1.web-platform.test:8443/?url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&" mode:"no-cors" credentials:"same-origin" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://www1.web-platform.test:8443/?url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&" mode:"no-cors" credentials:"include" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://www1.web-platform.test:8443/?url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&" mode:"cors" credentials:"omit" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://www1.web-platform.test:8443/?url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&" mode:"cors" credentials:"same-origin" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://www1.web-platform.test:8443/?url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&" mode:"cors" credentials:"include" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://web-platform.test:8443/?url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=same-origin&" mode:"same-origin" credentials:"omit" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://web-platform.test:8443/?url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=same-origin&" mode:"same-origin" credentials:"same-origin" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://web-platform.test:8443/?url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=same-origin&" mode:"same-origin" credentials:"include" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://web-platform.test:8443/?url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=same-origin&" mode:"no-cors" credentials:"omit" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://web-platform.test:8443/?url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=same-origin&" mode:"no-cors" credentials:"same-origin" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://web-platform.test:8443/?url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=same-origin&" mode:"no-cors" credentials:"include" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://web-platform.test:8443/?url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=same-origin&" mode:"cors" credentials:"omit" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://web-platform.test:8443/?url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=same-origin&" mode:"cors" credentials:"same-origin" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://web-platform.test:8443/?url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=same-origin&" mode:"cors" credentials:"include" should succeed.]
+ expected: FAIL
+
+ [url:"https://www1.web-platform.test:8443/?url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=same-origin&" mode:"same-origin" credentials:"omit" should fail.]
+ expected: FAIL
+
+ [url:"https://www1.web-platform.test:8443/?url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=same-origin&" mode:"same-origin" credentials:"same-origin" should fail.]
+ expected: FAIL
+
+ [url:"https://www1.web-platform.test:8443/?url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=same-origin&" mode:"same-origin" credentials:"include" should fail.]
+ expected: FAIL
+
+ [fetching url:"https://www1.web-platform.test:8443/?url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=same-origin&" mode:"no-cors" credentials:"omit" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://www1.web-platform.test:8443/?url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=same-origin&" mode:"no-cors" credentials:"same-origin" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://www1.web-platform.test:8443/?url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=same-origin&" mode:"no-cors" credentials:"include" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://www1.web-platform.test:8443/?url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=same-origin&" mode:"cors" credentials:"omit" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://www1.web-platform.test:8443/?url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=same-origin&" mode:"cors" credentials:"same-origin" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://www1.web-platform.test:8443/?url=https%3A%2F%2Fweb-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=same-origin&" mode:"cors" credentials:"include" should succeed.]
+ expected: FAIL
+
+ [url:"https://web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&" mode:"same-origin" credentials:"omit" should fail.]
+ expected: FAIL
+
+ [url:"https://web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&" mode:"same-origin" credentials:"same-origin" should fail.]
+ expected: FAIL
+
+ [url:"https://web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&" mode:"same-origin" credentials:"include" should fail.]
+ expected: FAIL
+
+ [url:"https://web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&" mode:"no-cors" credentials:"omit" should fail.]
+ expected: FAIL
+
+ [url:"https://web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&" mode:"no-cors" credentials:"same-origin" should fail.]
+ expected: FAIL
+
+ [url:"https://web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&" mode:"no-cors" credentials:"include" should fail.]
+ expected: FAIL
+
+ [url:"https://web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&" mode:"cors" credentials:"omit" should fail.]
+ expected: FAIL
+
+ [url:"https://web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&" mode:"cors" credentials:"same-origin" should fail.]
+ expected: FAIL
+
+ [url:"https://web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&" mode:"cors" credentials:"include" should fail.]
+ expected: FAIL
+
+ [url:"https://www1.web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&" mode:"same-origin" credentials:"omit" should fail.]
+ expected: FAIL
+
+ [url:"https://www1.web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&" mode:"same-origin" credentials:"same-origin" should fail.]
+ expected: FAIL
+
+ [url:"https://www1.web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&" mode:"same-origin" credentials:"include" should fail.]
+ expected: FAIL
+
+ [url:"https://www1.web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&" mode:"no-cors" credentials:"omit" should fail.]
+ expected: FAIL
+
+ [url:"https://www1.web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&" mode:"no-cors" credentials:"same-origin" should fail.]
+ expected: FAIL
+
+ [url:"https://www1.web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&" mode:"no-cors" credentials:"include" should fail.]
+ expected: FAIL
+
+ [url:"https://www1.web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&" mode:"cors" credentials:"omit" should fail.]
+ expected: FAIL
+
+ [url:"https://www1.web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&" mode:"cors" credentials:"same-origin" should fail.]
+ expected: FAIL
+
+ [url:"https://www1.web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&" mode:"cors" credentials:"include" should fail.]
+ expected: FAIL
+
+ [url:"https://web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=no-cors&credentials=omit&" mode:"same-origin" credentials:"omit" should fail.]
+ expected: FAIL
+
+ [url:"https://web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=no-cors&credentials=omit&" mode:"same-origin" credentials:"same-origin" should fail.]
+ expected: FAIL
+
+ [url:"https://web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=no-cors&credentials=omit&" mode:"same-origin" credentials:"include" should fail.]
+ expected: FAIL
+
+ [fetching url:"https://web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=no-cors&credentials=omit&" mode:"no-cors" credentials:"omit" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=no-cors&credentials=omit&" mode:"no-cors" credentials:"same-origin" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=no-cors&credentials=omit&" mode:"no-cors" credentials:"include" should succeed.]
+ expected: FAIL
+
+ [url:"https://web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=no-cors&credentials=omit&" mode:"cors" credentials:"omit" should fail.]
+ expected: FAIL
+
+ [url:"https://web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=no-cors&credentials=omit&" mode:"cors" credentials:"same-origin" should fail.]
+ expected: FAIL
+
+ [url:"https://web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=no-cors&credentials=omit&" mode:"cors" credentials:"include" should fail.]
+ expected: FAIL
+
+ [url:"https://www1.web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=no-cors&credentials=omit&" mode:"same-origin" credentials:"omit" should fail.]
+ expected: FAIL
+
+ [url:"https://www1.web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=no-cors&credentials=omit&" mode:"same-origin" credentials:"same-origin" should fail.]
+ expected: FAIL
+
+ [url:"https://www1.web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=no-cors&credentials=omit&" mode:"same-origin" credentials:"include" should fail.]
+ expected: FAIL
+
+ [fetching url:"https://www1.web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=no-cors&credentials=omit&" mode:"no-cors" credentials:"omit" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://www1.web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=no-cors&credentials=omit&" mode:"no-cors" credentials:"same-origin" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://www1.web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=no-cors&credentials=omit&" mode:"no-cors" credentials:"include" should succeed.]
+ expected: FAIL
+
+ [url:"https://www1.web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=no-cors&credentials=omit&" mode:"cors" credentials:"omit" should fail.]
+ expected: FAIL
+
+ [url:"https://www1.web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=no-cors&credentials=omit&" mode:"cors" credentials:"same-origin" should fail.]
+ expected: FAIL
+
+ [url:"https://www1.web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=no-cors&credentials=omit&" mode:"cors" credentials:"include" should fail.]
+ expected: FAIL
+
+ [url:"https://web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3D*&mode=cors&credentials=omit&" mode:"same-origin" credentials:"omit" should fail.]
+ expected: FAIL
+
+ [url:"https://web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3D*&mode=cors&credentials=omit&" mode:"same-origin" credentials:"same-origin" should fail.]
+ expected: FAIL
+
+ [url:"https://web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3D*&mode=cors&credentials=omit&" mode:"same-origin" credentials:"include" should fail.]
+ expected: FAIL
+
+ [fetching url:"https://web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3D*&mode=cors&credentials=omit&" mode:"no-cors" credentials:"omit" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3D*&mode=cors&credentials=omit&" mode:"no-cors" credentials:"same-origin" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3D*&mode=cors&credentials=omit&" mode:"no-cors" credentials:"include" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3D*&mode=cors&credentials=omit&" mode:"cors" credentials:"omit" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3D*&mode=cors&credentials=omit&" mode:"cors" credentials:"same-origin" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3D*&mode=cors&credentials=omit&" mode:"cors" credentials:"include" should succeed.]
+ expected: FAIL
+
+ [url:"https://www1.web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3D*&mode=cors&credentials=omit&" mode:"same-origin" credentials:"omit" should fail.]
+ expected: FAIL
+
+ [url:"https://www1.web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3D*&mode=cors&credentials=omit&" mode:"same-origin" credentials:"same-origin" should fail.]
+ expected: FAIL
+
+ [url:"https://www1.web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3D*&mode=cors&credentials=omit&" mode:"same-origin" credentials:"include" should fail.]
+ expected: FAIL
+
+ [fetching url:"https://www1.web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3D*&mode=cors&credentials=omit&" mode:"no-cors" credentials:"omit" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://www1.web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3D*&mode=cors&credentials=omit&" mode:"no-cors" credentials:"same-origin" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://www1.web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3D*&mode=cors&credentials=omit&" mode:"no-cors" credentials:"include" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://www1.web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3D*&mode=cors&credentials=omit&" mode:"cors" credentials:"omit" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://www1.web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3D*&mode=cors&credentials=omit&" mode:"cors" credentials:"same-origin" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://www1.web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3D*&mode=cors&credentials=omit&" mode:"cors" credentials:"include" should succeed.]
+ expected: FAIL
+
+ [url:"https://web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443%26ACACredentials%3Dtrue&mode=cors&credentials=include&" mode:"same-origin" credentials:"omit" should fail.]
+ expected: FAIL
+
+ [url:"https://web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443%26ACACredentials%3Dtrue&mode=cors&credentials=include&" mode:"same-origin" credentials:"same-origin" should fail.]
+ expected: FAIL
+
+ [url:"https://web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443%26ACACredentials%3Dtrue&mode=cors&credentials=include&" mode:"same-origin" credentials:"include" should fail.]
+ expected: FAIL
+
+ [fetching url:"https://web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443%26ACACredentials%3Dtrue&mode=cors&credentials=include&" mode:"no-cors" credentials:"omit" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443%26ACACredentials%3Dtrue&mode=cors&credentials=include&" mode:"no-cors" credentials:"same-origin" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443%26ACACredentials%3Dtrue&mode=cors&credentials=include&" mode:"no-cors" credentials:"include" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443%26ACACredentials%3Dtrue&mode=cors&credentials=include&" mode:"cors" credentials:"omit" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443%26ACACredentials%3Dtrue&mode=cors&credentials=include&" mode:"cors" credentials:"same-origin" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443%26ACACredentials%3Dtrue&mode=cors&credentials=include&" mode:"cors" credentials:"include" should succeed.]
+ expected: FAIL
+
+ [url:"https://www1.web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443%26ACACredentials%3Dtrue&mode=cors&credentials=include&" mode:"same-origin" credentials:"omit" should fail.]
+ expected: FAIL
+
+ [url:"https://www1.web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443%26ACACredentials%3Dtrue&mode=cors&credentials=include&" mode:"same-origin" credentials:"same-origin" should fail.]
+ expected: FAIL
+
+ [url:"https://www1.web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443%26ACACredentials%3Dtrue&mode=cors&credentials=include&" mode:"same-origin" credentials:"include" should fail.]
+ expected: FAIL
+
+ [fetching url:"https://www1.web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443%26ACACredentials%3Dtrue&mode=cors&credentials=include&" mode:"no-cors" credentials:"omit" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://www1.web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443%26ACACredentials%3Dtrue&mode=cors&credentials=include&" mode:"no-cors" credentials:"same-origin" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://www1.web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443%26ACACredentials%3Dtrue&mode=cors&credentials=include&" mode:"no-cors" credentials:"include" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://www1.web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443%26ACACredentials%3Dtrue&mode=cors&credentials=include&" mode:"cors" credentials:"omit" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://www1.web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443%26ACACredentials%3Dtrue&mode=cors&credentials=include&" mode:"cors" credentials:"same-origin" should succeed.]
+ expected: FAIL
+
+ [fetching url:"https://www1.web-platform.test:8443/?url=https%3A%2F%2Fwww1.web-platform.test%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8443%26ACACredentials%3Dtrue&mode=cors&credentials=include&" mode:"cors" credentials:"include" should succeed.]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/fetch-response-xhr.https.html.ini b/tests/wpt/meta/service-workers/service-worker/fetch-response-xhr.https.html.ini
new file mode 100644
index 00000000000..b5f0bbf8dcd
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/fetch-response-xhr.https.html.ini
@@ -0,0 +1,3 @@
+[fetch-response-xhr.https.html]
+ [Verify the response of FetchEvent using XMLHttpRequest]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/fetch-waits-for-activate.https.html.ini b/tests/wpt/meta/service-workers/service-worker/fetch-waits-for-activate.https.html.ini
new file mode 100644
index 00000000000..893d3104687
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/fetch-waits-for-activate.https.html.ini
@@ -0,0 +1,6 @@
+[fetch-waits-for-activate.https.html]
+ [Navigation fetch events should wait for the activate event to complete.]
+ expected: FAIL
+
+ [Subresource fetch events should wait for the activate event to complete.]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/fetch-with-body.https.html.ini b/tests/wpt/meta/service-workers/service-worker/fetch-with-body.https.html.ini
new file mode 100644
index 00000000000..38e18166397
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/fetch-with-body.https.html.ini
@@ -0,0 +1,3 @@
+[fetch-with-body.https.html]
+ [Validate body is preserved]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/getregistration.https.html.ini b/tests/wpt/meta/service-workers/service-worker/getregistration.https.html.ini
new file mode 100644
index 00000000000..a92ced0feab
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/getregistration.https.html.ini
@@ -0,0 +1,18 @@
+[getregistration.https.html]
+ [getRegistration]
+ expected: FAIL
+
+ [Register then getRegistration]
+ expected: FAIL
+
+ [Register then getRegistration with a URL having a fragment]
+ expected: FAIL
+
+ [getRegistration with a cross origin URL]
+ expected: FAIL
+
+ [Register then Unregister then getRegistration]
+ expected: FAIL
+
+ [Register then Unregister then getRegistration in controlled iframe]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/getregistrations.https.html.ini b/tests/wpt/meta/service-workers/service-worker/getregistrations.https.html.ini
new file mode 100644
index 00000000000..f9b92cb70f3
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/getregistrations.https.html.ini
@@ -0,0 +1,19 @@
+[getregistrations.https.html]
+ expected: ERROR
+ [registrations are not returned following unregister]
+ expected: FAIL
+
+ [Register then getRegistrations]
+ expected: FAIL
+
+ [Register multiple times then getRegistrations]
+ expected: FAIL
+
+ [Register then Unregister then getRegistrations]
+ expected: NOTRUN
+
+ [Register then Unregister with controlled frame then getRegistrations]
+ expected: NOTRUN
+
+ [getRegistrations promise resolves only with same origin registrations.]
+ expected: NOTRUN
diff --git a/tests/wpt/meta/service-workers/service-worker/global-serviceworker.https.any.js.ini b/tests/wpt/meta/service-workers/service-worker/global-serviceworker.https.any.js.ini
new file mode 100644
index 00000000000..63026762360
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/global-serviceworker.https.any.js.ini
@@ -0,0 +1,2 @@
+[global-serviceworker.https.any.serviceworker.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/service-workers/service-worker/historical.https.any.js.ini b/tests/wpt/meta/service-workers/service-worker/historical.https.any.js.ini
new file mode 100644
index 00000000000..121b9ef349c
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/historical.https.any.js.ini
@@ -0,0 +1,2 @@
+[historical.https.any.serviceworker.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/service-workers/service-worker/http-to-https-redirect-and-register.https.html.ini b/tests/wpt/meta/service-workers/service-worker/http-to-https-redirect-and-register.https.html.ini
new file mode 100644
index 00000000000..3beeaeaa9a1
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/http-to-https-redirect-and-register.https.html.ini
@@ -0,0 +1,7 @@
+[http-to-https-redirect-and-register.https.html]
+ expected: TIMEOUT
+ [register on a secure page after redirect from an non-secure url]
+ expected: TIMEOUT
+
+ [register on a non-secure page after redirect from an non-secure url]
+ expected: NOTRUN
diff --git a/tests/wpt/meta/service-workers/service-worker/immutable-prototype-serviceworker.https.html.ini b/tests/wpt/meta/service-workers/service-worker/immutable-prototype-serviceworker.https.html.ini
new file mode 100644
index 00000000000..37978da230a
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/immutable-prototype-serviceworker.https.html.ini
@@ -0,0 +1,2 @@
+[immutable-prototype-serviceworker.https.html]
+ expected: CRASH
diff --git a/tests/wpt/meta/service-workers/service-worker/import-scripts-cross-origin.https.html.ini b/tests/wpt/meta/service-workers/service-worker/import-scripts-cross-origin.https.html.ini
new file mode 100644
index 00000000000..b1350b2e9db
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/import-scripts-cross-origin.https.html.ini
@@ -0,0 +1,3 @@
+[import-scripts-cross-origin.https.html]
+ [importScripts() supports cross-origin requests]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/import-scripts-data-url.https.html.ini b/tests/wpt/meta/service-workers/service-worker/import-scripts-data-url.https.html.ini
new file mode 100644
index 00000000000..d681e599f48
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/import-scripts-data-url.https.html.ini
@@ -0,0 +1,3 @@
+[import-scripts-data-url.https.html]
+ [importScripts() supports data URLs]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/import-scripts-mime-types.https.html.ini b/tests/wpt/meta/service-workers/service-worker/import-scripts-mime-types.https.html.ini
new file mode 100644
index 00000000000..76afbbd1eca
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/import-scripts-mime-types.https.html.ini
@@ -0,0 +1,6 @@
+[import-scripts-mime-types.https.html]
+ [Global setup]
+ expected: FAIL
+
+ [Fetch importScripts tests from service worker]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/import-scripts-redirect.https.html.ini b/tests/wpt/meta/service-workers/service-worker/import-scripts-redirect.https.html.ini
new file mode 100644
index 00000000000..b66d18cd943
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/import-scripts-redirect.https.html.ini
@@ -0,0 +1,9 @@
+[import-scripts-redirect.https.html]
+ [importScripts() supports redirects]
+ expected: FAIL
+
+ [an imported script redirects, and the body changes during the update check]
+ expected: FAIL
+
+ [an imported script doesn't redirect initially, then redirects during the update check and the body changes]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/import-scripts-resource-map.https.html.ini b/tests/wpt/meta/service-workers/service-worker/import-scripts-resource-map.https.html.ini
new file mode 100644
index 00000000000..83d9cd06f8f
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/import-scripts-resource-map.https.html.ini
@@ -0,0 +1,6 @@
+[import-scripts-resource-map.https.html]
+ [import the same script URL multiple times]
+ expected: FAIL
+
+ [call importScripts() with multiple arguments]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/import-scripts-updated-flag.https.html.ini b/tests/wpt/meta/service-workers/service-worker/import-scripts-updated-flag.https.html.ini
new file mode 100644
index 00000000000..bc4bafde45b
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/import-scripts-updated-flag.https.html.ini
@@ -0,0 +1,12 @@
+[import-scripts-updated-flag.https.html]
+ [initialize global state]
+ expected: FAIL
+
+ [import script previously imported at worker evaluation time]
+ expected: FAIL
+
+ [import script previously imported at worker install time]
+ expected: FAIL
+
+ [import script not previously imported]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/indexeddb.https.html.ini b/tests/wpt/meta/service-workers/service-worker/indexeddb.https.html.ini
new file mode 100644
index 00000000000..384b10c4f5c
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/indexeddb.https.html.ini
@@ -0,0 +1,3 @@
+[indexeddb.https.html]
+ [Verify Indexed DB operation in a Service Worker]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/install-event-type.https.html.ini b/tests/wpt/meta/service-workers/service-worker/install-event-type.https.html.ini
new file mode 100644
index 00000000000..f1b3a5d8940
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/install-event-type.https.html.ini
@@ -0,0 +1,3 @@
+[install-event-type.https.html]
+ [install event type]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/installing.https.html.ini b/tests/wpt/meta/service-workers/service-worker/installing.https.html.ini
new file mode 100644
index 00000000000..19256236cd9
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/installing.https.html.ini
@@ -0,0 +1,7 @@
+[installing.https.html]
+ expected: ERROR
+ [installing is set]
+ expected: FAIL
+
+ [The ServiceWorker objects returned from installing attribute getter that represent the same service worker are the same objects]
+ expected: NOTRUN
diff --git a/tests/wpt/meta/service-workers/service-worker/interface-requirements-sw.https.html.ini b/tests/wpt/meta/service-workers/service-worker/interface-requirements-sw.https.html.ini
new file mode 100644
index 00000000000..d1d3cac72a4
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/interface-requirements-sw.https.html.ini
@@ -0,0 +1,3 @@
+[interface-requirements-sw.https.html]
+ [Interfaces and attributes in ServiceWorkerGlobalScope]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/invalid-blobtype.https.html.ini b/tests/wpt/meta/service-workers/service-worker/invalid-blobtype.https.html.ini
new file mode 100644
index 00000000000..60f23940f99
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/invalid-blobtype.https.html.ini
@@ -0,0 +1,3 @@
+[invalid-blobtype.https.html]
+ [Verify the response of FetchEvent using XMLHttpRequest]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/invalid-header.https.html.ini b/tests/wpt/meta/service-workers/service-worker/invalid-header.https.html.ini
new file mode 100644
index 00000000000..99476be679d
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/invalid-header.https.html.ini
@@ -0,0 +1,3 @@
+[invalid-header.https.html]
+ [Verify the response of FetchEvent using XMLHttpRequest]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/iso-latin1-header.https.html.ini b/tests/wpt/meta/service-workers/service-worker/iso-latin1-header.https.html.ini
new file mode 100644
index 00000000000..a1be5923dbc
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/iso-latin1-header.https.html.ini
@@ -0,0 +1,3 @@
+[iso-latin1-header.https.html]
+ [Verify the response of FetchEvent using XMLHttpRequest]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/local-url-inherit-controller.https.html.ini b/tests/wpt/meta/service-workers/service-worker/local-url-inherit-controller.https.html.ini
new file mode 100644
index 00000000000..e38dd704270
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/local-url-inherit-controller.https.html.ini
@@ -0,0 +1,27 @@
+[local-url-inherit-controller.https.html]
+ [Same-origin blob URL iframe should inherit service worker controller.]
+ expected: FAIL
+
+ [Same-origin blob URL iframe should intercept fetch().]
+ expected: FAIL
+
+ [Same-origin blob URL worker should inherit service worker controller.]
+ expected: FAIL
+
+ [Same-origin blob URL worker should intercept fetch().]
+ expected: FAIL
+
+ [Same-origin blob URL sharedworker should inherit service worker controller.]
+ expected: FAIL
+
+ [Same-origin blob URL sharedworker should intercept fetch().]
+ expected: FAIL
+
+ [Data URL iframe should not intercept fetch().]
+ expected: FAIL
+
+ [Data URL worker should not inherit service worker controller.]
+ expected: FAIL
+
+ [Data URL worker should not intercept fetch().]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/mime-sniffing.https.html.ini b/tests/wpt/meta/service-workers/service-worker/mime-sniffing.https.html.ini
new file mode 100644
index 00000000000..3cd24bf52e3
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/mime-sniffing.https.html.ini
@@ -0,0 +1,3 @@
+[mime-sniffing.https.html]
+ [The response from service worker should be correctly MIME siniffed.]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/multi-globals/url-parsing.https.html.ini b/tests/wpt/meta/service-workers/service-worker/multi-globals/url-parsing.https.html.ini
new file mode 100644
index 00000000000..5b1916f4c55
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/multi-globals/url-parsing.https.html.ini
@@ -0,0 +1,2 @@
+[url-parsing.https.html]
+ expected: CRASH
diff --git a/tests/wpt/meta/service-workers/service-worker/multipart-image.https.html.ini b/tests/wpt/meta/service-workers/service-worker/multipart-image.https.html.ini
new file mode 100644
index 00000000000..1d4d3421315
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/multipart-image.https.html.ini
@@ -0,0 +1,15 @@
+[multipart-image.https.html]
+ [initialize global state]
+ expected: FAIL
+
+ [same-origin multipart image via SW should be readable]
+ expected: FAIL
+
+ [cross-origin multipart image via SW with approved CORS should be readable]
+ expected: FAIL
+
+ [cross-origin multipart image with no-cors via SW should not be readable]
+ expected: FAIL
+
+ [cross-origin multipart image via SW with rejected CORS should fail to load]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/multiple-register.https.html.ini b/tests/wpt/meta/service-workers/service-worker/multiple-register.https.html.ini
new file mode 100644
index 00000000000..8469ad890f2
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/multiple-register.https.html.ini
@@ -0,0 +1,9 @@
+[multiple-register.https.html]
+ [Subsequent registrations resolve to the same registration object]
+ expected: FAIL
+
+ [Subsequent registrations from a different iframe resolve to the different registration object but they refer to the same registration and workers]
+ expected: FAIL
+
+ [Concurrent registrations resolve to the same registration object]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/multiple-update.https.html.ini b/tests/wpt/meta/service-workers/service-worker/multiple-update.https.html.ini
new file mode 100644
index 00000000000..6b208ea8f60
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/multiple-update.https.html.ini
@@ -0,0 +1,3 @@
+[multiple-update.https.html]
+ [Trigger multiple updates.]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/navigate-window.https.html.ini b/tests/wpt/meta/service-workers/service-worker/navigate-window.https.html.ini
new file mode 100644
index 00000000000..ddbb3c791bc
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/navigate-window.https.html.ini
@@ -0,0 +1,6 @@
+[navigate-window.https.html]
+ [Clients.matchAll() should not show an old window as controlled after it navigates.]
+ expected: FAIL
+
+ [Clients.matchAll() should not show an old window after it navigates.]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/navigation-headers.https.html.ini b/tests/wpt/meta/service-workers/service-worker/navigation-headers.https.html.ini
new file mode 100644
index 00000000000..4eb46bf8c90
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/navigation-headers.https.html.ini
@@ -0,0 +1,195 @@
+[navigation-headers.https.html]
+ [Setup service worker]
+ expected: FAIL
+
+ [GET Navigation, same-origin with navpreload service worker sets correct origin and referer headers.]
+ expected: FAIL
+
+ [GET Navigation, same-origin with service worker that changes the request sets correct origin and referer headers.]
+ expected: FAIL
+
+ [POST Navigation, same-origin with service worker that changes the request sets correct origin and referer headers.]
+ expected: FAIL
+
+ [POST Navigation, same-site with no service worker sets correct origin and referer headers.]
+ expected: FAIL
+
+ [POST Navigation, same-site with passthrough service worker sets correct origin and referer headers.]
+ expected: FAIL
+
+ [POST Navigation, same-site with fallback service worker sets correct origin and referer headers.]
+ expected: FAIL
+
+ [GET Navigation, same-site with navpreload service worker sets correct origin and referer headers.]
+ expected: FAIL
+
+ [GET Navigation, same-site with service worker that changes the request sets correct origin and referer headers.]
+ expected: FAIL
+
+ [POST Navigation, same-site with service worker that changes the request sets correct origin and referer headers.]
+ expected: FAIL
+
+ [POST Navigation, cross-site with no service worker sets correct origin and referer headers.]
+ expected: FAIL
+
+ [POST Navigation, cross-site with passthrough service worker sets correct origin and referer headers.]
+ expected: FAIL
+
+ [POST Navigation, cross-site with fallback service worker sets correct origin and referer headers.]
+ expected: FAIL
+
+ [GET Navigation, cross-site with navpreload service worker sets correct origin and referer headers.]
+ expected: FAIL
+
+ [GET Navigation, cross-site with service worker that changes the request sets correct origin and referer headers.]
+ expected: FAIL
+
+ [POST Navigation, cross-site with service worker that changes the request sets correct origin and referer headers.]
+ expected: FAIL
+
+ [POST Navigation, same-origin with same-site redirect and change-request service worker sets correct origin and referer headers.]
+ expected: FAIL
+
+ [POST Navigation, same-origin with cross-site redirect and change-request service worker sets correct origin and referer headers.]
+ expected: FAIL
+
+ [POST Navigation, same-origin with cross-site redirect, same-origin redirect, and no service worker sets correct origin and referer headers.]
+ expected: FAIL
+
+ [POST Navigation, same-origin with cross-site redirect, same-origin redirect, and passthrough service worker sets correct origin and referer headers.]
+ expected: FAIL
+
+ [POST Navigation, same-origin with cross-site redirect, same-origin redirect, and fallback service worker sets correct origin and referer headers.]
+ expected: FAIL
+
+ [POST Navigation, same-origin with cross-site redirect, same-origin redirect, and change-request service worker sets correct origin and referer headers.]
+ expected: FAIL
+
+ [GET Navigation, same-origin with no service worker sets correct sec-fetch headers.]
+ expected: FAIL
+
+ [POST Navigation, same-origin with no service worker sets correct sec-fetch headers.]
+ expected: FAIL
+
+ [GET Navigation, same-origin with passthrough service worker sets correct sec-fetch headers.]
+ expected: FAIL
+
+ [POST Navigation, same-origin with passthrough service worker sets correct sec-fetch headers.]
+ expected: FAIL
+
+ [GET Navigation, same-origin with fallback service worker sets correct sec-fetch headers.]
+ expected: FAIL
+
+ [POST Navigation, same-origin with fallback service worker sets correct sec-fetch headers.]
+ expected: FAIL
+
+ [GET Navigation, same-origin with navpreload service worker sets correct sec-fetch headers.]
+ expected: FAIL
+
+ [GET Navigation, same-origin with service worker that changes the request sets correct sec-fetch headers.]
+ expected: FAIL
+
+ [POST Navigation, same-origin with service worker that changes the request sets correct sec-fetch headers.]
+ expected: FAIL
+
+ [GET Navigation, same-site with no service worker sets correct sec-fetch headers.]
+ expected: FAIL
+
+ [POST Navigation, same-site with no service worker sets correct sec-fetch headers.]
+ expected: FAIL
+
+ [GET Navigation, same-site with passthrough service worker sets correct sec-fetch headers.]
+ expected: FAIL
+
+ [POST Navigation, same-site with passthrough service worker sets correct sec-fetch headers.]
+ expected: FAIL
+
+ [GET Navigation, same-site with fallback service worker sets correct sec-fetch headers.]
+ expected: FAIL
+
+ [POST Navigation, same-site with fallback service worker sets correct sec-fetch headers.]
+ expected: FAIL
+
+ [GET Navigation, same-site with navpreload service worker sets correct sec-fetch headers.]
+ expected: FAIL
+
+ [GET Navigation, same-site with service worker that changes the request sets correct sec-fetch headers.]
+ expected: FAIL
+
+ [POST Navigation, same-site with service worker that changes the request sets correct sec-fetch headers.]
+ expected: FAIL
+
+ [GET Navigation, cross-site with no service worker sets correct sec-fetch headers.]
+ expected: FAIL
+
+ [POST Navigation, cross-site with no service worker sets correct sec-fetch headers.]
+ expected: FAIL
+
+ [GET Navigation, cross-site with passthrough service worker sets correct sec-fetch headers.]
+ expected: FAIL
+
+ [POST Navigation, cross-site with passthrough service worker sets correct sec-fetch headers.]
+ expected: FAIL
+
+ [GET Navigation, cross-site with fallback service worker sets correct sec-fetch headers.]
+ expected: FAIL
+
+ [POST Navigation, cross-site with fallback service worker sets correct sec-fetch headers.]
+ expected: FAIL
+
+ [GET Navigation, cross-site with navpreload service worker sets correct sec-fetch headers.]
+ expected: FAIL
+
+ [GET Navigation, cross-site with service worker that changes the request sets correct sec-fetch headers.]
+ expected: FAIL
+
+ [POST Navigation, cross-site with service worker that changes the request sets correct sec-fetch headers.]
+ expected: FAIL
+
+ [GET Navigation, same-origin with same-site redirect and no service worker sets correct sec-fetch headers.]
+ expected: FAIL
+
+ [GET Navigation, same-origin with same-site redirect and passthrough service worker sets correct sec-fetch headers.]
+ expected: FAIL
+
+ [GET Navigation, same-origin with same-site redirect and fallback service worker sets correct sec-fetch headers.]
+ expected: FAIL
+
+ [GET Navigation, same-origin with same-site redirect and navpreload service worker sets correct sec-fetch headers.]
+ expected: FAIL
+
+ [GET Navigation, same-origin with same-site redirect and change-request service worker sets correct sec-fetch headers.]
+ expected: FAIL
+
+ [GET Navigation, same-origin with cross-site redirect and no service worker sets correct sec-fetch headers.]
+ expected: FAIL
+
+ [GET Navigation, same-origin with cross-site redirect and passthrough service worker sets correct sec-fetch headers.]
+ expected: FAIL
+
+ [GET Navigation, same-origin with cross-site redirect and fallback service worker sets correct sec-fetch headers.]
+ expected: FAIL
+
+ [GET Navigation, same-origin with cross-site redirect and navpreload service worker sets correct sec-fetch headers.]
+ expected: FAIL
+
+ [GET Navigation, same-origin with cross-site redirect and change-request service worker sets correct sec-fetch headers.]
+ expected: FAIL
+
+ [GET Navigation, same-origin with cross-site redirect, same-origin redirect, and no service worker sets correct sec-fetch headers.]
+ expected: FAIL
+
+ [GET Navigation, same-origin with cross-site redirect, same-origin redirect, and passthrough service worker sets correct sec-fetch headers.]
+ expected: FAIL
+
+ [GET Navigation, same-origin with cross-site redirect, same-origin redirect, and fallback service worker sets correct sec-fetch headers.]
+ expected: FAIL
+
+ [GET Navigation, same-origin with cross-site redirect, same-origin redirect, and navpreload service worker sets correct sec-fetch headers.]
+ expected: FAIL
+
+ [GET Navigation, same-origin with cross-site redirect, same-origin redirect, and change-request service worker sets correct sec-fetch headers.]
+ expected: FAIL
+
+ [Cleanup service worker]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/navigation-preload/broken-chunked-encoding.https.html.ini b/tests/wpt/meta/service-workers/service-worker/navigation-preload/broken-chunked-encoding.https.html.ini
new file mode 100644
index 00000000000..ebf2f63b858
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/navigation-preload/broken-chunked-encoding.https.html.ini
@@ -0,0 +1,6 @@
+[broken-chunked-encoding.https.html]
+ [FetchEvent#preloadResponse resolves even if the body is sent with broken chunked encoding.]
+ expected: FAIL
+
+ [FetchEvent#preloadResponse resolves even if the body is sent with broken chunked encoding with some delays]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/navigation-preload/chunked-encoding.https.html.ini b/tests/wpt/meta/service-workers/service-worker/navigation-preload/chunked-encoding.https.html.ini
new file mode 100644
index 00000000000..23bb64c4851
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/navigation-preload/chunked-encoding.https.html.ini
@@ -0,0 +1,3 @@
+[chunked-encoding.https.html]
+ [Navigation Preload must work with chunked encoding.]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/navigation-preload/content-encoding.https.html.ini b/tests/wpt/meta/service-workers/service-worker/navigation-preload/content-encoding.https.html.ini
new file mode 100644
index 00000000000..f320da6ac2f
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/navigation-preload/content-encoding.https.html.ini
@@ -0,0 +1,3 @@
+[content-encoding.https.html]
+ [Navigation Preload must work with content encoding.]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/navigation-preload/empty-preload-response-body.https.html.ini b/tests/wpt/meta/service-workers/service-worker/navigation-preload/empty-preload-response-body.https.html.ini
new file mode 100644
index 00000000000..e5f9d26f9f2
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/navigation-preload/empty-preload-response-body.https.html.ini
@@ -0,0 +1,3 @@
+[empty-preload-response-body.https.html]
+ [Navigation Preload empty response body.]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/navigation-preload/get-state.https.html.ini b/tests/wpt/meta/service-workers/service-worker/navigation-preload/get-state.https.html.ini
new file mode 100644
index 00000000000..28b3d4f3356
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/navigation-preload/get-state.https.html.ini
@@ -0,0 +1,9 @@
+[get-state.https.html]
+ [getState]
+ expected: FAIL
+
+ [getState from a worker]
+ expected: FAIL
+
+ [no active worker]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/navigation-preload/navigationPreload.https.html.ini b/tests/wpt/meta/service-workers/service-worker/navigation-preload/navigationPreload.https.html.ini
new file mode 100644
index 00000000000..44b710acbaa
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/navigation-preload/navigationPreload.https.html.ini
@@ -0,0 +1,3 @@
+[navigationPreload.https.html]
+ [The navigationPreload attribute must return service worker registration's NavigationPreloadManager object.]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/navigation-preload/redirect.https.html.ini b/tests/wpt/meta/service-workers/service-worker/navigation-preload/redirect.https.html.ini
new file mode 100644
index 00000000000..e38cdf43514
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/navigation-preload/redirect.https.html.ini
@@ -0,0 +1,12 @@
+[redirect.https.html]
+ [Navigation Preload redirect response.]
+ expected: FAIL
+
+ [Navigation Preload no-location redirect response.]
+ expected: FAIL
+
+ [Navigation Preload no-location redirect response with body.]
+ expected: FAIL
+
+ [Navigation Preload redirect to the same scope.]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/navigation-preload/request-headers.https.html.ini b/tests/wpt/meta/service-workers/service-worker/navigation-preload/request-headers.https.html.ini
new file mode 100644
index 00000000000..de9e79c033b
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/navigation-preload/request-headers.https.html.ini
@@ -0,0 +1,3 @@
+[request-headers.https.html]
+ [Navigation Preload request headers.]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/navigation-preload/resource-timing.https.html.ini b/tests/wpt/meta/service-workers/service-worker/navigation-preload/resource-timing.https.html.ini
new file mode 100644
index 00000000000..1aa62583858
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/navigation-preload/resource-timing.https.html.ini
@@ -0,0 +1,3 @@
+[resource-timing.https.html]
+ [Navigation Preload Resource Timing.]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/navigation-preload/samesite-cookies.https.html.ini b/tests/wpt/meta/service-workers/service-worker/navigation-preload/samesite-cookies.https.html.ini
new file mode 100644
index 00000000000..6207d313a3f
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/navigation-preload/samesite-cookies.https.html.ini
@@ -0,0 +1,3 @@
+[samesite-cookies.https.html]
+ [Set up a service worker for navigation preload tests.]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/navigation-preload/samesite-iframe.https.html.ini b/tests/wpt/meta/service-workers/service-worker/navigation-preload/samesite-iframe.https.html.ini
new file mode 100644
index 00000000000..ea83912ef08
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/navigation-preload/samesite-iframe.https.html.ini
@@ -0,0 +1,2 @@
+[samesite-iframe.https.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/service-workers/service-worker/navigation-redirect-body.https.html.ini b/tests/wpt/meta/service-workers/service-worker/navigation-redirect-body.https.html.ini
new file mode 100644
index 00000000000..c059f75b74b
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/navigation-redirect-body.https.html.ini
@@ -0,0 +1,3 @@
+[navigation-redirect-body.https.html]
+ [Navigation redirection must clear body]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/navigation-redirect-resolution.https.html.ini b/tests/wpt/meta/service-workers/service-worker/navigation-redirect-resolution.https.html.ini
new file mode 100644
index 00000000000..03dd7df86c8
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/navigation-redirect-resolution.https.html.ini
@@ -0,0 +1,9 @@
+[navigation-redirect-resolution.https.html]
+ [test relative opaqueredirect]
+ expected: FAIL
+
+ [test relative opaqueredirect with CacheStorage]
+ expected: FAIL
+
+ [test relative opaqueredirect with clone]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/navigation-redirect-to-http.https.html.ini b/tests/wpt/meta/service-workers/service-worker/navigation-redirect-to-http.https.html.ini
new file mode 100644
index 00000000000..ceec2a60689
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/navigation-redirect-to-http.https.html.ini
@@ -0,0 +1,4 @@
+[navigation-redirect-to-http.https.html]
+ expected: TIMEOUT
+ [Verify Service Worker can receive HTTP opaqueredirect response.]
+ expected: TIMEOUT
diff --git a/tests/wpt/meta/service-workers/service-worker/navigation-redirect.https.html.ini b/tests/wpt/meta/service-workers/service-worker/navigation-redirect.https.html.ini
new file mode 100644
index 00000000000..8f8f90e9e41
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/navigation-redirect.https.html.ini
@@ -0,0 +1,236 @@
+[navigation-redirect.https.html?client]
+ [initialize global state]
+ expected: FAIL
+
+ [Normal redirect to same-origin scope.]
+ expected: FAIL
+
+ [Normal redirect to same-origin scope with a hash fragment.]
+ expected: FAIL
+
+ [Normal redirect to same-origin scope with different hash fragments.]
+ expected: FAIL
+
+ [Normal redirect to other-origin scope.]
+ expected: FAIL
+
+ [SW-fallbacked redirect to same-origin out-scope.]
+ expected: FAIL
+
+ [SW-fallbacked redirect to same-origin same-scope.]
+ expected: FAIL
+
+ [SW-fallbacked redirect to same-origin same-scope with a hash fragment.]
+ expected: FAIL
+
+ [SW-fallbacked redirect to same-origin same-scope with different hash fragments.]
+ expected: FAIL
+
+ [SW-fallbacked redirect to same-origin other-scope.]
+ expected: FAIL
+
+ [SW-fallbacked redirect to other-origin out-scope.]
+ expected: FAIL
+
+ [SW-fallbacked redirect to other-origin in-scope.]
+ expected: FAIL
+
+ [SW-fallbacked redirect to other-origin and back to same-origin.]
+ expected: FAIL
+
+ [SW-generated redirect to same-origin out-scope.]
+ expected: FAIL
+
+ [SW-generated redirect to same-origin out-scope with a hash fragment.]
+ expected: FAIL
+
+ [SW-generated redirect to same-origin out-scope with different hash fragments.]
+ expected: FAIL
+
+ [SW-generated redirect to same-origin same-scope.]
+ expected: FAIL
+
+ [SW-generated redirect to same-origin other-scope.]
+ expected: FAIL
+
+ [SW-generated redirect to other-origin out-scope.]
+ expected: FAIL
+
+ [SW-generated redirect to other-origin in-scope.]
+ expected: FAIL
+
+ [SW-fetched redirect to same-origin out-scope.]
+ expected: FAIL
+
+ [SW-fetched redirect to same-origin same-scope.]
+ expected: FAIL
+
+ [SW-fetched redirect to same-origin other-scope.]
+ expected: FAIL
+
+ [SW-fetched redirect to other-origin out-scope.]
+ expected: FAIL
+
+ [SW-fetched redirect to other-origin in-scope.]
+ expected: FAIL
+
+ [SW-fetched response from different URL, same-origin same-scope.]
+ expected: FAIL
+
+ [Redirect to same-origin out-scope with opaque redirect response.]
+ expected: FAIL
+
+ [Redirect to same-origin same-scope with opaque redirect response.]
+ expected: FAIL
+
+ [Redirect to same-origin other-scope with opaque redirect response.]
+ expected: FAIL
+
+ [Redirect to other-origin out-scope with opaque redirect response.]
+ expected: FAIL
+
+ [Redirect to other-origin in-scope with opaque redirect response.]
+ expected: FAIL
+
+ [No location redirect response.]
+ expected: FAIL
+
+ [Redirect to same-origin out-scope with opaque redirect response which is passed through Cache.]
+ expected: FAIL
+
+ [Redirect to same-origin same-scope with opaque redirect response which is passed through Cache.]
+ expected: FAIL
+
+ [Redirect to same-origin other-scope with opaque redirect response which is passed through Cache.]
+ expected: FAIL
+
+ [Redirect to other-origin out-scope with opaque redirect response which is passed through Cache.]
+ expected: FAIL
+
+ [Redirect to other-origin in-scope with opaque redirect response which is passed through Cache.]
+ expected: FAIL
+
+ [No location redirect response via Cache.]
+ expected: FAIL
+
+ [clean up global state]
+ expected: FAIL
+
+
+[navigation-redirect.https.html?default]
+ [initialize global state]
+ expected: FAIL
+
+ [Normal redirect to same-origin scope.]
+ expected: FAIL
+
+ [Normal redirect to same-origin scope with a hash fragment.]
+ expected: FAIL
+
+ [Normal redirect to same-origin scope with different hash fragments.]
+ expected: FAIL
+
+ [Normal redirect to other-origin scope.]
+ expected: FAIL
+
+ [SW-fallbacked redirect to same-origin out-scope.]
+ expected: FAIL
+
+ [SW-fallbacked redirect to same-origin same-scope.]
+ expected: FAIL
+
+ [SW-fallbacked redirect to same-origin same-scope with a hash fragment.]
+ expected: FAIL
+
+ [SW-fallbacked redirect to same-origin same-scope with different hash fragments.]
+ expected: FAIL
+
+ [SW-fallbacked redirect to same-origin other-scope.]
+ expected: FAIL
+
+ [SW-fallbacked redirect to other-origin out-scope.]
+ expected: FAIL
+
+ [SW-fallbacked redirect to other-origin in-scope.]
+ expected: FAIL
+
+ [SW-fallbacked redirect to other-origin and back to same-origin.]
+ expected: FAIL
+
+ [SW-generated redirect to same-origin out-scope.]
+ expected: FAIL
+
+ [SW-generated redirect to same-origin out-scope with a hash fragment.]
+ expected: FAIL
+
+ [SW-generated redirect to same-origin out-scope with different hash fragments.]
+ expected: FAIL
+
+ [SW-generated redirect to same-origin same-scope.]
+ expected: FAIL
+
+ [SW-generated redirect to same-origin other-scope.]
+ expected: FAIL
+
+ [SW-generated redirect to other-origin out-scope.]
+ expected: FAIL
+
+ [SW-generated redirect to other-origin in-scope.]
+ expected: FAIL
+
+ [SW-fetched redirect to same-origin out-scope.]
+ expected: FAIL
+
+ [SW-fetched redirect to same-origin same-scope.]
+ expected: FAIL
+
+ [SW-fetched redirect to same-origin other-scope.]
+ expected: FAIL
+
+ [SW-fetched redirect to other-origin out-scope.]
+ expected: FAIL
+
+ [SW-fetched redirect to other-origin in-scope.]
+ expected: FAIL
+
+ [SW-fetched response from different URL, same-origin same-scope.]
+ expected: FAIL
+
+ [Redirect to same-origin out-scope with opaque redirect response.]
+ expected: FAIL
+
+ [Redirect to same-origin same-scope with opaque redirect response.]
+ expected: FAIL
+
+ [Redirect to same-origin other-scope with opaque redirect response.]
+ expected: FAIL
+
+ [Redirect to other-origin out-scope with opaque redirect response.]
+ expected: FAIL
+
+ [Redirect to other-origin in-scope with opaque redirect response.]
+ expected: FAIL
+
+ [No location redirect response.]
+ expected: FAIL
+
+ [Redirect to same-origin out-scope with opaque redirect response which is passed through Cache.]
+ expected: FAIL
+
+ [Redirect to same-origin same-scope with opaque redirect response which is passed through Cache.]
+ expected: FAIL
+
+ [Redirect to same-origin other-scope with opaque redirect response which is passed through Cache.]
+ expected: FAIL
+
+ [Redirect to other-origin out-scope with opaque redirect response which is passed through Cache.]
+ expected: FAIL
+
+ [Redirect to other-origin in-scope with opaque redirect response which is passed through Cache.]
+ expected: FAIL
+
+ [No location redirect response via Cache.]
+ expected: FAIL
+
+ [clean up global state]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/navigation-sets-cookie.https.html.ini b/tests/wpt/meta/service-workers/service-worker/navigation-sets-cookie.https.html.ini
new file mode 100644
index 00000000000..918af410419
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/navigation-sets-cookie.https.html.ini
@@ -0,0 +1,2 @@
+[navigation-sets-cookie.https.html]
+ expected: CRASH
diff --git a/tests/wpt/meta/service-workers/service-worker/navigation-timing-extended.https.html.ini b/tests/wpt/meta/service-workers/service-worker/navigation-timing-extended.https.html.ini
new file mode 100644
index 00000000000..64173414865
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/navigation-timing-extended.https.html.ini
@@ -0,0 +1,3 @@
+[navigation-timing-extended.https.html]
+ [Service worker controlled navigation timing]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/navigation-timing-sizes.https.html.ini b/tests/wpt/meta/service-workers/service-worker/navigation-timing-sizes.https.html.ini
new file mode 100644
index 00000000000..32d6086e38c
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/navigation-timing-sizes.https.html.ini
@@ -0,0 +1,9 @@
+[navigation-timing-sizes.https.html]
+ [Body sizes in a regular pass-through]
+ expected: FAIL
+
+ [Body sizes in a pass-through with non html content]
+ expected: FAIL
+
+ [Body sizes in a regular pass-through with gzip]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/navigation-timing.https.html.ini b/tests/wpt/meta/service-workers/service-worker/navigation-timing.https.html.ini
new file mode 100644
index 00000000000..95b516299ae
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/navigation-timing.https.html.ini
@@ -0,0 +1,9 @@
+[navigation-timing.https.html]
+ [Service worker controlled navigation timing]
+ expected: FAIL
+
+ [Service worker controlled navigation timing network fallback]
+ expected: FAIL
+
+ [Service worker controlled navigation timing redirect]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/nested-blob-url-workers.https.html.ini b/tests/wpt/meta/service-workers/service-worker/nested-blob-url-workers.https.html.ini
new file mode 100644
index 00000000000..d57324ec8b8
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/nested-blob-url-workers.https.html.ini
@@ -0,0 +1,9 @@
+[nested-blob-url-workers.https.html]
+ [Nested blob URL workers should be intercepted by a service worker.]
+ expected: FAIL
+
+ [Nested worker created from a blob URL worker should be intercepted by a service worker.]
+ expected: FAIL
+
+ [Nested blob URL worker created from a worker should be intercepted by a service worker.]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/next-hop-protocol.https.html.ini b/tests/wpt/meta/service-workers/service-worker/next-hop-protocol.https.html.ini
new file mode 100644
index 00000000000..436678be64c
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/next-hop-protocol.https.html.ini
@@ -0,0 +1,6 @@
+[next-hop-protocol.https.html]
+ [nextHopProtocol reports H1 correctly when routed via a service worker.]
+ expected: FAIL
+
+ [nextHopProtocol reports H2 correctly when routed via a service worker.]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/no-dynamic-import-in-module.any.js.ini b/tests/wpt/meta/service-workers/service-worker/no-dynamic-import-in-module.any.js.ini
new file mode 100644
index 00000000000..f24b6dea491
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/no-dynamic-import-in-module.any.js.ini
@@ -0,0 +1,2 @@
+[no-dynamic-import-in-module.any.serviceworker-module.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/service-workers/service-worker/no-dynamic-import.any.js.ini b/tests/wpt/meta/service-workers/service-worker/no-dynamic-import.any.js.ini
new file mode 100644
index 00000000000..085fb7c04ed
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/no-dynamic-import.any.js.ini
@@ -0,0 +1,2 @@
+[no-dynamic-import.any.serviceworker.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/service-workers/service-worker/onactivate-script-error.https.html.ini b/tests/wpt/meta/service-workers/service-worker/onactivate-script-error.https.html.ini
new file mode 100644
index 00000000000..c9cd2e86c63
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/onactivate-script-error.https.html.ini
@@ -0,0 +1,15 @@
+[onactivate-script-error.https.html]
+ [activate handler throws an error]
+ expected: FAIL
+
+ [activate handler throws an error, error handler does not cancel]
+ expected: FAIL
+
+ [activate handler dispatches an event that throws an error]
+ expected: FAIL
+
+ [activate handler throws an error that is cancelled]
+ expected: FAIL
+
+ [activate handler throws an error and prevents default]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/oninstall-script-error.https.html.ini b/tests/wpt/meta/service-workers/service-worker/oninstall-script-error.https.html.ini
new file mode 100644
index 00000000000..49a0a57ce58
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/oninstall-script-error.https.html.ini
@@ -0,0 +1,18 @@
+[oninstall-script-error.https.html]
+ [install handler throws an error]
+ expected: FAIL
+
+ [install handler throws an error, error handler does not cancel]
+ expected: FAIL
+
+ [install handler dispatches an event that throws an error]
+ expected: FAIL
+
+ [install handler throws an error in the waitUntil]
+ expected: FAIL
+
+ [install handler throws an error that is cancelled]
+ expected: FAIL
+
+ [install handler throws an error and prevents default]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/opaque-response-preloaded.https.html.ini b/tests/wpt/meta/service-workers/service-worker/opaque-response-preloaded.https.html.ini
new file mode 100644
index 00000000000..1e25118877e
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/opaque-response-preloaded.https.html.ini
@@ -0,0 +1,6 @@
+[opaque-response-preloaded.https.html]
+ [Opaque responses should not be reused for XHRs, loading case]
+ expected: FAIL
+
+ [Opaque responses should not be reused for XHRs, done case]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/opaque-script.https.html.ini b/tests/wpt/meta/service-workers/service-worker/opaque-script.https.html.ini
new file mode 100644
index 00000000000..bafe70655f7
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/opaque-script.https.html.ini
@@ -0,0 +1,12 @@
+[opaque-script.https.html]
+ [Verify small same-origin cache_storage scripts are not opaque.]
+ expected: FAIL
+
+ [Verify large same-origin cache_storage scripts are not opaque.]
+ expected: FAIL
+
+ [Verify small cross-origin cache_storage scripts are opaque.]
+ expected: FAIL
+
+ [Verify large cross-origin cache_storage scripts are opaque.]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/partitioned-claim.tentative.https.html.ini b/tests/wpt/meta/service-workers/service-worker/partitioned-claim.tentative.https.html.ini
new file mode 100644
index 00000000000..1ccd8c13206
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/partitioned-claim.tentative.https.html.ini
@@ -0,0 +1,3 @@
+[partitioned-claim.tentative.https.html]
+ [ServiceWorker's clients.claim() is partitioned]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/partitioned-cookies.tentative.https.html.ini b/tests/wpt/meta/service-workers/service-worker/partitioned-cookies.tentative.https.html.ini
new file mode 100644
index 00000000000..d111a73b618
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/partitioned-cookies.tentative.https.html.ini
@@ -0,0 +1,3 @@
+[partitioned-cookies.tentative.https.html]
+ [Service Worker: Partitioned Cookies]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/partitioned-getRegistrations.tentative.https.html.ini b/tests/wpt/meta/service-workers/service-worker/partitioned-getRegistrations.tentative.https.html.ini
new file mode 100644
index 00000000000..c980732a87d
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/partitioned-getRegistrations.tentative.https.html.ini
@@ -0,0 +1,3 @@
+[partitioned-getRegistrations.tentative.https.html]
+ [ServiceWorker's getRegistrations() is partitioned]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/partitioned-matchAll.tentative.https.html.ini b/tests/wpt/meta/service-workers/service-worker/partitioned-matchAll.tentative.https.html.ini
new file mode 100644
index 00000000000..7065504915c
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/partitioned-matchAll.tentative.https.html.ini
@@ -0,0 +1,3 @@
+[partitioned-matchAll.tentative.https.html]
+ [ServiceWorker's matchAll() is partitioned]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/partitioned.tentative.https.html.ini b/tests/wpt/meta/service-workers/service-worker/partitioned.tentative.https.html.ini
new file mode 100644
index 00000000000..783172b1213
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/partitioned.tentative.https.html.ini
@@ -0,0 +1,6 @@
+[partitioned.tentative.https.html]
+ [Services workers under different top-level sites are partitioned.]
+ expected: FAIL
+
+ [Services workers with cross-site ancestors are partitioned.]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/performance-timeline.https.html.ini b/tests/wpt/meta/service-workers/service-worker/performance-timeline.https.html.ini
new file mode 100644
index 00000000000..4e8a5795156
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/performance-timeline.https.html.ini
@@ -0,0 +1,6 @@
+[performance-timeline.https.html]
+ [Test Performance Timeline API in Service Worker]
+ expected: FAIL
+
+ [empty service worker fetch event included in performance timings]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/postmessage-blob-url.https.html.ini b/tests/wpt/meta/service-workers/service-worker/postmessage-blob-url.https.html.ini
new file mode 100644
index 00000000000..3fc4ea0277e
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/postmessage-blob-url.https.html.ini
@@ -0,0 +1,3 @@
+[postmessage-blob-url.https.html]
+ [postMessage Blob URL to a ServiceWorker]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/postmessage-from-waiting-serviceworker.https.html.ini b/tests/wpt/meta/service-workers/service-worker/postmessage-from-waiting-serviceworker.https.html.ini
new file mode 100644
index 00000000000..c4c8360840b
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/postmessage-from-waiting-serviceworker.https.html.ini
@@ -0,0 +1,3 @@
+[postmessage-from-waiting-serviceworker.https.html]
+ [Client.postMessage() from waiting serviceworker.]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/postmessage-msgport-to-client.https.html.ini b/tests/wpt/meta/service-workers/service-worker/postmessage-msgport-to-client.https.html.ini
new file mode 100644
index 00000000000..a822d98c1ba
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/postmessage-msgport-to-client.https.html.ini
@@ -0,0 +1,3 @@
+[postmessage-msgport-to-client.https.html]
+ [postMessage MessagePorts from ServiceWorker to Client]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/postmessage-to-client-message-queue.https.html.ini b/tests/wpt/meta/service-workers/service-worker/postmessage-to-client-message-queue.https.html.ini
new file mode 100644
index 00000000000..7e4ff038328
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/postmessage-to-client-message-queue.https.html.ini
@@ -0,0 +1,15 @@
+[postmessage-to-client-message-queue.https.html]
+ [Messages from ServiceWorker to Client only received after DOMContentLoaded event.]
+ expected: FAIL
+
+ [Messages from ServiceWorker to Client only received after calling startMessages().]
+ expected: FAIL
+
+ [Messages from ServiceWorker to Client only received after setting onmessage.]
+ expected: FAIL
+
+ [Microtasks run before dispatching messages after calling startMessages().]
+ expected: FAIL
+
+ [Microtasks run before dispatching messages after setting onmessage.]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/postmessage-to-client.https.html.ini b/tests/wpt/meta/service-workers/service-worker/postmessage-to-client.https.html.ini
new file mode 100644
index 00000000000..2f08e10cc5d
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/postmessage-to-client.https.html.ini
@@ -0,0 +1,3 @@
+[postmessage-to-client.https.html]
+ [postMessage from ServiceWorker to Client.]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/postmessage.https.html.ini b/tests/wpt/meta/service-workers/service-worker/postmessage.https.html.ini
new file mode 100644
index 00000000000..a9d2cad9501
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/postmessage.https.html.ini
@@ -0,0 +1,15 @@
+[postmessage.https.html]
+ [postMessage to a ServiceWorker (and back via MessagePort)]
+ expected: FAIL
+
+ [postMessage a transferable ArrayBuffer between ServiceWorker and Client]
+ expected: FAIL
+
+ [postMessage a transferable ArrayBuffer between ServiceWorker and Client over MessagePort]
+ expected: FAIL
+
+ [postMessage with dictionary a transferable ArrayBuffer between ServiceWorker and Client]
+ expected: FAIL
+
+ [postMessage to a redundant worker]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/ready.https.window.js.ini b/tests/wpt/meta/service-workers/service-worker/ready.https.window.js.ini
new file mode 100644
index 00000000000..223412348a4
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/ready.https.window.js.ini
@@ -0,0 +1,25 @@
+[ready.https.window.html]
+ expected: ERROR
+ [ready returns a Promise object in the context of the related document]
+ expected: FAIL
+
+ [ready on a controlled document]
+ expected: FAIL
+
+ [ready on a potential controlled document]
+ expected: FAIL
+
+ [ready on an iframe whose parent registers a new service worker]
+ expected: NOTRUN
+
+ [ready on an iframe that installs a new service worker]
+ expected: NOTRUN
+
+ [ready after a longer matched registration registered]
+ expected: NOTRUN
+
+ [access ready after it has been resolved]
+ expected: NOTRUN
+
+ [resolve ready after unregistering]
+ expected: NOTRUN
diff --git a/tests/wpt/meta/service-workers/service-worker/redirected-response.https.html.ini b/tests/wpt/meta/service-workers/service-worker/redirected-response.https.html.ini
new file mode 100644
index 00000000000..014cea742e1
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/redirected-response.https.html.ini
@@ -0,0 +1,72 @@
+[redirected-response.https.html]
+ [initialize global state (service worker registration and caches)]
+ expected: FAIL
+
+ [mode: "follow", non-intercepted request, no server redirect]
+ expected: FAIL
+
+ [mode: "follow", non-intercepted request]
+ expected: FAIL
+
+ [mode: "manual", non-intercepted request]
+ expected: FAIL
+
+ [mode: "error", non-intercepted request]
+ expected: FAIL
+
+ [mode: "follow", no mode change, no server redirect]
+ expected: FAIL
+
+ [mode: "follow", no mode change]
+ expected: FAIL
+
+ [mode: "error", mode change: "follow"]
+ expected: FAIL
+
+ [mode: "manual", mode change: "follow"]
+ expected: FAIL
+
+ [mode: "follow", mode change: "manual"]
+ expected: FAIL
+
+ [mode: "error", mode change: "manual"]
+ expected: FAIL
+
+ [mode: "manual", no mode change]
+ expected: FAIL
+
+ [mode: "follow", generated redirect response]
+ expected: FAIL
+
+ [mode: "error", generated redirect response]
+ expected: FAIL
+
+ [mode: "manual", generated redirect response]
+ expected: FAIL
+
+ [mode: "follow", manually-generated redirect response]
+ expected: FAIL
+
+ [mode: "error", manually-generated redirect response]
+ expected: FAIL
+
+ [mode: "manual", manually-generated redirect response]
+ expected: FAIL
+
+ [mode: "follow", generated relative redirect response]
+ expected: FAIL
+
+ [mode: "error", generated relative redirect response]
+ expected: FAIL
+
+ [mode: "manual", generated relative redirect response]
+ expected: FAIL
+
+ [Fetch should follow the redirect response 20 times]
+ expected: FAIL
+
+ [Fetch should not follow the redirect response 21 times.]
+ expected: FAIL
+
+ [The URL for the service worker redirected request should be propagated to response.]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/referer.https.html.ini b/tests/wpt/meta/service-workers/service-worker/referer.https.html.ini
new file mode 100644
index 00000000000..683244c318a
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/referer.https.html.ini
@@ -0,0 +1,3 @@
+[referer.https.html]
+ [Verify the referer]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/referrer-policy-header.https.html.ini b/tests/wpt/meta/service-workers/service-worker/referrer-policy-header.https.html.ini
new file mode 100644
index 00000000000..6dcd95a381c
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/referrer-policy-header.https.html.ini
@@ -0,0 +1,9 @@
+[referrer-policy-header.https.html]
+ [Referrer for a main resource redirected with referrer-policy (origin) should only have origin.]
+ expected: FAIL
+
+ [Referrer for a main resource redirected with a module script with referrer-policy (origin) should only have origin.]
+ expected: FAIL
+
+ [Referrer for fetch requests initiated from a service worker with referrer-policy (origin) should only have origin.]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/referrer-toplevel-script-fetch.https.html.ini b/tests/wpt/meta/service-workers/service-worker/referrer-toplevel-script-fetch.https.html.ini
new file mode 100644
index 00000000000..bf5ac8dc93e
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/referrer-toplevel-script-fetch.https.html.ini
@@ -0,0 +1,6 @@
+[referrer-toplevel-script-fetch.https.html]
+ [Referrer of the top-level script fetch should be the document URL]
+ expected: FAIL
+
+ [Referrer of the module script fetch should be the document URL]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/register-closed-window.https.html.ini b/tests/wpt/meta/service-workers/service-worker/register-closed-window.https.html.ini
new file mode 100644
index 00000000000..47d4ba62204
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/register-closed-window.https.html.ini
@@ -0,0 +1,4 @@
+[register-closed-window.https.html]
+ expected: TIMEOUT
+ [Call register() on ServiceWorkerContainer owned by closed window.]
+ expected: TIMEOUT
diff --git a/tests/wpt/meta/service-workers/service-worker/register-default-scope.https.html.ini b/tests/wpt/meta/service-workers/service-worker/register-default-scope.https.html.ini
new file mode 100644
index 00000000000..6a396c27848
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/register-default-scope.https.html.ini
@@ -0,0 +1,9 @@
+[register-default-scope.https.html]
+ [default scope]
+ expected: FAIL
+
+ [undefined scope]
+ expected: FAIL
+
+ [null scope]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/register-same-scope-different-script-url.https.html.ini b/tests/wpt/meta/service-workers/service-worker/register-same-scope-different-script-url.https.html.ini
new file mode 100644
index 00000000000..f3eedf3c4db
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/register-same-scope-different-script-url.https.html.ini
@@ -0,0 +1,15 @@
+[register-same-scope-different-script-url.https.html]
+ [Register different scripts concurrently]
+ expected: FAIL
+
+ [Register then register new script URL]
+ expected: FAIL
+
+ [Register then register new script URL that 404s]
+ expected: FAIL
+
+ [Register then register new script that does not install]
+ expected: FAIL
+
+ [Register same-scope new script url effect on controller]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/register-wait-forever-in-install-worker.https.html.ini b/tests/wpt/meta/service-workers/service-worker/register-wait-forever-in-install-worker.https.html.ini
new file mode 100644
index 00000000000..a29053b643f
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/register-wait-forever-in-install-worker.https.html.ini
@@ -0,0 +1,4 @@
+[register-wait-forever-in-install-worker.https.html]
+ expected: CRASH
+ [register worker that calls waitUntil with a promise that never resolves in oninstall]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/registration-basic.https.html.ini b/tests/wpt/meta/service-workers/service-worker/registration-basic.https.html.ini
new file mode 100644
index 00000000000..b4c29d0f519
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/registration-basic.https.html.ini
@@ -0,0 +1,7 @@
+[registration-basic.https.html]
+ expected: ERROR
+ [Registering scope with fragment]
+ expected: NOTRUN
+
+ [Registering same scope as the script directory]
+ expected: NOTRUN
diff --git a/tests/wpt/meta/service-workers/service-worker/registration-end-to-end.https.html.ini b/tests/wpt/meta/service-workers/service-worker/registration-end-to-end.https.html.ini
new file mode 100644
index 00000000000..eac03d076f2
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/registration-end-to-end.https.html.ini
@@ -0,0 +1,3 @@
+[registration-end-to-end.https.html]
+ [Registration: end-to-end]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/registration-events.https.html.ini b/tests/wpt/meta/service-workers/service-worker/registration-events.https.html.ini
new file mode 100644
index 00000000000..d1ae6472786
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/registration-events.https.html.ini
@@ -0,0 +1,3 @@
+[registration-events.https.html]
+ [Registration: events]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/registration-iframe.https.html.ini b/tests/wpt/meta/service-workers/service-worker/registration-iframe.https.html.ini
new file mode 100644
index 00000000000..f96ac530867
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/registration-iframe.https.html.ini
@@ -0,0 +1,9 @@
+[registration-iframe.https.html]
+ [register method should use the "relevant global object" to parse its scriptURL and scope - normal case]
+ expected: FAIL
+
+ [register method should use the "relevant global object" to parse its scriptURL and scope - error case]
+ expected: FAIL
+
+ [A scope url should start with the given script url]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/registration-mime-types.https.html.ini b/tests/wpt/meta/service-workers/service-worker/registration-mime-types.https.html.ini
new file mode 100644
index 00000000000..3076b1105ec
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/registration-mime-types.https.html.ini
@@ -0,0 +1,2 @@
+[registration-mime-types.https.html]
+ expected: CRASH
diff --git a/tests/wpt/meta/service-workers/service-worker/registration-schedule-job.https.html.ini b/tests/wpt/meta/service-workers/service-worker/registration-schedule-job.https.html.ini
new file mode 100644
index 00000000000..99213f8a72f
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/registration-schedule-job.https.html.ini
@@ -0,0 +1,9 @@
+[registration-schedule-job.https.html]
+ [different scriptURL]
+ expected: FAIL
+
+ [different updateViaCache]
+ expected: FAIL
+
+ [different type]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/registration-scope-module-static-import.https.html.ini b/tests/wpt/meta/service-workers/service-worker/registration-scope-module-static-import.https.html.ini
new file mode 100644
index 00000000000..00be2a4748f
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/registration-scope-module-static-import.https.html.ini
@@ -0,0 +1,9 @@
+[registration-scope-module-static-import.https.html]
+ [imported-module-script.js works when used as top-level]
+ expected: FAIL
+
+ [static imports to outside path restriction should be allowed]
+ expected: FAIL
+
+ [static imports redirecting to outside path restriction should be allowed]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/registration-scope.https.html.ini b/tests/wpt/meta/service-workers/service-worker/registration-scope.https.html.ini
new file mode 100644
index 00000000000..e712494fd95
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/registration-scope.https.html.ini
@@ -0,0 +1,2 @@
+[registration-scope.https.html]
+ expected: CRASH
diff --git a/tests/wpt/meta/service-workers/service-worker/registration-script-module.https.html.ini b/tests/wpt/meta/service-workers/service-worker/registration-script-module.https.html.ini
new file mode 100644
index 00000000000..eee59eae104
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/registration-script-module.https.html.ini
@@ -0,0 +1,2 @@
+[registration-script-module.https.html]
+ expected: CRASH
diff --git a/tests/wpt/meta/service-workers/service-worker/registration-script-url.https.html.ini b/tests/wpt/meta/service-workers/service-worker/registration-script-url.https.html.ini
new file mode 100644
index 00000000000..4579039652e
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/registration-script-url.https.html.ini
@@ -0,0 +1,2 @@
+[registration-script-url.https.html]
+ expected: CRASH
diff --git a/tests/wpt/meta/service-workers/service-worker/registration-script.https.html.ini b/tests/wpt/meta/service-workers/service-worker/registration-script.https.html.ini
new file mode 100644
index 00000000000..bd7dfce0190
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/registration-script.https.html.ini
@@ -0,0 +1,2 @@
+[registration-script.https.html]
+ expected: CRASH
diff --git a/tests/wpt/meta/service-workers/service-worker/registration-security-error.https.html.ini b/tests/wpt/meta/service-workers/service-worker/registration-security-error.https.html.ini
new file mode 100644
index 00000000000..b6201ad6780
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/registration-security-error.https.html.ini
@@ -0,0 +1,2 @@
+[registration-security-error.https.html]
+ expected: CRASH
diff --git a/tests/wpt/meta/service-workers/service-worker/registration-service-worker-attributes.https.html.ini b/tests/wpt/meta/service-workers/service-worker/registration-service-worker-attributes.https.html.ini
new file mode 100644
index 00000000000..694c2468172
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/registration-service-worker-attributes.https.html.ini
@@ -0,0 +1,3 @@
+[registration-service-worker-attributes.https.html]
+ [installing/waiting/active after registration]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/registration-updateviacache.https.html.ini b/tests/wpt/meta/service-workers/service-worker/registration-updateviacache.https.html.ini
new file mode 100644
index 00000000000..0490f7fecb1
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/registration-updateviacache.https.html.ini
@@ -0,0 +1,75 @@
+[registration-updateviacache.https.html]
+ [register-with-updateViaCache-undefined]
+ expected: FAIL
+
+ [register-with-updateViaCache-imports]
+ expected: FAIL
+
+ [register-with-updateViaCache-all]
+ expected: FAIL
+
+ [register-with-updateViaCache-none]
+ expected: FAIL
+
+ [register-with-updateViaCache-undefined-then-undefined]
+ expected: FAIL
+
+ [register-with-updateViaCache-undefined-then-imports]
+ expected: FAIL
+
+ [register-with-updateViaCache-undefined-then-all]
+ expected: FAIL
+
+ [register-with-updateViaCache-undefined-then-none]
+ expected: FAIL
+
+ [register-with-updateViaCache-imports-then-undefined]
+ expected: FAIL
+
+ [register-with-updateViaCache-imports-then-imports]
+ expected: FAIL
+
+ [register-with-updateViaCache-imports-then-all]
+ expected: FAIL
+
+ [register-with-updateViaCache-imports-then-none]
+ expected: FAIL
+
+ [register-with-updateViaCache-all-then-undefined]
+ expected: FAIL
+
+ [register-with-updateViaCache-all-then-imports]
+ expected: FAIL
+
+ [register-with-updateViaCache-all-then-all]
+ expected: FAIL
+
+ [register-with-updateViaCache-all-then-none]
+ expected: FAIL
+
+ [register-with-updateViaCache-none-then-undefined]
+ expected: FAIL
+
+ [register-with-updateViaCache-none-then-imports]
+ expected: FAIL
+
+ [register-with-updateViaCache-none-then-all]
+ expected: FAIL
+
+ [register-with-updateViaCache-none-then-none]
+ expected: FAIL
+
+ [access-updateViaCache-after-unregister-undefined]
+ expected: FAIL
+
+ [access-updateViaCache-after-unregister-imports]
+ expected: FAIL
+
+ [access-updateViaCache-after-unregister-all]
+ expected: FAIL
+
+ [access-updateViaCache-after-unregister-none]
+ expected: FAIL
+
+ [updateViaCache is not updated if register() rejects]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/rejections.https.html.ini b/tests/wpt/meta/service-workers/service-worker/rejections.https.html.ini
new file mode 100644
index 00000000000..e07dd01ffda
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/rejections.https.html.ini
@@ -0,0 +1,4 @@
+[rejections.https.html]
+ expected: TIMEOUT
+ [Rejections are DOMExceptions]
+ expected: TIMEOUT
diff --git a/tests/wpt/meta/service-workers/service-worker/request-end-to-end.https.html.ini b/tests/wpt/meta/service-workers/service-worker/request-end-to-end.https.html.ini
new file mode 100644
index 00000000000..c219b15a1d4
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/request-end-to-end.https.html.ini
@@ -0,0 +1,3 @@
+[request-end-to-end.https.html]
+ [Test FetchEvent.request passed to onfetch]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/resource-timing-bodySize.https.html.ini b/tests/wpt/meta/service-workers/service-worker/resource-timing-bodySize.https.html.ini
new file mode 100644
index 00000000000..62de35874ff
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/resource-timing-bodySize.https.html.ini
@@ -0,0 +1,72 @@
+[resource-timing-bodySize.https.html]
+ [Response body size: constructed, cors, TAO pass]
+ expected: FAIL
+
+ [Response body size: forward, cors, TAO pass]
+ expected: FAIL
+
+ [Response body size: stream, cors, TAO pass]
+ expected: FAIL
+
+ [Response body size: passthrough, cors, TAO pass]
+ expected: FAIL
+
+ [Response body size: constructed, cors, TAO fail]
+ expected: FAIL
+
+ [Response body size: forward, cors, TAO fail]
+ expected: FAIL
+
+ [Response body size: stream, cors, TAO fail]
+ expected: FAIL
+
+ [Response body size: passthrough, cors, TAO fail]
+ expected: FAIL
+
+ [Response body size: constructed, no-cors, TAO pass]
+ expected: FAIL
+
+ [Response body size: forward, no-cors, TAO pass]
+ expected: FAIL
+
+ [Response body size: stream, no-cors, TAO pass]
+ expected: FAIL
+
+ [Response body size: passthrough, no-cors, TAO pass]
+ expected: FAIL
+
+ [Response body size: constructed, no-cors, TAO fail]
+ expected: FAIL
+
+ [Response body size: forward, no-cors, TAO fail]
+ expected: FAIL
+
+ [Response body size: stream, no-cors, TAO fail]
+ expected: FAIL
+
+ [Response body size: passthrough, no-cors, TAO fail]
+ expected: FAIL
+
+ [Response body size: constructed, same-origin, TAO pass]
+ expected: FAIL
+
+ [Response body size: forward, same-origin, TAO pass]
+ expected: FAIL
+
+ [Response body size: stream, same-origin, TAO pass]
+ expected: FAIL
+
+ [Response body size: passthrough, same-origin, TAO pass]
+ expected: FAIL
+
+ [Response body size: constructed, same-origin, TAO fail]
+ expected: FAIL
+
+ [Response body size: forward, same-origin, TAO fail]
+ expected: FAIL
+
+ [Response body size: stream, same-origin, TAO fail]
+ expected: FAIL
+
+ [Response body size: passthrough, same-origin, TAO fail]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/resource-timing-cross-origin.https.html.ini b/tests/wpt/meta/service-workers/service-worker/resource-timing-cross-origin.https.html.ini
new file mode 100644
index 00000000000..6b05678cd75
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/resource-timing-cross-origin.https.html.ini
@@ -0,0 +1,6 @@
+[resource-timing-cross-origin.https.html]
+ [Test that timing allow check fails when service worker changes origin from same to cross origin (cors).]
+ expected: FAIL
+
+ [Test that timing allow check fails when service worker changes origin from same to cross origin (no-cors).]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/resource-timing-fetch-variants.https.html.ini b/tests/wpt/meta/service-workers/service-worker/resource-timing-fetch-variants.https.html.ini
new file mode 100644
index 00000000000..4b56040ddde
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/resource-timing-fetch-variants.https.html.ini
@@ -0,0 +1,15 @@
+[resource-timing-fetch-variants.https.html]
+ [Redirects done from within a service-worker should not be exposed to client ResourceTiming]
+ expected: FAIL
+
+ [Connection info from within a service-worker should not be exposed to client ResourceTiming]
+ expected: FAIL
+
+ [requestStart should never be before fetchStart]
+ expected: FAIL
+
+ [Delay from within service-worker (after internal fetching) should be accessible through `responseStart`]
+ expected: FAIL
+
+ [Delay from within service-worker (before internal fetching) should be measured before responseStart in the client ResourceTiming entry]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/resource-timing.sub.https.html.ini b/tests/wpt/meta/service-workers/service-worker/resource-timing.sub.https.html.ini
new file mode 100644
index 00000000000..b0f78c0e9d0
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/resource-timing.sub.https.html.ini
@@ -0,0 +1,6 @@
+[resource-timing.sub.https.html]
+ [Controlled resource loads]
+ expected: FAIL
+
+ [Non-controlled resource loads]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/respond-with-body-accessed-response.https.html.ini b/tests/wpt/meta/service-workers/service-worker/respond-with-body-accessed-response.https.html.ini
new file mode 100644
index 00000000000..1bab9309bd6
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/respond-with-body-accessed-response.https.html.ini
@@ -0,0 +1,57 @@
+[respond-with-body-accessed-response.https.html]
+ [initialize global state]
+ expected: FAIL
+
+ [test: type=basic]
+ expected: FAIL
+
+ [test: type=opaque]
+ expected: FAIL
+
+ [test: type=default]
+ expected: FAIL
+
+ [test: type=basic&clone=1]
+ expected: FAIL
+
+ [test: type=opaque&clone=1]
+ expected: FAIL
+
+ [test: type=default&clone=1]
+ expected: FAIL
+
+ [test: type=basic&clone=2]
+ expected: FAIL
+
+ [test: type=opaque&clone=2]
+ expected: FAIL
+
+ [test: type=default&clone=2]
+ expected: FAIL
+
+ [test: type=basic&passThroughCache=true]
+ expected: FAIL
+
+ [test: type=opaque&passThroughCache=true]
+ expected: FAIL
+
+ [test: type=default&passThroughCache=true]
+ expected: FAIL
+
+ [test: type=basic&clone=1&passThroughCache=true]
+ expected: FAIL
+
+ [test: type=opaque&clone=1&passThroughCache=true]
+ expected: FAIL
+
+ [test: type=default&clone=1&passThroughCache=true]
+ expected: FAIL
+
+ [test: type=basic&clone=2&passThroughCache=true]
+ expected: FAIL
+
+ [test: type=opaque&clone=2&passThroughCache=true]
+ expected: FAIL
+
+ [test: type=default&clone=2&passThroughCache=true]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/same-site-cookies.https.html.ini b/tests/wpt/meta/service-workers/service-worker/same-site-cookies.https.html.ini
new file mode 100644
index 00000000000..cd5cc7b5dc5
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/same-site-cookies.https.html.ini
@@ -0,0 +1,2 @@
+[same-site-cookies.https.html]
+ expected: CRASH
diff --git a/tests/wpt/meta/service-workers/service-worker/sandboxed-iframe-fetch-event.https.html.ini b/tests/wpt/meta/service-workers/service-worker/sandboxed-iframe-fetch-event.https.html.ini
new file mode 100644
index 00000000000..560b73a41a3
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/sandboxed-iframe-fetch-event.https.html.ini
@@ -0,0 +1,87 @@
+[sandboxed-iframe-fetch-event.https.html]
+ [Prepare a service worker.]
+ expected: FAIL
+
+ [Prepare a normal iframe.]
+ expected: FAIL
+
+ [Prepare an iframe sandboxed by <iframe sandbox="allow-scripts">.]
+ expected: FAIL
+
+ [Prepare an iframe sandboxed by <iframe sandbox="allow-scripts allow-same-origin">.]
+ expected: FAIL
+
+ [Prepare an iframe sandboxed by CSP HTTP header with allow-scripts.]
+ expected: FAIL
+
+ [Prepare an iframe sandboxed by CSP HTTP header with allow-scripts and allow-same-origin.]
+ expected: FAIL
+
+ [Fetch request from a normal iframe]
+ expected: FAIL
+
+ [Fetch request from a worker in a normal iframe]
+ expected: FAIL
+
+ [Request for an iframe in the normal iframe]
+ expected: FAIL
+
+ [Request for an sandboxed iframe with allow-scripts flag in the normal iframe]
+ expected: FAIL
+
+ [Request for an sandboxed iframe with allow-scripts and allow-same-origin flag in the normal iframe]
+ expected: FAIL
+
+ [Fetch request from iframe sandboxed by an attribute with allow-scripts flag]
+ expected: FAIL
+
+ [Fetch request from a worker in iframe sandboxed by an attribute with allow-scripts flag]
+ expected: FAIL
+
+ [Request for an iframe in the iframe sandboxed by an attribute with allow-scripts flag]
+ expected: FAIL
+
+ [Request for an sandboxed iframe with allow-scripts flag in the iframe sandboxed by an attribute with allow-scripts flag]
+ expected: FAIL
+
+ [Request for an sandboxed iframe with allow-scripts and allow-same-origin flag in the iframe sandboxed by an attribute with allow-scripts flag]
+ expected: FAIL
+
+ [Fetch request from iframe sandboxed by an attribute with allow-scripts and allow-same-origin flag]
+ expected: FAIL
+
+ [Fetch request from a worker in iframe sandboxed by an attribute with allow-scripts and allow-same-origin flag]
+ expected: FAIL
+
+ [Request for an iframe in the iframe sandboxed by an attribute with allow-scripts and allow-same-origin flag]
+ expected: FAIL
+
+ [Request for an sandboxed iframe with allow-scripts flag in the iframe sandboxed by attribute with allow-scripts and allow-same-origin flag]
+ expected: FAIL
+
+ [Request for an sandboxed iframe with allow-scripts and allow-same-origin flag in the iframe sandboxed by attribute with allow-scripts and allow-same-origin flag]
+ expected: FAIL
+
+ [Fetch request from iframe sandboxed by CSP HTTP header with allow-scripts flag]
+ expected: FAIL
+
+ [Request for an iframe in the iframe sandboxed by CSP HTTP header with allow-scripts flag]
+ expected: FAIL
+
+ [Request for an sandboxed iframe with allow-scripts flag in the iframe sandboxed by CSP HTTP header with allow-scripts flag]
+ expected: FAIL
+
+ [Request for an sandboxed iframe with allow-scripts and allow-same-origin flag in the iframe sandboxed by CSP HTTP header with allow-scripts flag]
+ expected: FAIL
+
+ [Fetch request from iframe sandboxed by CSP HTTP header with allow-scripts and allow-same-origin flag]
+ expected: FAIL
+
+ [Request for an iframe in the iframe sandboxed by CSP HTTP header with allow-scripts and allow-same-origin flag]
+ expected: FAIL
+
+ [Request for an sandboxed iframe with allow-scripts flag in the iframe sandboxed by CSP HTTP header with allow-scripts and allow-same-origin flag]
+ expected: FAIL
+
+ [Request for an sandboxed iframe with allow-scripts and allow-same-origin flag in the iframe sandboxed by CSP HTTP header with allow-scripts and allow-same-origin flag]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/sandboxed-iframe-navigator-serviceworker.https.html.ini b/tests/wpt/meta/service-workers/service-worker/sandboxed-iframe-navigator-serviceworker.https.html.ini
new file mode 100644
index 00000000000..ef3c60c5476
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/sandboxed-iframe-navigator-serviceworker.https.html.ini
@@ -0,0 +1,9 @@
+[sandboxed-iframe-navigator-serviceworker.https.html]
+ [Accessing navigator.serviceWorker in normal iframe should not throw.]
+ expected: FAIL
+
+ [Accessing navigator.serviceWorker in sandboxed iframe should throw.]
+ expected: FAIL
+
+ [Accessing navigator.serviceWorker in sandboxed iframe with allow-same-origin flag should not throw.]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/secure-context.https.html.ini b/tests/wpt/meta/service-workers/service-worker/secure-context.https.html.ini
new file mode 100644
index 00000000000..d45a23dfb4d
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/secure-context.https.html.ini
@@ -0,0 +1,3 @@
+[secure-context.https.html]
+ [Ensure service worker is bypassed in insecure contexts]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/service-worker-csp-connect.https.html.ini b/tests/wpt/meta/service-workers/service-worker/service-worker-csp-connect.https.html.ini
new file mode 100644
index 00000000000..9a785f587cd
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/service-worker-csp-connect.https.html.ini
@@ -0,0 +1,3 @@
+[service-worker-csp-connect.https.html]
+ [CSP test for connect-src in ServiceWorkerGlobalScope]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/service-worker-csp-default.https.html.ini b/tests/wpt/meta/service-workers/service-worker/service-worker-csp-default.https.html.ini
new file mode 100644
index 00000000000..744ce9648e5
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/service-worker-csp-default.https.html.ini
@@ -0,0 +1,3 @@
+[service-worker-csp-default.https.html]
+ [CSP test for default-src in ServiceWorkerGlobalScope]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/service-worker-csp-script.https.html.ini b/tests/wpt/meta/service-workers/service-worker/service-worker-csp-script.https.html.ini
new file mode 100644
index 00000000000..b320484dc1c
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/service-worker-csp-script.https.html.ini
@@ -0,0 +1,3 @@
+[service-worker-csp-script.https.html]
+ [CSP test for script-src in ServiceWorkerGlobalScope]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/service-worker-header.https.html.ini b/tests/wpt/meta/service-workers/service-worker/service-worker-header.https.html.ini
new file mode 100644
index 00000000000..1932b8736a4
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/service-worker-header.https.html.ini
@@ -0,0 +1,3 @@
+[service-worker-header.https.html]
+ [A request to fetch service worker main script should have Service-Worker header and imported scripts should not have one]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/serviceworker-message-event-historical.https.html.ini b/tests/wpt/meta/service-workers/service-worker/serviceworker-message-event-historical.https.html.ini
new file mode 100644
index 00000000000..4733254131d
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/serviceworker-message-event-historical.https.html.ini
@@ -0,0 +1,3 @@
+[serviceworker-message-event-historical.https.html]
+ [Test MessageEvent supplants ServiceWorkerMessageEvent.]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/serviceworkerobject-scripturl.https.html.ini b/tests/wpt/meta/service-workers/service-worker/serviceworkerobject-scripturl.https.html.ini
new file mode 100644
index 00000000000..2a83eda00b0
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/serviceworkerobject-scripturl.https.html.ini
@@ -0,0 +1,12 @@
+[serviceworkerobject-scripturl.https.html]
+ [Verify the scriptURL property: relative]
+ expected: FAIL
+
+ [Verify the scriptURL property: with-fragment]
+ expected: FAIL
+
+ [Verify the scriptURL property: with-query]
+ expected: FAIL
+
+ [Verify the scriptURL property: absolute]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/shadowrealm-promise-rejection.https.html.ini b/tests/wpt/meta/service-workers/service-worker/shadowrealm-promise-rejection.https.html.ini
new file mode 100644
index 00000000000..ae6c3a5ec5b
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/shadowrealm-promise-rejection.https.html.ini
@@ -0,0 +1,3 @@
+[shadowrealm-promise-rejection.https.html]
+ [Promise rejections within worker thread ShadowRealms are handled]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/skip-waiting-installed.https.html.ini b/tests/wpt/meta/service-workers/service-worker/skip-waiting-installed.https.html.ini
new file mode 100644
index 00000000000..bf518357c08
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/skip-waiting-installed.https.html.ini
@@ -0,0 +1,3 @@
+[skip-waiting-installed.https.html]
+ [Test skipWaiting when a installed worker is waiting]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/skip-waiting-using-registration.https.html.ini b/tests/wpt/meta/service-workers/service-worker/skip-waiting-using-registration.https.html.ini
new file mode 100644
index 00000000000..a0e61b6bfc0
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/skip-waiting-using-registration.https.html.ini
@@ -0,0 +1,3 @@
+[skip-waiting-using-registration.https.html]
+ [Test skipWaiting while a client is using the registration]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/skip-waiting-without-client.https.html.ini b/tests/wpt/meta/service-workers/service-worker/skip-waiting-without-client.https.html.ini
new file mode 100644
index 00000000000..432b604f9a8
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/skip-waiting-without-client.https.html.ini
@@ -0,0 +1,3 @@
+[skip-waiting-without-client.https.html]
+ [Test single skipWaiting() when no client attached]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/skip-waiting-without-using-registration.https.html.ini b/tests/wpt/meta/service-workers/service-worker/skip-waiting-without-using-registration.https.html.ini
new file mode 100644
index 00000000000..4ac85daa75d
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/skip-waiting-without-using-registration.https.html.ini
@@ -0,0 +1,3 @@
+[skip-waiting-without-using-registration.https.html]
+ [Test skipWaiting while a client is not being controlled]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/skip-waiting.https.html.ini b/tests/wpt/meta/service-workers/service-worker/skip-waiting.https.html.ini
new file mode 100644
index 00000000000..54b56479f96
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/skip-waiting.https.html.ini
@@ -0,0 +1,3 @@
+[skip-waiting.https.html]
+ [Test skipWaiting with both active and waiting workers]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/srcdoc-iframe.https.html.ini b/tests/wpt/meta/service-workers/service-worker/srcdoc-iframe.https.html.ini
new file mode 100644
index 00000000000..c2b87cd1a3f
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/srcdoc-iframe.https.html.ini
@@ -0,0 +1,15 @@
+[srcdoc-iframe.https.html]
+ [nested sandboxed srcdoc frame should not inherit controller]
+ expected: FAIL
+
+ [nested same origin sandboxed srcdoc frame should inherit controller]
+ expected: FAIL
+
+ [should be able to serve resource from controller for srcdoc frame]
+ expected: FAIL
+
+ [getRegistration should work in srcdoc iframe]
+ expected: FAIL
+
+ [controller.postMessage should work in srcdoc iframe]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/state.https.html.ini b/tests/wpt/meta/service-workers/service-worker/state.https.html.ini
new file mode 100644
index 00000000000..9fa4697c1e8
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/state.https.html.ini
@@ -0,0 +1,3 @@
+[state.https.html]
+ [Service Worker state property and "statechange" event]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/static-router-fetch-event.https.html.ini b/tests/wpt/meta/service-workers/service-worker/static-router-fetch-event.https.html.ini
new file mode 100644
index 00000000000..14abf4227aa
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/static-router-fetch-event.https.html.ini
@@ -0,0 +1,6 @@
+[static-router-fetch-event.https.html]
+ [Main resource matched the rule with fetch-event source]
+ expected: FAIL
+
+ [Subresource load matched the rule fetch-event source]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/static-router-invalid-rules.https.html.ini b/tests/wpt/meta/service-workers/service-worker/static-router-invalid-rules.https.html.ini
new file mode 100644
index 00000000000..7d7727f6709
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/static-router-invalid-rules.https.html.ini
@@ -0,0 +1,24 @@
+[static-router-invalid-rules.https.html]
+ [addRoutes should raise for invalid ByteString request method.]
+ expected: FAIL
+
+ [addRoutes should raise for invalid HTTP request method.]
+ expected: FAIL
+
+ [addRoutes should raise for forbidden request method.]
+ expected: FAIL
+
+ [addRoutes should raise if or condition exceeds the depth limit]
+ expected: FAIL
+
+ [addRoutes should raise if not condition exceeds the depth limit]
+ expected: FAIL
+
+ [addRoutes should raise if the number of router rules exceeds the length limit]
+ expected: FAIL
+
+ [addRoutes should raise if the conditon does not exist in the rule]
+ expected: FAIL
+
+ [addRoutes should raise if the source does not exiswt in the rule]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/static-router-main-resource.https.html.ini b/tests/wpt/meta/service-workers/service-worker/static-router-main-resource.https.html.ini
new file mode 100644
index 00000000000..771c8884af3
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/static-router-main-resource.https.html.ini
@@ -0,0 +1,27 @@
+[static-router-main-resource.https.html]
+ [Main resource load matched with the condition]
+ expected: FAIL
+
+ [Main resource load matched with the ignore case condition]
+ expected: FAIL
+
+ [Main resource load matched without the ignore case condition]
+ expected: FAIL
+
+ [Main resource load not matched with the condition]
+ expected: FAIL
+
+ [Main resource load matched with the cache source]
+ expected: FAIL
+
+ [Main resource fallback to the network when there is no cache entry]
+ expected: FAIL
+
+ [Main resource load matched with the cache source, with specifying the cache name]
+ expected: FAIL
+
+ [Main resource load should not match the condition with not]
+ expected: FAIL
+
+ [Main resource load should match the condition without not]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/static-router-multiple-router-registrations.https.html.ini b/tests/wpt/meta/service-workers/service-worker/static-router-multiple-router-registrations.https.html.ini
new file mode 100644
index 00000000000..fe175aff190
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/static-router-multiple-router-registrations.https.html.ini
@@ -0,0 +1,6 @@
+[static-router-multiple-router-registrations.https.html]
+ [Main reosurce load matched with the service worker having multiple rules]
+ expected: FAIL
+
+ [Resource load matched with the rule registered in the imported service worker]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/static-router-mutiple-conditions.https.html.ini b/tests/wpt/meta/service-workers/service-worker/static-router-mutiple-conditions.https.html.ini
new file mode 100644
index 00000000000..9761757cc0b
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/static-router-mutiple-conditions.https.html.ini
@@ -0,0 +1,6 @@
+[static-router-mutiple-conditions.https.html]
+ [Multiple conditions work with `and` operation]
+ expected: FAIL
+
+ [Multiple conditions including requestDestination work with `and` operation]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/static-router-no-fetch-handler.https.html.ini b/tests/wpt/meta/service-workers/service-worker/static-router-no-fetch-handler.https.html.ini
new file mode 100644
index 00000000000..acc3d60ef91
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/static-router-no-fetch-handler.https.html.ini
@@ -0,0 +1,9 @@
+[static-router-no-fetch-handler.https.html]
+ [The router rule is evaluated without fetch handlers in service worker]
+ expected: FAIL
+
+ [addRoutes should raise if the fetch-event source is used without onfetch]
+ expected: FAIL
+
+ [addRoutes should raise if the race-network-and-fetch-handler source is used without onfetch]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/static-router-race-network-and-fetch-handler.https.html.ini b/tests/wpt/meta/service-workers/service-worker/static-router-race-network-and-fetch-handler.https.html.ini
new file mode 100644
index 00000000000..4349c689c01
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/static-router-race-network-and-fetch-handler.https.html.ini
@@ -0,0 +1,18 @@
+[static-router-race-network-and-fetch-handler.https.html]
+ [Main resource load matched the rule with race-network-and-fetch-handler source, and the fetch handler response is faster than the server response]
+ expected: FAIL
+
+ [Main resource load matched the rule with race-network-and-fetch-handler source, and the server reseponse is faster than the fetch handler]
+ expected: FAIL
+
+ [Subresource load matched the rule with race-network-and-fetch-handler source, and the fetch handler response is faster than the server response]
+ expected: FAIL
+
+ [Subresource load matched the rule with race-network-and-fetch-handler source, and the server reseponse is faster than the fetch handler]
+ expected: FAIL
+
+ [Subresource load matched the rule with race-network-and-fetch-handler source, and the server reseponse with 204 response is faster than the fetch handler]
+ expected: FAIL
+
+ [Subresource load matched the rule with race-network-and-fetch-handler source, and the server reseponse is faster than the fetch handler, but not found]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/static-router-request-destination.https.html.ini b/tests/wpt/meta/service-workers/service-worker/static-router-request-destination.https.html.ini
new file mode 100644
index 00000000000..086df8793da
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/static-router-request-destination.https.html.ini
@@ -0,0 +1,6 @@
+[static-router-request-destination.https.html]
+ [Subreosurce load matched with the requestMethod script condition]
+ expected: FAIL
+
+ [Subreosurce load not matched with the requestMethod script condition]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/static-router-request-method.https.html.ini b/tests/wpt/meta/service-workers/service-worker/static-router-request-method.https.html.ini
new file mode 100644
index 00000000000..d5d0fa1fcb1
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/static-router-request-method.https.html.ini
@@ -0,0 +1,12 @@
+[static-router-request-method.https.html]
+ [Subresource load matched with the requestMethod GET condition]
+ expected: FAIL
+
+ [Subresource load matched with the requestMethod POST condition]
+ expected: FAIL
+
+ [Subresource load matched with the requestMethod PUT condition]
+ expected: FAIL
+
+ [Subresource load matched with the requestMethod DELETE condition]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/static-router-subresource.https.html.ini b/tests/wpt/meta/service-workers/service-worker/static-router-subresource.https.html.ini
new file mode 100644
index 00000000000..0c6ebda69fd
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/static-router-subresource.https.html.ini
@@ -0,0 +1,54 @@
+[static-router-subresource.https.html]
+ [Subresource load not matched with URLPattern condition]
+ expected: FAIL
+
+ [Subresource load matched with URLPattern condition]
+ expected: FAIL
+
+ [Subresource cross origin load matched with URLPattern condition via constructed object]
+ expected: FAIL
+
+ [Subresource load matched with ignoreCase URLPattern condition]
+ expected: FAIL
+
+ [Subresource load matched without ignoreCase URLPattern condition]
+ expected: FAIL
+
+ [Subresource load matched with URLPattern condition via URLPatternCompatible]
+ expected: FAIL
+
+ [Subresource cross origin load not matched with URLPattern condition via URLPatternCompatible]
+ expected: FAIL
+
+ [Subresource load matched with URLPattern condition via string]
+ expected: FAIL
+
+ [Subresource cross origin load not matched with URLPattern condition via string]
+ expected: FAIL
+
+ [Subresource load matched with RequestMode condition]
+ expected: FAIL
+
+ [Subresource load matched with the nested `or` condition]
+ expected: FAIL
+
+ [Subresource load matched with the next `or` condition]
+ expected: FAIL
+
+ [Subresource load not matched with `or` condition]
+ expected: FAIL
+
+ [Subresource load matched with the cache source rule]
+ expected: FAIL
+
+ [Subresource load did not match with the cache and fallback to the network]
+ expected: FAIL
+
+ [Subresource load matched with the cache source, with specifying the cache name]
+ expected: FAIL
+
+ [Subresource load should not match with the not condition]
+ expected: FAIL
+
+ [Subresource load should match with a file other than not]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/svg-target-reftest.https.html.ini b/tests/wpt/meta/service-workers/service-worker/svg-target-reftest.https.html.ini
new file mode 100644
index 00000000000..a4a04c5f1ed
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/svg-target-reftest.https.html.ini
@@ -0,0 +1,2 @@
+[svg-target-reftest.https.html]
+ expected: CRASH
diff --git a/tests/wpt/meta/service-workers/service-worker/synced-state.https.html.ini b/tests/wpt/meta/service-workers/service-worker/synced-state.https.html.ini
new file mode 100644
index 00000000000..7817c69583a
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/synced-state.https.html.ini
@@ -0,0 +1,3 @@
+[synced-state.https.html]
+ [worker objects for the same entity have the same state]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/tentative/static-router/static-router-resource-timing.https.html.ini b/tests/wpt/meta/service-workers/service-worker/tentative/static-router/static-router-resource-timing.https.html.ini
new file mode 100644
index 00000000000..92f33cf458c
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/tentative/static-router/static-router-resource-timing.https.html.ini
@@ -0,0 +1,42 @@
+[static-router-resource-timing.https.html]
+ [Main resource matched the rule with fetch-event source]
+ expected: FAIL
+
+ [Main resource load matched with the condition and resource timing]
+ expected: FAIL
+
+ [Main resource load not matched with the condition and resource timing]
+ expected: FAIL
+
+ [Main resource load matched with the cache source and resource timing]
+ expected: FAIL
+
+ [Main resource fallback to the network when there is no cache entry and resource timing]
+ expected: FAIL
+
+ [Subresource load matched the rule fetch-event source]
+ expected: FAIL
+
+ [Subresource load not matched with URLPattern condition]
+ expected: FAIL
+
+ [Subresource load matched with URLPattern condition]
+ expected: FAIL
+
+ [Subresource load matched with the cache source rule]
+ expected: FAIL
+
+ [Subresource load did not match with the cache and fallback to the network]
+ expected: FAIL
+
+ [Main resource load matched the rule with race-network-and-fetch-handler source, and the fetch handler response is faster than the server response]
+ expected: FAIL
+
+ [Main resource load matched the rule with race-network-and-fetch-handler source, and the server reseponse is faster than the fetch handler]
+ expected: FAIL
+
+ [Subresource load matched the rule with race-network-and-fetch-handler source, and the fetch handler response is faster than the server response]
+ expected: FAIL
+
+ [Subresource load matched the rule with race-network-and-fetch-handler source, and the server reseponse is faster than the fetch handler]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/uncontrolled-page.https.html.ini b/tests/wpt/meta/service-workers/service-worker/uncontrolled-page.https.html.ini
new file mode 100644
index 00000000000..7d421ecb596
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/uncontrolled-page.https.html.ini
@@ -0,0 +1,3 @@
+[uncontrolled-page.https.html]
+ [Fetch events should not go through uncontrolled page.]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/unregister-controller.https.html.ini b/tests/wpt/meta/service-workers/service-worker/unregister-controller.https.html.ini
new file mode 100644
index 00000000000..d0add67c447
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/unregister-controller.https.html.ini
@@ -0,0 +1,9 @@
+[unregister-controller.https.html]
+ [Unregister does not affect existing controller]
+ expected: FAIL
+
+ [Unregister prevents control of subsequent navigations]
+ expected: FAIL
+
+ [Unregister prevents new controllee even if registration is still in use]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/unregister-immediately-before-installed.https.html.ini b/tests/wpt/meta/service-workers/service-worker/unregister-immediately-before-installed.https.html.ini
new file mode 100644
index 00000000000..06b7555b42e
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/unregister-immediately-before-installed.https.html.ini
@@ -0,0 +1,6 @@
+[unregister-immediately-before-installed.https.html]
+ [Clear-Site-Data must abort service worker registration.]
+ expected: FAIL
+
+ [Clear-Site-Data must unregister a registration with a worker in the "installing" state.]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/unregister-immediately-during-extendable-events.https.html.ini b/tests/wpt/meta/service-workers/service-worker/unregister-immediately-during-extendable-events.https.html.ini
new file mode 100644
index 00000000000..fe61e0de20b
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/unregister-immediately-during-extendable-events.https.html.ini
@@ -0,0 +1,3 @@
+[unregister-immediately-during-extendable-events.https.html]
+ [Clear-Site-Data must fail pending subresource fetch events.]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/unregister-immediately.https.html.ini b/tests/wpt/meta/service-workers/service-worker/unregister-immediately.https.html.ini
new file mode 100644
index 00000000000..c5403b3b13c
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/unregister-immediately.https.html.ini
@@ -0,0 +1,12 @@
+[unregister-immediately.https.html]
+ [Clear-Site-Data must unregister a registration with a worker in the "activating" state.]
+ expected: FAIL
+
+ [Clear-Site-Data must unregister an activated registration with an update waiting.]
+ expected: FAIL
+
+ [Clear-Site-Data must unregister an activated registration with controlled clients.]
+ expected: FAIL
+
+ [Clear-Site-Data must clear an unregistered registration waiting for controlled clients to unload.]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/unregister-then-register-new-script.https.html.ini b/tests/wpt/meta/service-workers/service-worker/unregister-then-register-new-script.https.html.ini
new file mode 100644
index 00000000000..5d77d96f71d
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/unregister-then-register-new-script.https.html.ini
@@ -0,0 +1,9 @@
+[unregister-then-register-new-script.https.html]
+ [Registering a new script URL while an unregistered registration is in use]
+ expected: FAIL
+
+ [Registering a new script URL that 404s does not resurrect unregistered registration]
+ expected: FAIL
+
+ [Registering a new script URL that fails to install does not resurrect unregistered registration]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/unregister-then-register.https.html.ini b/tests/wpt/meta/service-workers/service-worker/unregister-then-register.https.html.ini
new file mode 100644
index 00000000000..5413955f5b6
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/unregister-then-register.https.html.ini
@@ -0,0 +1,12 @@
+[unregister-then-register.https.html]
+ [Unregister then register resolves to a new value]
+ expected: FAIL
+
+ [Unregister then register does not resolve to the original value even if the registration is in use.]
+ expected: FAIL
+
+ [Unregister then register does not affect existing controllee]
+ expected: FAIL
+
+ [Unregister then register does not resurrect the registration]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/unregister.https.html.ini b/tests/wpt/meta/service-workers/service-worker/unregister.https.html.ini
new file mode 100644
index 00000000000..4d7266b177a
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/unregister.https.html.ini
@@ -0,0 +1,7 @@
+[unregister.https.html]
+ expected: CRASH
+ [Unregister twice]
+ expected: FAIL
+
+ [Register then unregister]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/update-after-navigation-fetch-event.https.html.ini b/tests/wpt/meta/service-workers/service-worker/update-after-navigation-fetch-event.https.html.ini
new file mode 100644
index 00000000000..aa5079fa623
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/update-after-navigation-fetch-event.https.html.ini
@@ -0,0 +1,9 @@
+[update-after-navigation-fetch-event.https.html]
+ [Update should be triggered after a navigation (no fetch event worker).]
+ expected: FAIL
+
+ [Update should be triggered after a navigation (fetch event worker).]
+ expected: FAIL
+
+ [Update should be triggered after a navigation (network error).]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/update-after-navigation-redirect.https.html.ini b/tests/wpt/meta/service-workers/service-worker/update-after-navigation-redirect.https.html.ini
new file mode 100644
index 00000000000..dc3db267ddd
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/update-after-navigation-redirect.https.html.ini
@@ -0,0 +1,3 @@
+[update-after-navigation-redirect.https.html]
+ [service workers are updated on redirects during navigation]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/update-after-oneday.https.html.ini b/tests/wpt/meta/service-workers/service-worker/update-after-oneday.https.html.ini
new file mode 100644
index 00000000000..7f540b36eb9
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/update-after-oneday.https.html.ini
@@ -0,0 +1,3 @@
+[update-after-oneday.https.html]
+ [Update should be triggered after a functional event when last update time is over 24 hours]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/update-bytecheck-cors-import.https.html.ini b/tests/wpt/meta/service-workers/service-worker/update-bytecheck-cors-import.https.html.ini
new file mode 100644
index 00000000000..41ae9d61988
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/update-bytecheck-cors-import.https.html.ini
@@ -0,0 +1,24 @@
+[update-bytecheck-cors-import.https.html]
+ [Test(main: default, imported: default)]
+ expected: FAIL
+
+ [Test(main: default, imported: time)]
+ expected: FAIL
+
+ [Test(main: time, imported: default)]
+ expected: FAIL
+
+ [Test(main: time, imported: time)]
+ expected: FAIL
+
+ [Test module script(main: default, imported: default)]
+ expected: FAIL
+
+ [Test module script(main: default, imported: time)]
+ expected: FAIL
+
+ [Test module script(main: time, imported: default)]
+ expected: FAIL
+
+ [Test module script(main: time, imported: time)]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/update-bytecheck.https.html.ini b/tests/wpt/meta/service-workers/service-worker/update-bytecheck.https.html.ini
new file mode 100644
index 00000000000..c359b866fa1
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/update-bytecheck.https.html.ini
@@ -0,0 +1,24 @@
+[update-bytecheck.https.html]
+ [Test(main: default, imported: default)]
+ expected: FAIL
+
+ [Test(main: default, imported: time)]
+ expected: FAIL
+
+ [Test(main: time, imported: default)]
+ expected: FAIL
+
+ [Test(main: time, imported: time)]
+ expected: FAIL
+
+ [Test module script(main: default, imported: default)]
+ expected: FAIL
+
+ [Test module script(main: default, imported: time)]
+ expected: FAIL
+
+ [Test module script(main: time, imported: default)]
+ expected: FAIL
+
+ [Test module script(main: time, imported: time)]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/update-import-scripts.https.html.ini b/tests/wpt/meta/service-workers/service-worker/update-import-scripts.https.html.ini
new file mode 100644
index 00000000000..b9b755dbb9f
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/update-import-scripts.https.html.ini
@@ -0,0 +1,15 @@
+[update-import-scripts.https.html]
+ [update() should fail when a new worker imports an unavailable script.]
+ expected: FAIL
+
+ [update() should succeed when the old imported script no longer exist but the new worker doesn't import it.]
+ expected: FAIL
+
+ [update() should treat 404 on imported scripts as no change.]
+ expected: FAIL
+
+ [update() should find an update in an imported script but update() should result in failure due to missing the other imported script.]
+ expected: FAIL
+
+ [update() should work with cross-origin importScripts.]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/update-missing-import-scripts.https.html.ini b/tests/wpt/meta/service-workers/service-worker/update-missing-import-scripts.https.html.ini
new file mode 100644
index 00000000000..67593eb8578
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/update-missing-import-scripts.https.html.ini
@@ -0,0 +1,6 @@
+[update-missing-import-scripts.https.html]
+ [Initialize global state]
+ expected: FAIL
+
+ [Update service worker with new script that's missing importScripts()]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/update-module-request-mode.https.html.ini b/tests/wpt/meta/service-workers/service-worker/update-module-request-mode.https.html.ini
new file mode 100644
index 00000000000..fcb75c54185
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/update-module-request-mode.https.html.ini
@@ -0,0 +1,3 @@
+[update-module-request-mode.https.html]
+ [headers of a main module script]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/update-no-cache-request-headers.https.html.ini b/tests/wpt/meta/service-workers/service-worker/update-no-cache-request-headers.https.html.ini
new file mode 100644
index 00000000000..018d6b3e172
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/update-no-cache-request-headers.https.html.ini
@@ -0,0 +1,3 @@
+[update-no-cache-request-headers.https.html]
+ [headers in no-cache mode]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/update-not-allowed.https.html.ini b/tests/wpt/meta/service-workers/service-worker/update-not-allowed.https.html.ini
new file mode 100644
index 00000000000..0b71d56fb10
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/update-not-allowed.https.html.ini
@@ -0,0 +1,9 @@
+[update-not-allowed.https.html]
+ [ServiceWorkerRegistration.update() from client succeeds while installing service worker.]
+ expected: FAIL
+
+ [ServiceWorkerRegistration.update() from installing service worker throws.]
+ expected: FAIL
+
+ [ServiceWorkerRegistration.update() from active service worker succeeds while installing service worker.]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/update-on-navigation.https.html.ini b/tests/wpt/meta/service-workers/service-worker/update-on-navigation.https.html.ini
new file mode 100644
index 00000000000..b5cce6b7212
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/update-on-navigation.https.html.ini
@@ -0,0 +1,3 @@
+[update-on-navigation.https.html]
+ [The active service worker in charge of a navigation load should not be terminated as part of updating the registration]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/update-recovery.https.html.ini b/tests/wpt/meta/service-workers/service-worker/update-recovery.https.html.ini
new file mode 100644
index 00000000000..69d624324c9
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/update-recovery.https.html.ini
@@ -0,0 +1,3 @@
+[update-recovery.https.html]
+ [Recover from a bad service worker by updating after a failed navigation.]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/update-registration-with-type.https.html.ini b/tests/wpt/meta/service-workers/service-worker/update-registration-with-type.https.html.ini
new file mode 100644
index 00000000000..ed7e7d2212c
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/update-registration-with-type.https.html.ini
@@ -0,0 +1,21 @@
+[update-registration-with-type.https.html]
+ [Update the registration with a different script type (classic => module).]
+ expected: FAIL
+
+ [Update the registration with a different script type (module => classic).]
+ expected: FAIL
+
+ [Update the registration with a different script type (classic => module) and with a same main script.]
+ expected: FAIL
+
+ [Update the registration with a different script type (module => classic) and with a same main script.]
+ expected: FAIL
+
+ [Does not update the registration with the same script type and the same main script.]
+ expected: FAIL
+
+ [Update the registration with a different script type (classic => module) and with a same main script. Expect evaluation failed.]
+ expected: FAIL
+
+ [Update the registration with a different script type (module => classic) and with a same main script. Expect evaluation failed.]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/update-result.https.html.ini b/tests/wpt/meta/service-workers/service-worker/update-result.https.html.ini
new file mode 100644
index 00000000000..6a2c32ec8b3
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/update-result.https.html.ini
@@ -0,0 +1,2 @@
+[update-result.https.html]
+ expected: CRASH
diff --git a/tests/wpt/meta/service-workers/service-worker/update.https.html.ini b/tests/wpt/meta/service-workers/service-worker/update.https.html.ini
new file mode 100644
index 00000000000..07c708465d9
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/update.https.html.ini
@@ -0,0 +1,21 @@
+[update.https.html]
+ [update() should succeed when new script is available.]
+ expected: FAIL
+
+ [update() should fail when mime type is invalid.]
+ expected: FAIL
+
+ [update() should fail when a response for the main script is redirect.]
+ expected: FAIL
+
+ [update() should fail when a new script contains a syntax error.]
+ expected: FAIL
+
+ [update() should resolve when the install event throws.]
+ expected: FAIL
+
+ [update() should fail when the pending uninstall flag is set.]
+ expected: FAIL
+
+ [update() should succeed when the script shrinks.]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/waiting.https.html.ini b/tests/wpt/meta/service-workers/service-worker/waiting.https.html.ini
new file mode 100644
index 00000000000..a67079acbcb
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/waiting.https.html.ini
@@ -0,0 +1,7 @@
+[waiting.https.html]
+ expected: ERROR
+ [waiting is set after installation]
+ expected: FAIL
+
+ [The ServiceWorker objects returned from waiting attribute getter that represent the same service worker are the same objects]
+ expected: NOTRUN
diff --git a/tests/wpt/meta/service-workers/service-worker/websocket-in-service-worker.https.html.ini b/tests/wpt/meta/service-workers/service-worker/websocket-in-service-worker.https.html.ini
new file mode 100644
index 00000000000..7eb9d632e55
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/websocket-in-service-worker.https.html.ini
@@ -0,0 +1,3 @@
+[websocket-in-service-worker.https.html]
+ [Verify WebSockets can be created in a Service Worker]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/websocket.https.html.ini b/tests/wpt/meta/service-workers/service-worker/websocket.https.html.ini
new file mode 100644
index 00000000000..ec645e97ad5
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/websocket.https.html.ini
@@ -0,0 +1,3 @@
+[websocket.https.html]
+ [Verify WebSocket handshake channel does not get intercepted]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/webvtt-cross-origin.https.html.ini b/tests/wpt/meta/service-workers/service-worker/webvtt-cross-origin.https.html.ini
new file mode 100644
index 00000000000..42531ef94c3
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/webvtt-cross-origin.https.html.ini
@@ -0,0 +1,27 @@
+[webvtt-cross-origin.https.html]
+ [initialize global state]
+ expected: FAIL
+
+ [same-origin text track should load]
+ expected: FAIL
+
+ [cross-origin text track with no-cors request should not load]
+ expected: FAIL
+
+ [cross-origin text track with rejected cors request should not load]
+ expected: FAIL
+
+ [cross-origin text track with approved cors request should not load]
+ expected: FAIL
+
+ [same-origin text track that redirects same-origin should load]
+ expected: FAIL
+
+ [same-origin text track that redirects cross-origin should not load]
+ expected: FAIL
+
+ [same-origin text track that redirects to a cross-origin text track with rejected cors should not load]
+ expected: FAIL
+
+ [same-origin text track that redirects to a cross-origin text track with approved cors should not load]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/windowclient-navigate.https.html.ini b/tests/wpt/meta/service-workers/service-worker/windowclient-navigate.https.html.ini
new file mode 100644
index 00000000000..bbe9c280f98
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/windowclient-navigate.https.html.ini
@@ -0,0 +1,33 @@
+[windowclient-navigate.https.html]
+ [normal]
+ expected: FAIL
+
+ [blank url]
+ expected: FAIL
+
+ [in scope but not controlled test on installing worker]
+ expected: FAIL
+
+ [in scope but not controlled test on active worker]
+ expected: FAIL
+
+ [out of scope]
+ expected: FAIL
+
+ [cross orgin url]
+ expected: FAIL
+
+ [invalid url (http://[example.com\])]
+ expected: FAIL
+
+ [invalid url (view-source://example.com)]
+ expected: FAIL
+
+ [invalid url (file:///)]
+ expected: FAIL
+
+ [invalid url (about:blank)]
+ expected: FAIL
+
+ [navigate on a top-level window client]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/worker-client-id.https.html.ini b/tests/wpt/meta/service-workers/service-worker/worker-client-id.https.html.ini
new file mode 100644
index 00000000000..0fe6436080d
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/worker-client-id.https.html.ini
@@ -0,0 +1,2 @@
+[worker-client-id.https.html]
+ expected: CRASH
diff --git a/tests/wpt/meta/service-workers/service-worker/worker-in-sandboxed-iframe-by-csp-fetch-event.https.html.ini b/tests/wpt/meta/service-workers/service-worker/worker-in-sandboxed-iframe-by-csp-fetch-event.https.html.ini
new file mode 100644
index 00000000000..867ede45e94
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/worker-in-sandboxed-iframe-by-csp-fetch-event.https.html.ini
@@ -0,0 +1,15 @@
+[worker-in-sandboxed-iframe-by-csp-fetch-event.https.html]
+ [Prepare a service worker.]
+ expected: FAIL
+
+ [Prepare an iframe sandboxed by CSP HTTP header with allow-scripts.]
+ expected: FAIL
+
+ [Prepare an iframe sandboxed by CSP HTTP header with allow-scripts and allow-same-origin.]
+ expected: FAIL
+
+ [Fetch request from a worker in iframe sandboxed by CSP HTTP header allow-scripts flag]
+ expected: FAIL
+
+ [Fetch request from a worker in iframe sandboxed by CSP HTTP header with allow-scripts and allow-same-origin flag]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/worker-interception-redirect.https.html.ini b/tests/wpt/meta/service-workers/service-worker/worker-interception-redirect.https.html.ini
new file mode 100644
index 00000000000..9766ecb6471
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/worker-interception-redirect.https.html.ini
@@ -0,0 +1,63 @@
+[worker-interception-redirect.https.html]
+ [initialize global state]
+ expected: FAIL
+
+ [Case #1: network scope1->scope2 (classic SharedWorker)]
+ expected: FAIL
+
+ [Case #1: network scope1->scope2 (module SharedWorker)]
+ expected: FAIL
+
+ [Case #2: network scope1->out-scope (classic SharedWorker)]
+ expected: FAIL
+
+ [Case #2: network scope1->out-scope (module SharedWorker)]
+ expected: FAIL
+
+ [Case #3: sw scope1->scope2 (classic DedicatedWorker)]
+ expected: FAIL
+
+ [Case #3: sw scope1->scope2 (module DedicatedWorker)]
+ expected: FAIL
+
+ [Case #3: sw scope1->scope2 (classic SharedWorker)]
+ expected: FAIL
+
+ [Case #3: sw scope1->scope2 (module SharedWorker)]
+ expected: FAIL
+
+ [Case #4: sw scope1->out-scope (classic DedicatedWorker)]
+ expected: FAIL
+
+ [Case #4: sw scope1->out-scope (module DedicatedWorker)]
+ expected: FAIL
+
+ [Case #4: sw scope1->out-scope (classic SharedWorker)]
+ expected: FAIL
+
+ [Case #4: sw scope1->out-scope (module SharedWorker)]
+ expected: FAIL
+
+ [Case #1: network scope1->scope2 (classic DedicatedWorker, importScripts())]
+ expected: FAIL
+
+ [Case #1: network scope1->scope2 (classic DedicatedWorker, fetch())]
+ expected: FAIL
+
+ [Case #1: network scope1->scope2 (module DedicatedWorker, importScripts())]
+ expected: FAIL
+
+ [Case #1: network scope1->scope2 (module DedicatedWorker, fetch())]
+ expected: FAIL
+
+ [Case #2: network scope1->out-scope (classic DedicatedWorker, importScripts())]
+ expected: FAIL
+
+ [Case #2: network scope1->out-scope (classic DedicatedWorker, fetch())]
+ expected: FAIL
+
+ [Case #2: network scope1->out-scope (module DedicatedWorker, importScripts())]
+ expected: FAIL
+
+ [Case #2: network scope1->out-scope (module DedicatedWorker, fetch())]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/worker-interception.https.html.ini b/tests/wpt/meta/service-workers/service-worker/worker-interception.https.html.ini
new file mode 100644
index 00000000000..55f8f0a5a14
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/worker-interception.https.html.ini
@@ -0,0 +1,48 @@
+[worker-interception.https.html]
+ [Verify a dedicated worker script request gets correct client Ids]
+ expected: FAIL
+
+ [Verify a dedicated worker script request issued from a uncontrolled document is intercepted by worker's own service worker.]
+ expected: FAIL
+
+ [Verify an out-of-scope dedicated worker script request issued from a controlled document should not be intercepted by document's service worker.]
+ expected: FAIL
+
+ [Verify a shared worker script request issued from a uncontrolled document is intercepted by worker's own service worker.]
+ expected: FAIL
+
+ [Verify a same-origin worker script served by a service worker succeeds in starting a dedicated worker.]
+ expected: FAIL
+
+ [Verify a same-origin worker script served by a service worker succeeds in starting a shared worker.]
+ expected: FAIL
+
+ [Verify a cors worker script served by a service worker fails dedicated worker start.]
+ expected: FAIL
+
+ [Verify a cors worker script served by a service worker fails shared worker start.]
+ expected: FAIL
+
+ [Verify a no-cors cross-origin worker script served by a service worker fails dedicated worker start.]
+ expected: FAIL
+
+ [Verify a no-cors cross-origin worker script served by a service worker fails shared worker start.]
+ expected: FAIL
+
+ [Register a service worker for worker subresource interception tests.]
+ expected: FAIL
+
+ [Requests on a dedicated worker controlled by a service worker.]
+ expected: FAIL
+
+ [Requests on a shared worker controlled by a service worker.]
+ expected: FAIL
+
+ [Requests on a dedicated worker nested in a dedicated worker and controlled by a service worker]
+ expected: FAIL
+
+ [Requests on a dedicated worker nested in a shared worker and controlled by a service worker]
+ expected: FAIL
+
+ [Unregister a service worker for subresource interception tests.]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/xhr-content-length.https.window.js.ini b/tests/wpt/meta/service-workers/service-worker/xhr-content-length.https.window.js.ini
new file mode 100644
index 00000000000..1ef3f56b7ec
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/xhr-content-length.https.window.js.ini
@@ -0,0 +1,15 @@
+[xhr-content-length.https.window.html]
+ [Setup]
+ expected: FAIL
+
+ [Synthetic response without Content-Length header]
+ expected: FAIL
+
+ [Synthetic response with Content-Length header with value larger than response body length]
+ expected: FAIL
+
+ [Synthetic response with two Content-Length headers value larger than response body length]
+ expected: FAIL
+
+ [Synthetic response with bogus Content-Length header]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/xhr-response-url.https.html.ini b/tests/wpt/meta/service-workers/service-worker/xhr-response-url.https.html.ini
new file mode 100644
index 00000000000..606f60eabe5
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/xhr-response-url.https.html.ini
@@ -0,0 +1,18 @@
+[xhr-response-url.https.html]
+ [global setup]
+ expected: FAIL
+
+ [XHR responseURL should be the response URL]
+ expected: FAIL
+
+ [XHR responseURL should be the response URL (generated response)]
+ expected: FAIL
+
+ [XHR Document should use the response URL]
+ expected: FAIL
+
+ [XHR Document should use the response URL (generated response)]
+ expected: FAIL
+
+ [global cleanup]
+ expected: FAIL
diff --git a/tests/wpt/meta/service-workers/service-worker/xsl-base-url.https.html.ini b/tests/wpt/meta/service-workers/service-worker/xsl-base-url.https.html.ini
new file mode 100644
index 00000000000..23f196e337e
--- /dev/null
+++ b/tests/wpt/meta/service-workers/service-worker/xsl-base-url.https.html.ini
@@ -0,0 +1,4 @@
+[xsl-base-url.https.html]
+ expected: ERROR
+ [base URL when service worker does respondWith(fetch(responseUrl))]
+ expected: FAIL
diff --git a/tests/wpt/meta/webmessaging/broadcastchannel/service-worker.https.html.ini b/tests/wpt/meta/webmessaging/broadcastchannel/service-worker.https.html.ini
index 528ea797432..f92e788d0a9 100644
--- a/tests/wpt/meta/webmessaging/broadcastchannel/service-worker.https.html.ini
+++ b/tests/wpt/meta/webmessaging/broadcastchannel/service-worker.https.html.ini
@@ -1,3 +1,4 @@
[service-worker.https.html]
+ expected: CRASH
[BroadcastChannel works in service workers]
expected: FAIL
diff --git a/tests/wpt/mozilla/meta/MANIFEST.json b/tests/wpt/mozilla/meta/MANIFEST.json
index da85f35896e..960917615a8 100644
--- a/tests/wpt/mozilla/meta/MANIFEST.json
+++ b/tests/wpt/mozilla/meta/MANIFEST.json
@@ -13503,14 +13503,14 @@
]
],
"interfaces.https.html": [
- "3c6184a527d0f5b993e753ce22012210c56a40e5",
+ "eda7cb2e00ffeb1a51e31ad42b2846d159eeb638",
[
null,
{}
]
],
"interfaces.worker.js": [
- "dde3a2cb97675c27d292fb3f15e98bc383d58a4a",
+ "d028090d6a8e6637f5251d2a578e905751f88bf7",
[
"mozilla/interfaces.worker.html",
{}
diff --git a/tests/wpt/mozilla/meta/__dir__.ini b/tests/wpt/mozilla/meta/__dir__.ini
index d59b68e4e61..6a2d9b4a0e6 100644
--- a/tests/wpt/mozilla/meta/__dir__.ini
+++ b/tests/wpt/mozilla/meta/__dir__.ini
@@ -1 +1 @@
-prefs: ["dom_imagebitmap_enabled:true", "dom_offscreen_canvas_enabled:true", "dom_xpath_enabled:true", "dom_intersection_observer_enabled:true", "dom_resize_observer_enabled:true", "dom_notification_enabled:true", "dom_fontface_enabled:true", "dom_urlpattern_enabled:true"]
+prefs: ["dom_imagebitmap_enabled:true", "dom_offscreen_canvas_enabled:true", "dom_xpath_enabled:true", "dom_intersection_observer_enabled:true", "dom_resize_observer_enabled:true", "dom_notification_enabled:true", "dom_fontface_enabled:true", "dom_urlpattern_enabled:true", "dom_serviceworker_enabled:true"]
diff --git a/tests/wpt/mozilla/meta/mozilla/service-workers/service-worker-registration.https.html.ini b/tests/wpt/mozilla/meta/mozilla/service-workers/service-worker-registration.https.html.ini
index 222aa07e5c3..23851315838 100644
--- a/tests/wpt/mozilla/meta/mozilla/service-workers/service-worker-registration.https.html.ini
+++ b/tests/wpt/mozilla/meta/mozilla/service-workers/service-worker-registration.https.html.ini
@@ -1,4 +1,5 @@
[service-worker-registration.https.html]
+ expected: CRASH
[Test: Asserts Installing Service Worker and its Registration]
expected: FAIL
@@ -31,4 +32,3 @@
[Test: Active Service Worker ScriptURL property]
expected: FAIL
-
diff --git a/tests/wpt/mozilla/tests/mozilla/interfaces.https.html b/tests/wpt/mozilla/tests/mozilla/interfaces.https.html
index 3c6184a527d..eda7cb2e00f 100644
--- a/tests/wpt/mozilla/tests/mozilla/interfaces.https.html
+++ b/tests/wpt/mozilla/tests/mozilla/interfaces.https.html
@@ -210,6 +210,7 @@ test_interfaces([
"MutationRecord",
"NamedNodeMap",
"Navigator",
+ "NavigationPreloadManager",
"Node",
"NodeFilter",
"NodeIterator",
@@ -256,6 +257,9 @@ test_interfaces([
"Screen",
"SecurityPolicyViolationEvent",
"Selection",
+ "ServiceWorker",
+ "ServiceWorkerContainer",
+ "ServiceWorkerRegistration",
"ShadowRoot",
"StaticRange",
"StereoPannerNode",
diff --git a/tests/wpt/mozilla/tests/mozilla/interfaces.worker.js b/tests/wpt/mozilla/tests/mozilla/interfaces.worker.js
index dde3a2cb976..d028090d6a8 100644
--- a/tests/wpt/mozilla/tests/mozilla/interfaces.worker.js
+++ b/tests/wpt/mozilla/tests/mozilla/interfaces.worker.js
@@ -65,6 +65,7 @@ test_interfaces([
"Request",
"Response",
"SecurityPolicyViolationEvent",
+ "ServiceWorkerContainer",
"TextDecoder",
"TextEncoder",
"URL",