summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/meta/fetch
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/meta/fetch')
-rw-r--r--testing/web-platform/meta/fetch/api/__dir__.ini1
-rw-r--r--testing/web-platform/meta/fetch/api/abort/__dir__.ini2
-rw-r--r--testing/web-platform/meta/fetch/api/abort/cache.https.any.js.ini36
-rw-r--r--testing/web-platform/meta/fetch/api/abort/destroyed-context.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/api/abort/general.any.js.ini89
-rw-r--r--testing/web-platform/meta/fetch/api/abort/request.any.js.ini15
-rw-r--r--testing/web-platform/meta/fetch/api/abort/serviceworker-intercepted.https.html.ini7
-rw-r--r--testing/web-platform/meta/fetch/api/basic/__dir__.ini2
-rw-r--r--testing/web-platform/meta/fetch/api/basic/accept-header.any.js.ini15
-rw-r--r--testing/web-platform/meta/fetch/api/basic/block-mime-as-script.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/api/basic/conditional-get.any.js.ini15
-rw-r--r--testing/web-platform/meta/fetch/api/basic/error-after-response.any.js.ini38
-rw-r--r--testing/web-platform/meta/fetch/api/basic/header-value-combining.any.js.ini62
-rw-r--r--testing/web-platform/meta/fetch/api/basic/header-value-null-byte.any.js.ini26
-rw-r--r--testing/web-platform/meta/fetch/api/basic/historical.any.js.ini15
-rw-r--r--testing/web-platform/meta/fetch/api/basic/http-response-code.any.js.ini15
-rw-r--r--testing/web-platform/meta/fetch/api/basic/integrity.sub.any.js.ini14
-rw-r--r--testing/web-platform/meta/fetch/api/basic/keepalive.any.js.ini2
-rw-r--r--testing/web-platform/meta/fetch/api/basic/mediasource.window.js.ini3
-rw-r--r--testing/web-platform/meta/fetch/api/basic/mode-no-cors.sub.any.js.ini7
-rw-r--r--testing/web-platform/meta/fetch/api/basic/mode-same-origin.any.js.ini7
-rw-r--r--testing/web-platform/meta/fetch/api/basic/referrer.any.js.ini10
-rw-r--r--testing/web-platform/meta/fetch/api/basic/request-forbidden-headers.any.js.ini131
-rw-r--r--testing/web-platform/meta/fetch/api/basic/request-head.any.js.ini15
-rw-r--r--testing/web-platform/meta/fetch/api/basic/request-headers-case.any.js.ini15
-rw-r--r--testing/web-platform/meta/fetch/api/basic/request-headers-nonascii.any.js.ini15
-rw-r--r--testing/web-platform/meta/fetch/api/basic/request-headers.any.js.ini15
-rw-r--r--testing/web-platform/meta/fetch/api/basic/request-referrer-redirected-worker.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/api/basic/request-referrer.any.js.ini15
-rw-r--r--testing/web-platform/meta/fetch/api/basic/request-upload.any.js.ini86
-rw-r--r--testing/web-platform/meta/fetch/api/basic/request-upload.h2.any.js.ini145
-rw-r--r--testing/web-platform/meta/fetch/api/basic/response-null-body.any.js.ini134
-rw-r--r--testing/web-platform/meta/fetch/api/basic/response-url.sub.any.js.ini7
-rw-r--r--testing/web-platform/meta/fetch/api/basic/scheme-about.any.js.ini15
-rw-r--r--testing/web-platform/meta/fetch/api/basic/scheme-blob.sub.any.js.ini7
-rw-r--r--testing/web-platform/meta/fetch/api/basic/scheme-data.any.js.ini26
-rw-r--r--testing/web-platform/meta/fetch/api/basic/scheme-others.sub.any.js.ini15
-rw-r--r--testing/web-platform/meta/fetch/api/basic/status.h2.any.js.ini48
-rw-r--r--testing/web-platform/meta/fetch/api/basic/stream-response.any.js.ini26
-rw-r--r--testing/web-platform/meta/fetch/api/basic/stream-safe-creation.any.js.ini23
-rw-r--r--testing/web-platform/meta/fetch/api/basic/text-utf8.any.js.ini19
-rw-r--r--testing/web-platform/meta/fetch/api/body/mime-type.any.js.ini8
-rw-r--r--testing/web-platform/meta/fetch/api/cors/__dir__.ini2
-rw-r--r--testing/web-platform/meta/fetch/api/cors/cors-cookies-redirect.any.js.ini7
-rw-r--r--testing/web-platform/meta/fetch/api/cors/cors-cookies.any.js.ini7
-rw-r--r--testing/web-platform/meta/fetch/api/cors/cors-expose-star.sub.any.js.ini7
-rw-r--r--testing/web-platform/meta/fetch/api/cors/cors-filtering.sub.any.js.ini7
-rw-r--r--testing/web-platform/meta/fetch/api/cors/cors-multiple-origins.sub.any.js.ini10
-rw-r--r--testing/web-platform/meta/fetch/api/cors/cors-no-preflight.any.js.ini7
-rw-r--r--testing/web-platform/meta/fetch/api/cors/cors-origin.any.js.ini7
-rw-r--r--testing/web-platform/meta/fetch/api/cors/cors-preflight-cache.any.js.ini7
-rw-r--r--testing/web-platform/meta/fetch/api/cors/cors-preflight-not-cors-safelisted.any.js.ini7
-rw-r--r--testing/web-platform/meta/fetch/api/cors/cors-preflight-redirect.any.js.ini60
-rw-r--r--testing/web-platform/meta/fetch/api/cors/cors-preflight-referrer.any.js.ini7
-rw-r--r--testing/web-platform/meta/fetch/api/cors/cors-preflight-response-validation.any.js.ini7
-rw-r--r--testing/web-platform/meta/fetch/api/cors/cors-preflight-star.any.js.ini8
-rw-r--r--testing/web-platform/meta/fetch/api/cors/cors-preflight-status.any.js.ini7
-rw-r--r--testing/web-platform/meta/fetch/api/cors/cors-preflight.any.js.ini12
-rw-r--r--testing/web-platform/meta/fetch/api/cors/cors-redirect-credentials.any.js.ini7
-rw-r--r--testing/web-platform/meta/fetch/api/cors/cors-redirect-preflight.any.js.ini7
-rw-r--r--testing/web-platform/meta/fetch/api/cors/cors-redirect.any.js.ini7
-rw-r--r--testing/web-platform/meta/fetch/api/cors/data-url-iframe.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/api/cors/data-url-shared-worker.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/api/cors/data-url-worker.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/api/cors/sandboxed-iframe.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/api/credentials/authentication-basic.any.js.ini9
-rw-r--r--testing/web-platform/meta/fetch/api/credentials/authentication-redirection.any.js.ini9
-rw-r--r--testing/web-platform/meta/fetch/api/credentials/cookies.any.js.ini15
-rw-r--r--testing/web-platform/meta/fetch/api/headers/header-values-normalize.any.js.ini15
-rw-r--r--testing/web-platform/meta/fetch/api/headers/header-values.any.js.ini15
-rw-r--r--testing/web-platform/meta/fetch/api/headers/headers-basic.any.js.ini15
-rw-r--r--testing/web-platform/meta/fetch/api/headers/headers-casing.any.js.ini15
-rw-r--r--testing/web-platform/meta/fetch/api/headers/headers-combine.any.js.ini15
-rw-r--r--testing/web-platform/meta/fetch/api/headers/headers-errors.any.js.ini15
-rw-r--r--testing/web-platform/meta/fetch/api/headers/headers-no-cors.any.js.ini15
-rw-r--r--testing/web-platform/meta/fetch/api/headers/headers-record.any.js.ini15
-rw-r--r--testing/web-platform/meta/fetch/api/headers/headers-structure.any.js.ini15
-rw-r--r--testing/web-platform/meta/fetch/api/idlharness.any.js.ini146
-rw-r--r--testing/web-platform/meta/fetch/api/policies/__dir__.ini1
-rw-r--r--testing/web-platform/meta/fetch/api/policies/referrer-no-referrer-worker.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/api/policies/referrer-no-referrer.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/api/policies/referrer-origin-service-worker.https.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/api/policies/referrer-origin-when-cross-origin-service-worker.https.html.ini5
-rw-r--r--testing/web-platform/meta/fetch/api/policies/referrer-origin-when-cross-origin-worker.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/api/policies/referrer-origin-when-cross-origin.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/api/policies/referrer-origin-worker.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/api/policies/referrer-origin.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/api/policies/referrer-unsafe-url-service-worker.https.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/api/policies/referrer-unsafe-url-worker.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/api/policies/referrer-unsafe-url.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/api/redirect/__dir__.ini1
-rw-r--r--testing/web-platform/meta/fetch/api/redirect/redirect-back-to-original-origin.any.js.ini10
-rw-r--r--testing/web-platform/meta/fetch/api/redirect/redirect-count.any.js.ini15
-rw-r--r--testing/web-platform/meta/fetch/api/redirect/redirect-empty-location.any.js.ini15
-rw-r--r--testing/web-platform/meta/fetch/api/redirect/redirect-keepalive.any.js.ini2
-rw-r--r--testing/web-platform/meta/fetch/api/redirect/redirect-location-escape.tentative.any.js.ini15
-rw-r--r--testing/web-platform/meta/fetch/api/redirect/redirect-location.any.js.ini15
-rw-r--r--testing/web-platform/meta/fetch/api/redirect/redirect-method.any.js.ini15
-rw-r--r--testing/web-platform/meta/fetch/api/redirect/redirect-mode.any.js.ini7
-rw-r--r--testing/web-platform/meta/fetch/api/redirect/redirect-origin.any.js.ini18
-rw-r--r--testing/web-platform/meta/fetch/api/redirect/redirect-referrer-override.any.js.ini7
-rw-r--r--testing/web-platform/meta/fetch/api/redirect/redirect-referrer.any.js.ini7
-rw-r--r--testing/web-platform/meta/fetch/api/redirect/redirect-schemes.any.js.ini15
-rw-r--r--testing/web-platform/meta/fetch/api/redirect/redirect-upload.h2.any.js.ini62
-rw-r--r--testing/web-platform/meta/fetch/api/request/__dir__.ini2
-rw-r--r--testing/web-platform/meta/fetch/api/request/destination/__dir__.ini1
-rw-r--r--testing/web-platform/meta/fetch/api/request/destination/fetch-destination-frame.https.html.ini10
-rw-r--r--testing/web-platform/meta/fetch/api/request/destination/fetch-destination-no-load-event.https.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/api/request/destination/fetch-destination-prefetch.https.html.ini2
-rw-r--r--testing/web-platform/meta/fetch/api/request/destination/fetch-destination-worker.https.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/api/request/destination/fetch-destination.https.html.ini11
-rw-r--r--testing/web-platform/meta/fetch/api/request/multi-globals/url-parsing.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/api/request/request-bad-port.any.js.ini11
-rw-r--r--testing/web-platform/meta/fetch/api/request/request-cache-default.any.js.ini15
-rw-r--r--testing/web-platform/meta/fetch/api/request/request-cache-force-cache.any.js.ini16
-rw-r--r--testing/web-platform/meta/fetch/api/request/request-cache-no-cache.any.js.ini9
-rw-r--r--testing/web-platform/meta/fetch/api/request/request-cache-no-store.any.js.ini11
-rw-r--r--testing/web-platform/meta/fetch/api/request/request-cache-only-if-cached.any.js.ini7
-rw-r--r--testing/web-platform/meta/fetch/api/request/request-cache-reload.any.js.ini13
-rw-r--r--testing/web-platform/meta/fetch/api/request/request-consume-empty.any.js.ini25
-rw-r--r--testing/web-platform/meta/fetch/api/request/request-consume.any.js.ini13
-rw-r--r--testing/web-platform/meta/fetch/api/request/request-disturbed.any.js.ini56
-rw-r--r--testing/web-platform/meta/fetch/api/request/request-error.any.js.ini22
-rw-r--r--testing/web-platform/meta/fetch/api/request/request-headers.any.js.ini22
-rw-r--r--testing/web-platform/meta/fetch/api/request/request-init-002.any.js.ini13
-rw-r--r--testing/web-platform/meta/fetch/api/request/request-init-003.sub.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/api/request/request-init-contenttype.any.js.ini8
-rw-r--r--testing/web-platform/meta/fetch/api/request/request-init-priority.any.js.ini14
-rw-r--r--testing/web-platform/meta/fetch/api/request/request-init-stream.any.js.ini164
-rw-r--r--testing/web-platform/meta/fetch/api/request/request-keepalive-quota.html.ini49
-rw-r--r--testing/web-platform/meta/fetch/api/request/request-keepalive.any.js.ini34
-rw-r--r--testing/web-platform/meta/fetch/api/request/request-reset-attributes.https.html.ini8
-rw-r--r--testing/web-platform/meta/fetch/api/request/request-structure.any.js.ini44
-rw-r--r--testing/web-platform/meta/fetch/api/request/url-encoding.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/api/response/__dir__.ini1
-rw-r--r--testing/web-platform/meta/fetch/api/response/response-body-read-task-handling.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/api/response/response-cancel-stream.any.js.ini40
-rw-r--r--testing/web-platform/meta/fetch/api/response/response-clone-iframe.window.js.ini5
-rw-r--r--testing/web-platform/meta/fetch/api/response/response-clone.any.js.ini171
-rw-r--r--testing/web-platform/meta/fetch/api/response/response-consume-empty.any.js.ini26
-rw-r--r--testing/web-platform/meta/fetch/api/response/response-consume-stream.any.js.ini15
-rw-r--r--testing/web-platform/meta/fetch/api/response/response-consume.html.ini5
-rw-r--r--testing/web-platform/meta/fetch/api/response/response-error-from-stream.any.js.ini174
-rw-r--r--testing/web-platform/meta/fetch/api/response/response-error.any.js.ini15
-rw-r--r--testing/web-platform/meta/fetch/api/response/response-from-stream.any.js.ini15
-rw-r--r--testing/web-platform/meta/fetch/api/response/response-init-001.any.js.ini15
-rw-r--r--testing/web-platform/meta/fetch/api/response/response-init-002.any.js.ini15
-rw-r--r--testing/web-platform/meta/fetch/api/response/response-init-contenttype.any.js.ini12
-rw-r--r--testing/web-platform/meta/fetch/api/response/response-static-error.any.js.ini15
-rw-r--r--testing/web-platform/meta/fetch/api/response/response-static-json.any.js.ini15
-rw-r--r--testing/web-platform/meta/fetch/api/response/response-static-redirect.any.js.ini15
-rw-r--r--testing/web-platform/meta/fetch/api/response/response-stream-bad-chunk.any.js.ini15
-rw-r--r--testing/web-platform/meta/fetch/api/response/response-stream-disturbed-1.any.js.ini15
-rw-r--r--testing/web-platform/meta/fetch/api/response/response-stream-disturbed-2.any.js.ini15
-rw-r--r--testing/web-platform/meta/fetch/api/response/response-stream-disturbed-3.any.js.ini15
-rw-r--r--testing/web-platform/meta/fetch/api/response/response-stream-disturbed-4.any.js.ini15
-rw-r--r--testing/web-platform/meta/fetch/api/response/response-stream-disturbed-5.any.js.ini15
-rw-r--r--testing/web-platform/meta/fetch/api/response/response-stream-disturbed-6.any.js.ini15
-rw-r--r--testing/web-platform/meta/fetch/api/response/response-stream-disturbed-by-pipe.any.js.ini15
-rw-r--r--testing/web-platform/meta/fetch/api/response/response-stream-with-broken-then.any.js.ini15
-rw-r--r--testing/web-platform/meta/fetch/connection-pool/network-partition-key.html.ini8
-rw-r--r--testing/web-platform/meta/fetch/content-encoding/gzip-body.any.js.ini15
-rw-r--r--testing/web-platform/meta/fetch/content-length/api-and-duplicate-headers.any.js.ini14
-rw-r--r--testing/web-platform/meta/fetch/content-length/too-long.window.js.ini5
-rw-r--r--testing/web-platform/meta/fetch/content-type/multipart-malformed.any.js.ini8
-rw-r--r--testing/web-platform/meta/fetch/content-type/response.window.js.ini240
-rw-r--r--testing/web-platform/meta/fetch/content-type/script.window.js.ini32
-rw-r--r--testing/web-platform/meta/fetch/corb/__dir__.ini2
-rw-r--r--testing/web-platform/meta/fetch/corb/preload-image-png-mislabeled-as-html-nosniff.tentative.sub.html.ini4
-rw-r--r--testing/web-platform/meta/fetch/corb/response_block.tentative.sub.https.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/corb/script-html-correctly-labeled.tentative.sub.html.ini2
-rw-r--r--testing/web-platform/meta/fetch/corb/script-html-js-polyglot.sub.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/corb/script-html-via-cross-origin-blob-url.sub.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/corb/script-resource-with-json-parser-breaker.tentative.sub.html.ini60
-rw-r--r--testing/web-platform/meta/fetch/corb/script-resource-with-nonsniffable-types.tentative.sub.html.ini5
-rw-r--r--testing/web-platform/meta/fetch/corb/style-css-mislabeled-as-html-nosniff.sub.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/corb/style-css-with-json-parser-breaker.sub.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/cross-origin-resource-policy/fetch.any.js.ini11
-rw-r--r--testing/web-platform/meta/fetch/cross-origin-resource-policy/fetch.https.any.js.ini15
-rw-r--r--testing/web-platform/meta/fetch/cross-origin-resource-policy/iframe-loads.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/cross-origin-resource-policy/image-loads.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/cross-origin-resource-policy/scheme-restriction.any.js.ini7
-rw-r--r--testing/web-platform/meta/fetch/cross-origin-resource-policy/scheme-restriction.https.window.js.ini4
-rw-r--r--testing/web-platform/meta/fetch/cross-origin-resource-policy/script-loads.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/cross-origin-resource-policy/syntax.any.js.ini7
-rw-r--r--testing/web-platform/meta/fetch/data-urls/base64.any.js.ini15
-rw-r--r--testing/web-platform/meta/fetch/data-urls/processing.any.js.ini122
-rw-r--r--testing/web-platform/meta/fetch/h1-parsing/__dir__.ini1
-rw-r--r--testing/web-platform/meta/fetch/h1-parsing/lone-cr.window.js.ini31
-rw-r--r--testing/web-platform/meta/fetch/h1-parsing/resources-with-0x00-in-header.window.js.ini11
-rw-r--r--testing/web-platform/meta/fetch/h1-parsing/status-code.window.js.ini36
-rw-r--r--testing/web-platform/meta/fetch/http-cache/304-update.any.js.ini29
-rw-r--r--testing/web-platform/meta/fetch/http-cache/__dir__.ini1
-rw-r--r--testing/web-platform/meta/fetch/http-cache/cache-mode.any.js.ini50
-rw-r--r--testing/web-platform/meta/fetch/http-cache/cc-request.any.js.ini38
-rw-r--r--testing/web-platform/meta/fetch/http-cache/credentials.tentative.any.js.ini15
-rw-r--r--testing/web-platform/meta/fetch/http-cache/freshness.any.js.ini15
-rw-r--r--testing/web-platform/meta/fetch/http-cache/heuristic.any.js.ini74
-rw-r--r--testing/web-platform/meta/fetch/http-cache/invalidate.any.js.ini50
-rw-r--r--testing/web-platform/meta/fetch/http-cache/partial.any.js.ini122
-rw-r--r--testing/web-platform/meta/fetch/http-cache/post-patch.any.js.ini38
-rw-r--r--testing/web-platform/meta/fetch/http-cache/split-cache.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/http-cache/status.any.js.ini122
-rw-r--r--testing/web-platform/meta/fetch/http-cache/vary.any.js.ini26
-rw-r--r--testing/web-platform/meta/fetch/images/canvas-remote-read-remote-image-redirect.html.ini4
-rw-r--r--testing/web-platform/meta/fetch/local-network-access/__dir__.ini2
-rw-r--r--testing/web-platform/meta/fetch/metadata/__dir__.ini2
-rw-r--r--testing/web-platform/meta/fetch/metadata/audio-worklet.https.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/metadata/embed.https.sub.tentative.html.ini44
-rw-r--r--testing/web-platform/meta/fetch/metadata/fetch-preflight.https.sub.any.js.ini15
-rw-r--r--testing/web-platform/meta/fetch/metadata/fetch.https.sub.any.js.ini15
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/appcache-manifest.https.sub.html.ini2
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/audioworklet.https.sub.html.ini94
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/css-font-face.https.sub.tentative.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/css-font-face.sub.tentative.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/css-images.https.sub.tentative.html.ini74
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/css-images.sub.tentative.html.ini7
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/element-a.https.sub.html.ini9
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/element-a.sub.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/element-area.https.sub.html.ini11
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/element-area.sub.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/element-audio.https.sub.html.ini11
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/element-audio.sub.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/element-embed.https.sub.html.ini5
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/element-embed.sub.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/element-frame.https.sub.html.ini5
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/element-frame.sub.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/element-iframe.https.sub.html.ini5
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/element-iframe.sub.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/element-img-environment-change.https.sub.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/element-img-environment-change.sub.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/element-img.https.sub.html.ini11
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/element-img.sub.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/element-input-image.https.sub.html.ini6
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/element-input-image.sub.html.ini6
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/element-link-icon.https.sub.html.ini83
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/element-link-icon.sub.html.ini62
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/element-link-prefetch.https.optional.sub.html.ini36
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/element-link-prefetch.optional.sub.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/element-meta-refresh.optional.sub.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/element-picture.https.sub.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/element-picture.sub.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/element-script.https.sub.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/element-script.sub.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/element-video-poster.https.sub.html.ini20
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/element-video-poster.sub.html.ini8
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/element-video.https.sub.html.ini11
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/element-video.sub.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/fetch-via-serviceworker.https.sub.html.ini65
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/fetch.https.sub.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/fetch.sub.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/form-submission.https.sub.html.ini43
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/form-submission.sub.html.ini22
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/header-link.https.sub.html.ini53
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/header-link.https.sub.tentative.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/header-link.sub.html.ini47
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/header-refresh.https.optional.sub.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/header-refresh.optional.sub.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/script-module-import-dynamic.https.sub.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/script-module-import-dynamic.sub.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/script-module-import-static.https.sub.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/script-module-import-static.sub.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/serviceworker.https.sub.html.ini28
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/svg-image.https.sub.html.ini28
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/svg-image.sub.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/window-history.https.sub.html.ini19
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/window-history.sub.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/window-location.https.sub.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/window-location.sub.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/worker-dedicated-constructor.https.sub.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/worker-dedicated-constructor.sub.html.ini26
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/worker-dedicated-importscripts.https.sub.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/metadata/generated/worker-dedicated-importscripts.sub.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/metadata/navigation.https.sub.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/metadata/object.https.sub.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/metadata/paint-worklet.https.html.ini5
-rw-r--r--testing/web-platform/meta/fetch/metadata/portal.https.sub.html.ini11
-rw-r--r--testing/web-platform/meta/fetch/metadata/preload.https.sub.html.ini108
-rw-r--r--testing/web-platform/meta/fetch/metadata/redirect/__dir__.ini2
-rw-r--r--testing/web-platform/meta/fetch/metadata/redirect/multiple-redirect-https-downgrade-upgrade.sub.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/metadata/redirect/redirect-http-upgrade.sub.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/metadata/redirect/redirect-https-downgrade.sub.html.ini4
-rw-r--r--testing/web-platform/meta/fetch/metadata/report.https.sub.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/metadata/serviceworker-accessors.https.sub.html.ini4
-rw-r--r--testing/web-platform/meta/fetch/metadata/sharedworker.https.sub.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/metadata/style.https.sub.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/metadata/track.https.sub.html.ini4
-rw-r--r--testing/web-platform/meta/fetch/metadata/trailing-dot.https.sub.any.js.ini50
-rw-r--r--testing/web-platform/meta/fetch/metadata/unload.https.sub.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/metadata/window-open.https.sub.html.ini11
-rw-r--r--testing/web-platform/meta/fetch/metadata/worker.https.sub.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/metadata/xslt.https.sub.html.ini5
-rw-r--r--testing/web-platform/meta/fetch/nosniff/__dir__.ini1
-rw-r--r--testing/web-platform/meta/fetch/nosniff/script.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/nosniff/stylesheet.html.ini4
-rw-r--r--testing/web-platform/meta/fetch/nosniff/worker.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/orb/tentative/__dir__.ini1
-rw-r--r--testing/web-platform/meta/fetch/orb/tentative/content-range.sub.any.js.ini10
-rw-r--r--testing/web-platform/meta/fetch/orb/tentative/img-mime-types-coverage.tentative.sub.html.ini12
-rw-r--r--testing/web-platform/meta/fetch/orb/tentative/known-mime-type.sub.any.js.ini38
-rw-r--r--testing/web-platform/meta/fetch/orb/tentative/nosniff.sub.any.js.ini30
-rw-r--r--testing/web-platform/meta/fetch/orb/tentative/script-js-unlabeled-gziped.sub.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/orb/tentative/script-unlabeled.sub.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/orb/tentative/status.sub.any.js.ini24
-rw-r--r--testing/web-platform/meta/fetch/orb/tentative/status.sub.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/orb/tentative/unknown-mime-type.sub.any.js.ini7
-rw-r--r--testing/web-platform/meta/fetch/origin/__dir__.ini1
-rw-r--r--testing/web-platform/meta/fetch/origin/assorted.window.js.ini174
-rw-r--r--testing/web-platform/meta/fetch/private-network-access/__dir__.ini2
-rw-r--r--testing/web-platform/meta/fetch/range/__dir__.ini1
-rw-r--r--testing/web-platform/meta/fetch/range/blob.any.js.ini158
-rw-r--r--testing/web-platform/meta/fetch/range/general.any.js.ini26
-rw-r--r--testing/web-platform/meta/fetch/range/general.window.js.ini3
-rw-r--r--testing/web-platform/meta/fetch/range/non-matching-range-response.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/range/sw.https.window.js.ini41
-rw-r--r--testing/web-platform/meta/fetch/redirect-navigate/preserve-fragment.html.ini481
-rw-r--r--testing/web-platform/meta/fetch/sec-metadata/redirect/__dir__.ini2
-rw-r--r--testing/web-platform/meta/fetch/security/dangling-markup-mitigation-data-url.tentative.sub.html.ini19
-rw-r--r--testing/web-platform/meta/fetch/security/dangling-markup-mitigation.tentative.html.ini29
-rw-r--r--testing/web-platform/meta/fetch/security/embedded-credentials.tentative.sub.html.ini14
-rw-r--r--testing/web-platform/meta/fetch/security/redirect-to-url-with-credentials.https.html.ini3
-rw-r--r--testing/web-platform/meta/fetch/stale-while-revalidate/__dir__.ini1
-rw-r--r--testing/web-platform/meta/fetch/stale-while-revalidate/fetch-sw.https.html.ini10
-rw-r--r--testing/web-platform/meta/fetch/stale-while-revalidate/fetch.any.js.ini19
-rw-r--r--testing/web-platform/meta/fetch/stale-while-revalidate/stale-css.html.ini5
-rw-r--r--testing/web-platform/meta/fetch/stale-while-revalidate/stale-image.html.ini5
-rw-r--r--testing/web-platform/meta/fetch/stale-while-revalidate/stale-script.html.ini3
327 files changed, 6817 insertions, 0 deletions
diff --git a/testing/web-platform/meta/fetch/api/__dir__.ini b/testing/web-platform/meta/fetch/api/__dir__.ini
new file mode 100644
index 0000000000..c4b2fdedd4
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/__dir__.ini
@@ -0,0 +1 @@
+leak-threshold: [tab:51200]
diff --git a/testing/web-platform/meta/fetch/api/abort/__dir__.ini b/testing/web-platform/meta/fetch/api/abort/__dir__.ini
new file mode 100644
index 0000000000..b9f5886878
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/abort/__dir__.ini
@@ -0,0 +1,2 @@
+lsan-disabled: true
+leak-threshold: [default:51200]
diff --git a/testing/web-platform/meta/fetch/api/abort/cache.https.any.js.ini b/testing/web-platform/meta/fetch/api/abort/cache.https.any.js.ini
new file mode 100644
index 0000000000..38fb1d2375
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/abort/cache.https.any.js.ini
@@ -0,0 +1,36 @@
+[cache.https.any.serviceworker.html]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [OK, TIMEOUT]
+ [Signals are not stored in the cache API, even if they're already aborted]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, NOTRUN]
+
+ [Signals are not stored in the cache API]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, TIMEOUT]
+
+
+[cache.https.any.html]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [OK, TIMEOUT]
+ [Signals are not stored in the cache API]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, TIMEOUT]
+
+ [Signals are not stored in the cache API, even if they're already aborted]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, TIMEOUT, NOTRUN]
+
+
+[cache.https.any.sharedworker.html]
+
+[cache.https.any.worker.html]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [OK, TIMEOUT]
+ [Signals are not stored in the cache API]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, TIMEOUT]
+
+ [Signals are not stored in the cache API, even if they're already aborted]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, NOTRUN]
diff --git a/testing/web-platform/meta/fetch/api/abort/destroyed-context.html.ini b/testing/web-platform/meta/fetch/api/abort/destroyed-context.html.ini
new file mode 100644
index 0000000000..9450ef56bf
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/abort/destroyed-context.html.ini
@@ -0,0 +1,3 @@
+[destroyed-context.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/abort/general.any.js.ini b/testing/web-platform/meta/fetch/api/abort/general.any.js.ini
new file mode 100644
index 0000000000..57f6fa3454
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/abort/general.any.js.ini
@@ -0,0 +1,89 @@
+[general.any.worker.html]
+ prefs: [browser.opaqueResponseBlocking.javascriptValidator:false]
+ expected:
+ if (os == "linux") and not debug and fission: [OK, CRASH]
+ [Stream will not error if body is empty. It's closed with an empty queue before it errors.]
+ expected: FAIL
+
+ [Readable stream synchronously cancels with AbortError if aborted before reading]
+ expected: FAIL
+
+ [Stream errors once aborted. Underlying connection closed.]
+ expected:
+ if (os == "linux") and not debug: [PASS, FAIL]
+
+ [Stream errors once aborted, after reading. Underlying connection closed.]
+ expected:
+ if (os == "linux") and not fission: [PASS, FAIL]
+
+ [Clone aborts with original controller]
+ expected: FAIL
+
+
+[general.any.html]
+ prefs: [browser.opaqueResponseBlocking.javascriptValidator:false]
+ [Stream will not error if body is empty. It's closed with an empty queue before it errors.]
+ expected: FAIL
+
+ [Readable stream synchronously cancels with AbortError if aborted before reading]
+ expected: FAIL
+
+ [Stream errors once aborted. Underlying connection closed.]
+ expected:
+ if (os == "linux") and debug and not fission and not swgl: [PASS, FAIL]
+
+ [Stream errors once aborted, after reading. Underlying connection closed.]
+ expected:
+ if (os == "linux") and not fission and not debug: [PASS, FAIL]
+
+ [Clone aborts with original controller]
+ expected: FAIL
+
+
+[general.any.sharedworker.html]
+ prefs: [browser.opaqueResponseBlocking.javascriptValidator:false]
+ expected:
+ if (os == "linux") and not debug and fission: [OK, CRASH]
+ [Stream will not error if body is empty. It's closed with an empty queue before it errors.]
+ expected: FAIL
+
+ [Readable stream synchronously cancels with AbortError if aborted before reading]
+ expected: FAIL
+
+ [Stream errors once aborted. Underlying connection closed.]
+ expected:
+ if (os == "linux") and not swgl and fission and not debug: [PASS, FAIL]
+ if (os == "linux") and not swgl and not fission and debug: [PASS, FAIL]
+
+ [Stream errors once aborted, after reading. Underlying connection closed.]
+ expected:
+ if (os == "linux") and debug and not fission and not swgl: [PASS, FAIL]
+
+ [Clone aborts with original controller]
+ expected: FAIL
+
+
+[general.https.any.serviceworker.html]
+ expected: TIMEOUT
+
+[general.any.serviceworker.html]
+ prefs: [browser.opaqueResponseBlocking.javascriptValidator:false]
+ expected:
+ if (os == "linux") and not debug and fission: [OK, CRASH]
+ [Readable stream synchronously cancels with AbortError if aborted before reading]
+ expected: FAIL
+
+ [Stream will not error if body is empty. It's closed with an empty queue before it errors.]
+ expected: FAIL
+
+ [Stream errors once aborted. Underlying connection closed.]
+ expected:
+ if (os == "linux") and not fission and not debug: [PASS, FAIL]
+
+ [Stream errors once aborted, after reading. Underlying connection closed.]
+ expected:
+ if (os == "linux") and not swgl and not fission and not debug: [PASS, FAIL]
+ if (os == "linux") and swgl: [PASS, FAIL]
+
+ [Clone aborts with original controller]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/api/abort/request.any.js.ini b/testing/web-platform/meta/fetch/api/abort/request.any.js.ini
new file mode 100644
index 0000000000..5150b6be80
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/abort/request.any.js.ini
@@ -0,0 +1,15 @@
+[request.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[request.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[request.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[request.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/abort/serviceworker-intercepted.https.html.ini b/testing/web-platform/meta/fetch/api/abort/serviceworker-intercepted.https.html.ini
new file mode 100644
index 0000000000..c35c3cd8be
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/abort/serviceworker-intercepted.https.html.ini
@@ -0,0 +1,7 @@
+[serviceworker-intercepted.https.html]
+ expected: TIMEOUT
+ [Service Worker can observe the fetch abort and associated abort reason]
+ expected: TIMEOUT
+
+ [Abort reason serialization happens on abort]
+ expected: NOTRUN
diff --git a/testing/web-platform/meta/fetch/api/basic/__dir__.ini b/testing/web-platform/meta/fetch/api/basic/__dir__.ini
new file mode 100644
index 0000000000..d1ce8a0ed7
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/basic/__dir__.ini
@@ -0,0 +1,2 @@
+lsan-disabled: true
+leak-threshold: [default:3020800]
diff --git a/testing/web-platform/meta/fetch/api/basic/accept-header.any.js.ini b/testing/web-platform/meta/fetch/api/basic/accept-header.any.js.ini
new file mode 100644
index 0000000000..927b980189
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/basic/accept-header.any.js.ini
@@ -0,0 +1,15 @@
+[accept-header.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[accept-header.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[accept-header.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[accept-header.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/basic/block-mime-as-script.html.ini b/testing/web-platform/meta/fetch/api/basic/block-mime-as-script.html.ini
new file mode 100644
index 0000000000..b4ab0dc5fe
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/basic/block-mime-as-script.html.ini
@@ -0,0 +1,3 @@
+[block-mime-as-script.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/basic/conditional-get.any.js.ini b/testing/web-platform/meta/fetch/api/basic/conditional-get.any.js.ini
new file mode 100644
index 0000000000..a3a33547d8
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/basic/conditional-get.any.js.ini
@@ -0,0 +1,15 @@
+[conditional-get.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[conditional-get.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[conditional-get.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [TIMEOUT, OK]
+
+[conditional-get.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/basic/error-after-response.any.js.ini b/testing/web-platform/meta/fetch/api/basic/error-after-response.any.js.ini
new file mode 100644
index 0000000000..cc38c00b77
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/basic/error-after-response.any.js.ini
@@ -0,0 +1,38 @@
+[error-after-response.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Response reader closed promise should reject after a network error happening after resolving fetch promise]
+ expected: FAIL
+
+ [Response reader read() promise should reject after a network error happening after resolving fetch promise]
+ expected: FAIL
+
+
+[error-after-response.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Response reader closed promise should reject after a network error happening after resolving fetch promise]
+ expected: FAIL
+
+ [Response reader read() promise should reject after a network error happening after resolving fetch promise]
+ expected: FAIL
+
+
+[error-after-response.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Response reader closed promise should reject after a network error happening after resolving fetch promise]
+ expected: FAIL
+
+ [Response reader read() promise should reject after a network error happening after resolving fetch promise]
+ expected: FAIL
+
+
+[error-after-response.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Response reader closed promise should reject after a network error happening after resolving fetch promise]
+ expected: FAIL
+
+ [Response reader read() promise should reject after a network error happening after resolving fetch promise]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/api/basic/header-value-combining.any.js.ini b/testing/web-platform/meta/fetch/api/basic/header-value-combining.any.js.ini
new file mode 100644
index 0000000000..a2f5e451ff
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/basic/header-value-combining.any.js.ini
@@ -0,0 +1,62 @@
+[header-value-combining.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [response.headers.get('content-length') expects 0, 0]
+ expected: FAIL
+
+ [response.headers.get('double-trouble') expects , ]
+ expected: FAIL
+
+ [response.headers.get('heya') expects , \x0b\x0c, 1, , , 2]
+ expected: FAIL
+
+ [response.headers.get('www-authenticate') expects 1, 2, 3, 4]
+ expected: FAIL
+
+
+[header-value-combining.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [response.headers.get('content-length') expects 0, 0]
+ expected: FAIL
+
+ [response.headers.get('double-trouble') expects , ]
+ expected: FAIL
+
+ [response.headers.get('heya') expects , \x0b\x0c, 1, , , 2]
+ expected: FAIL
+
+ [response.headers.get('www-authenticate') expects 1, 2, 3, 4]
+ expected: FAIL
+
+
+[header-value-combining.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [response.headers.get('content-length') expects 0, 0]
+ expected: FAIL
+
+ [response.headers.get('double-trouble') expects , ]
+ expected: FAIL
+
+ [response.headers.get('heya') expects , \x0b\x0c, 1, , , 2]
+ expected: FAIL
+
+ [response.headers.get('www-authenticate') expects 1, 2, 3, 4]
+ expected: FAIL
+
+
+[header-value-combining.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [response.headers.get('content-length') expects 0, 0]
+ expected: FAIL
+
+ [response.headers.get('double-trouble') expects , ]
+ expected: FAIL
+
+ [response.headers.get('heya') expects , \x0b\x0c, 1, , , 2]
+ expected: FAIL
+
+ [response.headers.get('www-authenticate') expects 1, 2, 3, 4]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/api/basic/header-value-null-byte.any.js.ini b/testing/web-platform/meta/fetch/api/basic/header-value-null-byte.any.js.ini
new file mode 100644
index 0000000000..1c9c8bf043
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/basic/header-value-null-byte.any.js.ini
@@ -0,0 +1,26 @@
+[header-value-null-byte.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Ensure fetch() rejects null bytes in headers]
+ expected: FAIL
+
+
+[header-value-null-byte.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Ensure fetch() rejects null bytes in headers]
+ expected: FAIL
+
+
+[header-value-null-byte.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Ensure fetch() rejects null bytes in headers]
+ expected: FAIL
+
+
+[header-value-null-byte.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [TIMEOUT, OK]
+ [Ensure fetch() rejects null bytes in headers]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/api/basic/historical.any.js.ini b/testing/web-platform/meta/fetch/api/basic/historical.any.js.ini
new file mode 100644
index 0000000000..0960c8b994
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/basic/historical.any.js.ini
@@ -0,0 +1,15 @@
+[historical.any.worker.html]
+ expected:
+ if (os == "android") and fission: [TIMEOUT, OK]
+
+[historical.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[historical.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[historical.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/basic/http-response-code.any.js.ini b/testing/web-platform/meta/fetch/api/basic/http-response-code.any.js.ini
new file mode 100644
index 0000000000..c4f8a8654c
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/basic/http-response-code.any.js.ini
@@ -0,0 +1,15 @@
+[http-response-code.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[http-response-code.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[http-response-code.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[http-response-code.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/basic/integrity.sub.any.js.ini b/testing/web-platform/meta/fetch/api/basic/integrity.sub.any.js.ini
new file mode 100644
index 0000000000..6ee4a7021a
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/basic/integrity.sub.any.js.ini
@@ -0,0 +1,14 @@
+[integrity.sub.any.sharedworker.html]
+
+[integrity.sub.any.html]
+
+[integrity.sub.any.worker.html]
+ expected:
+ if (os == "mac") and not debug: [OK, TIMEOUT]
+ [SHA-* integrity for opaque response]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [Empty string integrity for opaque response]
+ expected:
+ if (os == "mac") and not debug: [PASS, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/basic/keepalive.any.js.ini b/testing/web-platform/meta/fetch/api/basic/keepalive.any.js.ini
new file mode 100644
index 0000000000..49e71312d8
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/basic/keepalive.any.js.ini
@@ -0,0 +1,2 @@
+[keepalive.any.html]
+ expected: ERROR
diff --git a/testing/web-platform/meta/fetch/api/basic/mediasource.window.js.ini b/testing/web-platform/meta/fetch/api/basic/mediasource.window.js.ini
new file mode 100644
index 0000000000..92703f5a9a
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/basic/mediasource.window.js.ini
@@ -0,0 +1,3 @@
+[mediasource.window.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/basic/mode-no-cors.sub.any.js.ini b/testing/web-platform/meta/fetch/api/basic/mode-no-cors.sub.any.js.ini
new file mode 100644
index 0000000000..89d73b029a
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/basic/mode-no-cors.sub.any.js.ini
@@ -0,0 +1,7 @@
+[mode-no-cors.sub.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[mode-no-cors.sub.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/basic/mode-same-origin.any.js.ini b/testing/web-platform/meta/fetch/api/basic/mode-same-origin.any.js.ini
new file mode 100644
index 0000000000..c46593c7f9
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/basic/mode-same-origin.any.js.ini
@@ -0,0 +1,7 @@
+[mode-same-origin.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[mode-same-origin.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/basic/referrer.any.js.ini b/testing/web-platform/meta/fetch/api/basic/referrer.any.js.ini
new file mode 100644
index 0000000000..6d5f8f2ec6
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/basic/referrer.any.js.ini
@@ -0,0 +1,10 @@
+[referrer.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[referrer.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [origin-when-cross-origin policy on a cross-origin URL]
+ expected:
+ if os == "mac": [PASS, FAIL]
diff --git a/testing/web-platform/meta/fetch/api/basic/request-forbidden-headers.any.js.ini b/testing/web-platform/meta/fetch/api/basic/request-forbidden-headers.any.js.ini
new file mode 100644
index 0000000000..bf82cc2158
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/basic/request-forbidden-headers.any.js.ini
@@ -0,0 +1,131 @@
+[request-forbidden-headers.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Access-Control-Request-Private-Network is a forbidden request header]
+ expected: FAIL
+
+
+[request-forbidden-headers.any.serviceworker.html]
+ expected:
+ if (os == "win") and not debug and (processor == "x86"): [OK, TIMEOUT]
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Access-Control-Request-Private-Network is a forbidden request header]
+ expected: FAIL
+
+ [header X-HTTP-METHOD is forbidden to use value GET,track ]
+ expected:
+ if (processor == "x86") and not debug: [PASS, TIMEOUT]
+
+ [header X-METHOD-OVERRIDE is forbidden to use value GET,track ]
+ expected:
+ if (processor == "x86") and not debug: [PASS, NOTRUN]
+
+ [header x-http-method-override is forbidden to use value connect]
+ expected:
+ if (processor == "x86") and not debug: [PASS, NOTRUN]
+
+ [header x-http-method is forbidden to use value connect]
+ expected:
+ if (processor == "x86") and not debug: [PASS, NOTRUN]
+
+ [header x-method-override is forbidden to use value connect]
+ expected:
+ if (processor == "x86") and not debug: [PASS, NOTRUN]
+
+ [header X-HTTP-METHOD-OVERRIDE is forbidden to use value connect]
+ expected:
+ if (processor == "x86") and not debug: [PASS, NOTRUN]
+
+ [header X-HTTP-METHOD is forbidden to use value connect]
+ expected:
+ if (processor == "x86") and not debug: [PASS, NOTRUN]
+
+ [header X-METHOD-OVERRIDE is forbidden to use value connect]
+ expected:
+ if (processor == "x86") and not debug: [PASS, NOTRUN]
+
+ [header x-http-method-override is allowed to use value GETTRACE]
+ expected:
+ if (processor == "x86") and not debug: [PASS, NOTRUN]
+
+ [header x-http-method is allowed to use value GETTRACE]
+ expected:
+ if (processor == "x86") and not debug: [PASS, NOTRUN]
+
+ [header x-method-override is allowed to use value GETTRACE]
+ expected:
+ if (processor == "x86") and not debug: [PASS, NOTRUN]
+
+ [header X-HTTP-METHOD-OVERRIDE is allowed to use value GETTRACE]
+ expected:
+ if (processor == "x86") and not debug: [PASS, NOTRUN]
+
+ [header X-HTTP-METHOD is allowed to use value GETTRACE]
+ expected:
+ if (processor == "x86") and not debug: [PASS, NOTRUN]
+
+ [header X-METHOD-OVERRIDE is allowed to use value GETTRACE]
+ expected:
+ if (processor == "x86") and not debug: [PASS, NOTRUN]
+
+ [header x-http-method-override is allowed to use value GET]
+ expected:
+ if (processor == "x86") and not debug: [PASS, NOTRUN]
+
+ [header x-http-method is allowed to use value GET]
+ expected:
+ if (processor == "x86") and not debug: [PASS, NOTRUN]
+
+ [header x-method-override is allowed to use value GET]
+ expected:
+ if (processor == "x86") and not debug: [PASS, NOTRUN]
+
+ [header X-HTTP-METHOD-OVERRIDE is allowed to use value GET]
+ expected:
+ if (processor == "x86") and not debug: [PASS, NOTRUN]
+
+ [header X-HTTP-METHOD is allowed to use value GET]
+ expected:
+ if (processor == "x86") and not debug: [PASS, NOTRUN]
+
+ [header X-METHOD-OVERRIDE is allowed to use value GET]
+ expected:
+ if (processor == "x86") and not debug: [PASS, NOTRUN]
+
+ [header x-http-method-override is allowed to use value ",TRACE",]
+ expected:
+ if (processor == "x86") and not debug: [PASS, NOTRUN]
+
+ [header x-http-method is allowed to use value ",TRACE",]
+ expected:
+ if (processor == "x86") and not debug: [PASS, NOTRUN]
+
+ [header x-method-override is allowed to use value ",TRACE",]
+ expected:
+ if (processor == "x86") and not debug: [PASS, NOTRUN]
+
+ [header X-HTTP-METHOD-OVERRIDE is allowed to use value ",TRACE",]
+ expected:
+ if (processor == "x86") and not debug: [PASS, NOTRUN]
+
+ [header X-HTTP-METHOD is allowed to use value ",TRACE",]
+ expected:
+ if (processor == "x86") and not debug: [PASS, NOTRUN]
+
+ [header X-METHOD-OVERRIDE is allowed to use value ",TRACE",]
+ expected:
+ if (processor == "x86") and not debug: [PASS, NOTRUN]
+
+
+[request-forbidden-headers.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Access-Control-Request-Private-Network is a forbidden request header]
+ expected: FAIL
+
+
+[request-forbidden-headers.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Access-Control-Request-Private-Network is a forbidden request header]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/api/basic/request-head.any.js.ini b/testing/web-platform/meta/fetch/api/basic/request-head.any.js.ini
new file mode 100644
index 0000000000..ed2c411778
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/basic/request-head.any.js.ini
@@ -0,0 +1,15 @@
+[request-head.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[request-head.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[request-head.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[request-head.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/basic/request-headers-case.any.js.ini b/testing/web-platform/meta/fetch/api/basic/request-headers-case.any.js.ini
new file mode 100644
index 0000000000..ab262f323a
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/basic/request-headers-case.any.js.ini
@@ -0,0 +1,15 @@
+[request-headers-case.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[request-headers-case.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[request-headers-case.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[request-headers-case.any.html]
+ expected:
+ if (os == "android") and fission: [TIMEOUT, OK]
diff --git a/testing/web-platform/meta/fetch/api/basic/request-headers-nonascii.any.js.ini b/testing/web-platform/meta/fetch/api/basic/request-headers-nonascii.any.js.ini
new file mode 100644
index 0000000000..1571230e0d
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/basic/request-headers-nonascii.any.js.ini
@@ -0,0 +1,15 @@
+[request-headers-nonascii.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[request-headers-nonascii.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[request-headers-nonascii.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[request-headers-nonascii.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [TIMEOUT, OK]
diff --git a/testing/web-platform/meta/fetch/api/basic/request-headers.any.js.ini b/testing/web-platform/meta/fetch/api/basic/request-headers.any.js.ini
new file mode 100644
index 0000000000..0fe20d2bd0
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/basic/request-headers.any.js.ini
@@ -0,0 +1,15 @@
+[request-headers.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[request-headers.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[request-headers.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[request-headers.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/basic/request-referrer-redirected-worker.html.ini b/testing/web-platform/meta/fetch/api/basic/request-referrer-redirected-worker.html.ini
new file mode 100644
index 0000000000..ae5216e252
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/basic/request-referrer-redirected-worker.html.ini
@@ -0,0 +1,3 @@
+[request-referrer-redirected-worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/basic/request-referrer.any.js.ini b/testing/web-platform/meta/fetch/api/basic/request-referrer.any.js.ini
new file mode 100644
index 0000000000..f71a969fec
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/basic/request-referrer.any.js.ini
@@ -0,0 +1,15 @@
+[request-referrer.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[request-referrer.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[request-referrer.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[request-referrer.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/basic/request-upload.any.js.ini b/testing/web-platform/meta/fetch/api/basic/request-upload.any.js.ini
new file mode 100644
index 0000000000..36c453130a
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/basic/request-upload.any.js.ini
@@ -0,0 +1,86 @@
+[request-upload.any.worker.html]
+ expected:
+ if (os == "android") and fission: [TIMEOUT, OK]
+ [Fetch with POST with ReadableStream containing String]
+ expected: FAIL
+
+ [Fetch with POST with ReadableStream containing null]
+ expected: FAIL
+
+ [Fetch with POST with ReadableStream containing number]
+ expected: FAIL
+
+ [Fetch with POST with ReadableStream containing ArrayBuffer]
+ expected: FAIL
+
+ [Fetch with POST with ReadableStream containing Blob]
+ expected: FAIL
+
+ [Streaming upload shouldn't work on Http/1.1.]
+ expected: FAIL
+
+
+[request-upload.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Fetch with POST with ReadableStream containing String]
+ expected: FAIL
+
+ [Fetch with POST with ReadableStream containing null]
+ expected: FAIL
+
+ [Fetch with POST with ReadableStream containing number]
+ expected: FAIL
+
+ [Fetch with POST with ReadableStream containing ArrayBuffer]
+ expected: FAIL
+
+ [Fetch with POST with ReadableStream containing Blob]
+ expected: FAIL
+
+ [Streaming upload shouldn't work on Http/1.1.]
+ expected: FAIL
+
+
+[request-upload.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Fetch with POST with ReadableStream containing String]
+ expected: FAIL
+
+ [Fetch with POST with ReadableStream containing number]
+ expected: FAIL
+
+ [Fetch with POST with ReadableStream containing ArrayBuffer]
+ expected: FAIL
+
+ [Fetch with POST with ReadableStream containing Blob]
+ expected: FAIL
+
+ [Fetch with POST with ReadableStream containing null]
+ expected: FAIL
+
+ [Streaming upload shouldn't work on Http/1.1.]
+ expected: FAIL
+
+
+[request-upload.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Fetch with POST with ReadableStream containing String]
+ expected: FAIL
+
+ [Fetch with POST with ReadableStream containing number]
+ expected: FAIL
+
+ [Fetch with POST with ReadableStream containing ArrayBuffer]
+ expected: FAIL
+
+ [Fetch with POST with ReadableStream containing Blob]
+ expected: FAIL
+
+ [Fetch with POST with ReadableStream containing null]
+ expected: FAIL
+
+ [Streaming upload shouldn't work on Http/1.1.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/api/basic/request-upload.h2.any.js.ini b/testing/web-platform/meta/fetch/api/basic/request-upload.h2.any.js.ini
new file mode 100644
index 0000000000..f132f6576f
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/basic/request-upload.h2.any.js.ini
@@ -0,0 +1,145 @@
+[request-upload.h2.any.serviceworker.html]
+ expected:
+ if (os == "android") and not fission: OK
+ if (os == "android") and fission: [OK, TIMEOUT]
+ OK
+
+ [Fetch with POST with empty ReadableStream]
+ expected: FAIL
+
+ [Fetch with POST with ReadableStream]
+ expected: FAIL
+
+ [Fetch with POST with ReadableStream on 421 response should return the response and not retry.]
+ expected: FAIL
+
+ [Feature detect for POST with ReadableStream]
+ expected: FAIL
+
+ [Feature detect for POST with ReadableStream, using request object]
+ expected: FAIL
+
+ [Streaming upload with body containing a String]
+ expected: FAIL
+
+ [Streaming upload with body containing null]
+ expected: FAIL
+
+ [Streaming upload with body containing a number]
+ expected: FAIL
+
+ [Streaming upload should fail on a 401 response]
+ expected: FAIL
+
+ [Synchronous feature detect]
+ expected: FAIL
+
+
+[request-upload.h2.any.sharedworker.html]
+ expected:
+ if (os == "android") and not fission: OK
+ if (os == "android") and fission: [OK, TIMEOUT]
+ OK
+
+ [Fetch with POST with empty ReadableStream]
+ expected: FAIL
+
+ [Fetch with POST with ReadableStream]
+ expected: FAIL
+
+ [Fetch with POST with ReadableStream on 421 response should return the response and not retry.]
+ expected: FAIL
+
+ [Feature detect for POST with ReadableStream]
+ expected: FAIL
+
+ [Feature detect for POST with ReadableStream, using request object]
+ expected: FAIL
+
+ [Streaming upload with body containing a String]
+ expected: FAIL
+
+ [Streaming upload with body containing null]
+ expected: FAIL
+
+ [Streaming upload with body containing a number]
+ expected: FAIL
+
+ [Streaming upload should fail on a 401 response]
+ expected: FAIL
+
+ [Synchronous feature detect]
+ expected: FAIL
+
+
+[request-upload.h2.any.worker.html]
+ expected:
+ if (os == "android") and not fission: OK
+ if (os == "android") and fission: [OK, TIMEOUT]
+ OK
+
+ [Fetch with POST with empty ReadableStream]
+ expected: FAIL
+
+ [Fetch with POST with ReadableStream]
+ expected: FAIL
+
+ [Fetch with POST with ReadableStream on 421 response should return the response and not retry.]
+ expected: FAIL
+
+ [Feature detect for POST with ReadableStream]
+ expected: FAIL
+
+ [Feature detect for POST with ReadableStream, using request object]
+ expected: FAIL
+
+ [Streaming upload with body containing a String]
+ expected: FAIL
+
+ [Streaming upload with body containing null]
+ expected: FAIL
+
+ [Streaming upload with body containing a number]
+ expected: FAIL
+
+ [Streaming upload should fail on a 401 response]
+ expected: FAIL
+
+ [Synchronous feature detect]
+ expected: FAIL
+
+
+[request-upload.h2.any.html]
+ expected:
+ if (os == "android") and not fission: OK
+ if (os == "android") and fission: [OK, TIMEOUT]
+ ERROR
+ [Fetch with POST with empty ReadableStream]
+ expected: FAIL
+
+ [Fetch with POST with ReadableStream]
+ expected: FAIL
+
+ [Fetch with POST with ReadableStream on 421 response should return the response and not retry.]
+ expected: FAIL
+
+ [Feature detect for POST with ReadableStream]
+ expected: FAIL
+
+ [Feature detect for POST with ReadableStream, using request object]
+ expected: FAIL
+
+ [Streaming upload with body containing a String]
+ expected: FAIL
+
+ [Streaming upload with body containing null]
+ expected: FAIL
+
+ [Streaming upload with body containing a number]
+ expected: FAIL
+
+ [Streaming upload should fail on a 401 response]
+ expected: FAIL
+
+ [Synchronous feature detect]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/api/basic/response-null-body.any.js.ini b/testing/web-platform/meta/fetch/api/basic/response-null-body.any.js.ini
new file mode 100644
index 0000000000..dd6334badf
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/basic/response-null-body.any.js.ini
@@ -0,0 +1,134 @@
+[response-null-body.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Response.body is null for responses with status=204 (method=GET)]
+ expected: FAIL
+
+ [Response.body is null for responses with status=204 (method=POST)]
+ expected: FAIL
+
+ [Response.body is null for responses with status=204 (method=OPTIONS)]
+ expected: FAIL
+
+ [Response.body is null for responses with status=205 (method=GET)]
+ expected: FAIL
+
+ [Response.body is null for responses with status=205 (method=POST)]
+ expected: FAIL
+
+ [Response.body is null for responses with status=205 (method=OPTIONS)]
+ expected: FAIL
+
+ [Response.body is null for responses with status=304 (method=GET)]
+ expected: FAIL
+
+ [Response.body is null for responses with status=304 (method=POST)]
+ expected: FAIL
+
+ [Response.body is null for responses with status=304 (method=OPTIONS)]
+ expected: FAIL
+
+ [Response.body is null for responses with method=HEAD]
+ expected: FAIL
+
+
+[response-null-body.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Response.body is null for responses with status=204 (method=GET)]
+ expected: FAIL
+
+ [Response.body is null for responses with status=204 (method=POST)]
+ expected: FAIL
+
+ [Response.body is null for responses with status=204 (method=OPTIONS)]
+ expected: FAIL
+
+ [Response.body is null for responses with status=205 (method=GET)]
+ expected: FAIL
+
+ [Response.body is null for responses with status=205 (method=POST)]
+ expected: FAIL
+
+ [Response.body is null for responses with status=205 (method=OPTIONS)]
+ expected: FAIL
+
+ [Response.body is null for responses with status=304 (method=GET)]
+ expected: FAIL
+
+ [Response.body is null for responses with status=304 (method=POST)]
+ expected: FAIL
+
+ [Response.body is null for responses with status=304 (method=OPTIONS)]
+ expected: FAIL
+
+ [Response.body is null for responses with method=HEAD]
+ expected: FAIL
+
+
+[response-null-body.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [TIMEOUT, OK]
+ [Response.body is null for responses with status=204 (method=GET)]
+ expected: FAIL
+
+ [Response.body is null for responses with status=204 (method=POST)]
+ expected: FAIL
+
+ [Response.body is null for responses with status=204 (method=OPTIONS)]
+ expected: FAIL
+
+ [Response.body is null for responses with status=205 (method=GET)]
+ expected: FAIL
+
+ [Response.body is null for responses with status=205 (method=POST)]
+ expected: FAIL
+
+ [Response.body is null for responses with status=205 (method=OPTIONS)]
+ expected: FAIL
+
+ [Response.body is null for responses with status=304 (method=GET)]
+ expected: FAIL
+
+ [Response.body is null for responses with status=304 (method=POST)]
+ expected: FAIL
+
+ [Response.body is null for responses with status=304 (method=OPTIONS)]
+ expected: FAIL
+
+ [Response.body is null for responses with method=HEAD]
+ expected: FAIL
+
+
+[response-null-body.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Response.body is null for responses with status=204 (method=GET)]
+ expected: FAIL
+
+ [Response.body is null for responses with status=204 (method=POST)]
+ expected: FAIL
+
+ [Response.body is null for responses with status=204 (method=OPTIONS)]
+ expected: FAIL
+
+ [Response.body is null for responses with status=205 (method=GET)]
+ expected: FAIL
+
+ [Response.body is null for responses with status=205 (method=POST)]
+ expected: FAIL
+
+ [Response.body is null for responses with status=205 (method=OPTIONS)]
+ expected: FAIL
+
+ [Response.body is null for responses with status=304 (method=GET)]
+ expected: FAIL
+
+ [Response.body is null for responses with status=304 (method=POST)]
+ expected: FAIL
+
+ [Response.body is null for responses with status=304 (method=OPTIONS)]
+ expected: FAIL
+
+ [Response.body is null for responses with method=HEAD]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/api/basic/response-url.sub.any.js.ini b/testing/web-platform/meta/fetch/api/basic/response-url.sub.any.js.ini
new file mode 100644
index 0000000000..994cf457c1
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/basic/response-url.sub.any.js.ini
@@ -0,0 +1,7 @@
+[response-url.sub.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[response-url.sub.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/basic/scheme-about.any.js.ini b/testing/web-platform/meta/fetch/api/basic/scheme-about.any.js.ini
new file mode 100644
index 0000000000..9b61b209ad
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/basic/scheme-about.any.js.ini
@@ -0,0 +1,15 @@
+[scheme-about.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [TIMEOUT, OK]
+
+[scheme-about.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[scheme-about.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[scheme-about.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/basic/scheme-blob.sub.any.js.ini b/testing/web-platform/meta/fetch/api/basic/scheme-blob.sub.any.js.ini
new file mode 100644
index 0000000000..8c193f07d6
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/basic/scheme-blob.sub.any.js.ini
@@ -0,0 +1,7 @@
+[scheme-blob.sub.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[scheme-blob.sub.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/basic/scheme-data.any.js.ini b/testing/web-platform/meta/fetch/api/basic/scheme-data.any.js.ini
new file mode 100644
index 0000000000..d462153fcd
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/basic/scheme-data.any.js.ini
@@ -0,0 +1,26 @@
+[scheme-data.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Fetching [HEAD\] data:,response%27s%20body is OK]
+ expected: FAIL
+
+
+[scheme-data.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Fetching [HEAD\] data:,response%27s%20body is OK]
+ expected: FAIL
+
+
+[scheme-data.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Fetching [HEAD\] data:,response%27s%20body is OK]
+ expected: FAIL
+
+
+[scheme-data.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Fetching [HEAD\] data:,response%27s%20body is OK]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/api/basic/scheme-others.sub.any.js.ini b/testing/web-platform/meta/fetch/api/basic/scheme-others.sub.any.js.ini
new file mode 100644
index 0000000000..3a33f0b4aa
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/basic/scheme-others.sub.any.js.ini
@@ -0,0 +1,15 @@
+[scheme-others.sub.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[scheme-others.sub.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[scheme-others.sub.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[scheme-others.sub.any.worker.html]
+ expected:
+ if (os == "android") and fission: [TIMEOUT, OK]
diff --git a/testing/web-platform/meta/fetch/api/basic/status.h2.any.js.ini b/testing/web-platform/meta/fetch/api/basic/status.h2.any.js.ini
new file mode 100644
index 0000000000..78ddfcce6c
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/basic/status.h2.any.js.ini
@@ -0,0 +1,48 @@
+[status.h2.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [statusText over H2 for status 200 should be the empty string]
+ expected: FAIL
+
+ [statusText over H2 for status 210 should be the empty string]
+ expected: FAIL
+
+ [statusText over H2 for status 400 should be the empty string]
+ expected: FAIL
+
+ [statusText over H2 for status 404 should be the empty string]
+ expected: FAIL
+
+ [statusText over H2 for status 410 should be the empty string]
+ expected: FAIL
+
+ [statusText over H2 for status 500 should be the empty string]
+ expected: FAIL
+
+ [statusText over H2 for status 502 should be the empty string]
+ expected: FAIL
+
+
+[status.h2.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [statusText over H2 for status 200 should be the empty string]
+ expected: FAIL
+
+ [statusText over H2 for status 210 should be the empty string]
+ expected: FAIL
+
+ [statusText over H2 for status 400 should be the empty string]
+ expected: FAIL
+
+ [statusText over H2 for status 404 should be the empty string]
+ expected: FAIL
+
+ [statusText over H2 for status 410 should be the empty string]
+ expected: FAIL
+
+ [statusText over H2 for status 500 should be the empty string]
+ expected: FAIL
+
+ [statusText over H2 for status 502 should be the empty string]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/api/basic/stream-response.any.js.ini b/testing/web-platform/meta/fetch/api/basic/stream-response.any.js.ini
new file mode 100644
index 0000000000..bc85b3140c
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/basic/stream-response.any.js.ini
@@ -0,0 +1,26 @@
+[stream-response.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Stream response's body when content-type is not present]
+ expected: FAIL
+
+
+[stream-response.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Stream response's body when content-type is not present]
+ expected: FAIL
+
+
+[stream-response.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Stream response's body when content-type is not present]
+ expected: FAIL
+
+
+[stream-response.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Stream response's body when content-type is not present]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/api/basic/stream-safe-creation.any.js.ini b/testing/web-platform/meta/fetch/api/basic/stream-safe-creation.any.js.ini
new file mode 100644
index 0000000000..8c3ec4b4df
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/basic/stream-safe-creation.any.js.ini
@@ -0,0 +1,23 @@
+[stream-safe-creation.any.html]
+ disabled:
+ if (os == "mac") and debug: https://bugzilla.mozilla.org/show_bug.cgi?id=1564531
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[stream-safe-creation.any.worker.html]
+ disabled:
+ if (os == "mac") and debug: https://bugzilla.mozilla.org/show_bug.cgi?id=1564531
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[stream-safe-creation.any.serviceworker.html]
+ disabled:
+ if (os == "mac") and debug: https://bugzilla.mozilla.org/show_bug.cgi?id=1564531
+ expected:
+ if (os == "android") and fission: [TIMEOUT, OK]
+
+[stream-safe-creation.any.sharedworker.html]
+ disabled:
+ if (os == "mac") and debug: https://bugzilla.mozilla.org/show_bug.cgi?id=1564531
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/basic/text-utf8.any.js.ini b/testing/web-platform/meta/fetch/api/basic/text-utf8.any.js.ini
new file mode 100644
index 0000000000..934e8a23f8
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/basic/text-utf8.any.js.ini
@@ -0,0 +1,19 @@
+[text-utf8.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ if (os == "mac") and debug: [OK, ERROR, CRASH]
+
+[text-utf8.any.worker.html]
+ expected:
+ if (os == "mac") and debug: [OK, CRASH]
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[text-utf8.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ if (os == "mac") and debug: [OK, ERROR, CRASH]
+
+[text-utf8.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ if (os == "mac") and debug: [OK, ERROR, CRASH]
diff --git a/testing/web-platform/meta/fetch/api/body/mime-type.any.js.ini b/testing/web-platform/meta/fetch/api/body/mime-type.any.js.ini
new file mode 100644
index 0000000000..d3619680a0
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/body/mime-type.any.js.ini
@@ -0,0 +1,8 @@
+[mime-type.any.html]
+ [Response: Extract a MIME type with clone]
+ expected: FAIL
+
+
+[mime-type.any.worker.html]
+ [Response: Extract a MIME type with clone]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/api/cors/__dir__.ini b/testing/web-platform/meta/fetch/api/cors/__dir__.ini
new file mode 100644
index 0000000000..a7d0306744
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/cors/__dir__.ini
@@ -0,0 +1,2 @@
+lsan-disabled: true
+leak-threshold: [tab:307200]
diff --git a/testing/web-platform/meta/fetch/api/cors/cors-cookies-redirect.any.js.ini b/testing/web-platform/meta/fetch/api/cors/cors-cookies-redirect.any.js.ini
new file mode 100644
index 0000000000..54b90a91ae
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/cors/cors-cookies-redirect.any.js.ini
@@ -0,0 +1,7 @@
+[cors-cookies-redirect.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[cors-cookies-redirect.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/cors/cors-cookies.any.js.ini b/testing/web-platform/meta/fetch/api/cors/cors-cookies.any.js.ini
new file mode 100644
index 0000000000..4184f02594
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/cors/cors-cookies.any.js.ini
@@ -0,0 +1,7 @@
+[cors-cookies.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[cors-cookies.any.html]
+ expected:
+ if (os == "android") and fission: [TIMEOUT, OK]
diff --git a/testing/web-platform/meta/fetch/api/cors/cors-expose-star.sub.any.js.ini b/testing/web-platform/meta/fetch/api/cors/cors-expose-star.sub.any.js.ini
new file mode 100644
index 0000000000..3f6cf6c012
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/cors/cors-expose-star.sub.any.js.ini
@@ -0,0 +1,7 @@
+[cors-expose-star.sub.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[cors-expose-star.sub.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/cors/cors-filtering.sub.any.js.ini b/testing/web-platform/meta/fetch/api/cors/cors-filtering.sub.any.js.ini
new file mode 100644
index 0000000000..aa20ccce3a
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/cors/cors-filtering.sub.any.js.ini
@@ -0,0 +1,7 @@
+[cors-filtering.sub.any.html]
+ expected:
+ if (os == "android") and fission: [TIMEOUT, OK]
+
+[cors-filtering.sub.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/cors/cors-multiple-origins.sub.any.js.ini b/testing/web-platform/meta/fetch/api/cors/cors-multiple-origins.sub.any.js.ini
new file mode 100644
index 0000000000..a6face063b
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/cors/cors-multiple-origins.sub.any.js.ini
@@ -0,0 +1,10 @@
+[cors-multiple-origins.sub.any.worker.html]
+
+[cors-multiple-origins.sub.any.html]
+
+[cors-multiple-origins.sub.any.serviceworker.html]
+ expected:
+ if (os == "win") and (processor == "x86") and debug: [OK, TIMEOUT]
+ if (os == "win") and (processor == "x86_64") and not debug: [OK, TIMEOUT]
+
+[cors-multiple-origins.sub.any.sharedworker.html]
diff --git a/testing/web-platform/meta/fetch/api/cors/cors-no-preflight.any.js.ini b/testing/web-platform/meta/fetch/api/cors/cors-no-preflight.any.js.ini
new file mode 100644
index 0000000000..8a1e3285d7
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/cors/cors-no-preflight.any.js.ini
@@ -0,0 +1,7 @@
+[cors-no-preflight.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[cors-no-preflight.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/cors/cors-origin.any.js.ini b/testing/web-platform/meta/fetch/api/cors/cors-origin.any.js.ini
new file mode 100644
index 0000000000..822c3feaa5
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/cors/cors-origin.any.js.ini
@@ -0,0 +1,7 @@
+[cors-origin.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[cors-origin.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/cors/cors-preflight-cache.any.js.ini b/testing/web-platform/meta/fetch/api/cors/cors-preflight-cache.any.js.ini
new file mode 100644
index 0000000000..eb23f9d19d
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/cors/cors-preflight-cache.any.js.ini
@@ -0,0 +1,7 @@
+[cors-preflight-cache.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[cors-preflight-cache.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/cors/cors-preflight-not-cors-safelisted.any.js.ini b/testing/web-platform/meta/fetch/api/cors/cors-preflight-not-cors-safelisted.any.js.ini
new file mode 100644
index 0000000000..cfa60c192f
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/cors/cors-preflight-not-cors-safelisted.any.js.ini
@@ -0,0 +1,7 @@
+[cors-preflight-not-cors-safelisted.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[cors-preflight-not-cors-safelisted.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/cors/cors-preflight-redirect.any.js.ini b/testing/web-platform/meta/fetch/api/cors/cors-preflight-redirect.any.js.ini
new file mode 100644
index 0000000000..a937029d46
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/cors/cors-preflight-redirect.any.js.ini
@@ -0,0 +1,60 @@
+[cors-preflight-redirect.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Redirection 301 after preflight failed]
+ expected: FAIL
+
+ [Redirection 302 after preflight failed]
+ expected: FAIL
+
+ [Redirection 303 after preflight failed]
+ expected: FAIL
+
+ [Redirection 307 after preflight failed]
+ expected: FAIL
+
+ [Redirection 308 after preflight failed]
+ expected: FAIL
+
+
+[cors-preflight-redirect.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Redirection 301 after preflight failed]
+ expected: FAIL
+
+ [Redirection 302 after preflight failed]
+ expected: FAIL
+
+ [Redirection 303 after preflight failed]
+ expected: FAIL
+
+ [Redirection 307 after preflight failed]
+ expected: FAIL
+
+ [Redirection 308 after preflight failed]
+ expected: FAIL
+
+
+[cors-preflight-redirect.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [TIMEOUT, OK]
+ [Redirection 308 after preflight failed]
+ expected: FAIL
+
+ [Redirection 301 after preflight failed]
+ expected: FAIL
+
+ [Redirection 303 after preflight failed]
+ expected: FAIL
+
+ [Redirection 307 after preflight failed]
+ expected: FAIL
+
+ [Redirection 302 after preflight failed]
+ expected: FAIL
+
+
+[cors-preflight-redirect.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [TIMEOUT, OK]
diff --git a/testing/web-platform/meta/fetch/api/cors/cors-preflight-referrer.any.js.ini b/testing/web-platform/meta/fetch/api/cors/cors-preflight-referrer.any.js.ini
new file mode 100644
index 0000000000..c88dc284e4
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/cors/cors-preflight-referrer.any.js.ini
@@ -0,0 +1,7 @@
+[cors-preflight-referrer.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[cors-preflight-referrer.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/cors/cors-preflight-response-validation.any.js.ini b/testing/web-platform/meta/fetch/api/cors/cors-preflight-response-validation.any.js.ini
new file mode 100644
index 0000000000..3853b16b8b
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/cors/cors-preflight-response-validation.any.js.ini
@@ -0,0 +1,7 @@
+[cors-preflight-response-validation.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[cors-preflight-response-validation.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/cors/cors-preflight-star.any.js.ini b/testing/web-platform/meta/fetch/api/cors/cors-preflight-star.any.js.ini
new file mode 100644
index 0000000000..362f322ef7
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/cors/cors-preflight-star.any.js.ini
@@ -0,0 +1,8 @@
+prefs: [network.cors_preflight.authorization_covered_by_wildcard:false]
+[cors-preflight-star.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[cors-preflight-star.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/cors/cors-preflight-status.any.js.ini b/testing/web-platform/meta/fetch/api/cors/cors-preflight-status.any.js.ini
new file mode 100644
index 0000000000..0576695091
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/cors/cors-preflight-status.any.js.ini
@@ -0,0 +1,7 @@
+[cors-preflight-status.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[cors-preflight-status.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/cors/cors-preflight.any.js.ini b/testing/web-platform/meta/fetch/api/cors/cors-preflight.any.js.ini
new file mode 100644
index 0000000000..9bb3c2590f
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/cors/cors-preflight.any.js.ini
@@ -0,0 +1,12 @@
+[cors-preflight.any.html]
+ expected:
+ if (os == "android") and fission: [TIMEOUT, OK]
+ ["authorization" should not be covered by the wildcard symbol]
+ expected: FAIL
+
+
+[cors-preflight.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ ["authorization" should not be covered by the wildcard symbol]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/api/cors/cors-redirect-credentials.any.js.ini b/testing/web-platform/meta/fetch/api/cors/cors-redirect-credentials.any.js.ini
new file mode 100644
index 0000000000..a164474207
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/cors/cors-redirect-credentials.any.js.ini
@@ -0,0 +1,7 @@
+[cors-redirect-credentials.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[cors-redirect-credentials.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/cors/cors-redirect-preflight.any.js.ini b/testing/web-platform/meta/fetch/api/cors/cors-redirect-preflight.any.js.ini
new file mode 100644
index 0000000000..e20998a53f
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/cors/cors-redirect-preflight.any.js.ini
@@ -0,0 +1,7 @@
+[cors-redirect-preflight.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[cors-redirect-preflight.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/cors/cors-redirect.any.js.ini b/testing/web-platform/meta/fetch/api/cors/cors-redirect.any.js.ini
new file mode 100644
index 0000000000..28aebeedd1
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/cors/cors-redirect.any.js.ini
@@ -0,0 +1,7 @@
+[cors-redirect.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[cors-redirect.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/cors/data-url-iframe.html.ini b/testing/web-platform/meta/fetch/api/cors/data-url-iframe.html.ini
new file mode 100644
index 0000000000..b303e3a551
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/cors/data-url-iframe.html.ini
@@ -0,0 +1,3 @@
+[data-url-iframe.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/cors/data-url-shared-worker.html.ini b/testing/web-platform/meta/fetch/api/cors/data-url-shared-worker.html.ini
new file mode 100644
index 0000000000..4c23ade631
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/cors/data-url-shared-worker.html.ini
@@ -0,0 +1,3 @@
+[data-url-shared-worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/cors/data-url-worker.html.ini b/testing/web-platform/meta/fetch/api/cors/data-url-worker.html.ini
new file mode 100644
index 0000000000..0e35a19527
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/cors/data-url-worker.html.ini
@@ -0,0 +1,3 @@
+[data-url-worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/cors/sandboxed-iframe.html.ini b/testing/web-platform/meta/fetch/api/cors/sandboxed-iframe.html.ini
new file mode 100644
index 0000000000..72fb6cabc3
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/cors/sandboxed-iframe.html.ini
@@ -0,0 +1,3 @@
+[sandboxed-iframe.html]
+ expected:
+ if (os == "android") and fission: [TIMEOUT, OK]
diff --git a/testing/web-platform/meta/fetch/api/credentials/authentication-basic.any.js.ini b/testing/web-platform/meta/fetch/api/credentials/authentication-basic.any.js.ini
new file mode 100644
index 0000000000..ab58ba1848
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/credentials/authentication-basic.any.js.ini
@@ -0,0 +1,9 @@
+[authentication-basic.any.html]
+
+[authentication-basic.any.serviceworker.html]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [OK, TIMEOUT]
+
+[authentication-basic.any.worker.html]
+
+[authentication-basic.any.sharedworker.html]
diff --git a/testing/web-platform/meta/fetch/api/credentials/authentication-redirection.any.js.ini b/testing/web-platform/meta/fetch/api/credentials/authentication-redirection.any.js.ini
new file mode 100644
index 0000000000..5d12f12307
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/credentials/authentication-redirection.any.js.ini
@@ -0,0 +1,9 @@
+[authentication-redirection.any.html]
+
+[authentication-redirection.any.worker.html]
+
+[authentication-redirection.any.sharedworker.html]
+
+[authentication-redirection.any.serviceworker.html]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/credentials/cookies.any.js.ini b/testing/web-platform/meta/fetch/api/credentials/cookies.any.js.ini
new file mode 100644
index 0000000000..1600c4e327
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/credentials/cookies.any.js.ini
@@ -0,0 +1,15 @@
+[cookies.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[cookies.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[cookies.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[cookies.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/headers/header-values-normalize.any.js.ini b/testing/web-platform/meta/fetch/api/headers/header-values-normalize.any.js.ini
new file mode 100644
index 0000000000..743370c21f
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/headers/header-values-normalize.any.js.ini
@@ -0,0 +1,15 @@
+[header-values-normalize.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[header-values-normalize.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[header-values-normalize.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[header-values-normalize.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/headers/header-values.any.js.ini b/testing/web-platform/meta/fetch/api/headers/header-values.any.js.ini
new file mode 100644
index 0000000000..ef63dbbf67
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/headers/header-values.any.js.ini
@@ -0,0 +1,15 @@
+[header-values.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[header-values.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[header-values.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[header-values.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/headers/headers-basic.any.js.ini b/testing/web-platform/meta/fetch/api/headers/headers-basic.any.js.ini
new file mode 100644
index 0000000000..97e8321fc6
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/headers/headers-basic.any.js.ini
@@ -0,0 +1,15 @@
+[headers-basic.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[headers-basic.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[headers-basic.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[headers-basic.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/headers/headers-casing.any.js.ini b/testing/web-platform/meta/fetch/api/headers/headers-casing.any.js.ini
new file mode 100644
index 0000000000..7d2c8b5d9b
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/headers/headers-casing.any.js.ini
@@ -0,0 +1,15 @@
+[headers-casing.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[headers-casing.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[headers-casing.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[headers-casing.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/headers/headers-combine.any.js.ini b/testing/web-platform/meta/fetch/api/headers/headers-combine.any.js.ini
new file mode 100644
index 0000000000..d5bb0952b7
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/headers/headers-combine.any.js.ini
@@ -0,0 +1,15 @@
+[headers-combine.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[headers-combine.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[headers-combine.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[headers-combine.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/headers/headers-errors.any.js.ini b/testing/web-platform/meta/fetch/api/headers/headers-errors.any.js.ini
new file mode 100644
index 0000000000..4279662c96
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/headers/headers-errors.any.js.ini
@@ -0,0 +1,15 @@
+[headers-errors.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[headers-errors.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[headers-errors.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[headers-errors.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/headers/headers-no-cors.any.js.ini b/testing/web-platform/meta/fetch/api/headers/headers-no-cors.any.js.ini
new file mode 100644
index 0000000000..4ab4dcc446
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/headers/headers-no-cors.any.js.ini
@@ -0,0 +1,15 @@
+[headers-no-cors.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[headers-no-cors.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[headers-no-cors.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[headers-no-cors.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/headers/headers-record.any.js.ini b/testing/web-platform/meta/fetch/api/headers/headers-record.any.js.ini
new file mode 100644
index 0000000000..da581eb7b8
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/headers/headers-record.any.js.ini
@@ -0,0 +1,15 @@
+[headers-record.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[headers-record.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[headers-record.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[headers-record.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/headers/headers-structure.any.js.ini b/testing/web-platform/meta/fetch/api/headers/headers-structure.any.js.ini
new file mode 100644
index 0000000000..80d5c96933
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/headers/headers-structure.any.js.ini
@@ -0,0 +1,15 @@
+[headers-structure.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[headers-structure.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[headers-structure.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[headers-structure.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/idlharness.any.js.ini b/testing/web-platform/meta/fetch/api/idlharness.any.js.ini
new file mode 100644
index 0000000000..00e5c38345
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/idlharness.any.js.ini
@@ -0,0 +1,146 @@
+[idlharness.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Request interface: new Request('about:blank') must inherit property "isHistoryNavigation" with the proper type]
+ expected: FAIL
+
+ [Request interface: attribute keepalive]
+ expected: FAIL
+
+ [Request interface: attribute isHistoryNavigation]
+ expected: FAIL
+
+ [Request interface: new Request('about:blank') must inherit property "keepalive" with the proper type]
+ expected: FAIL
+
+ [Request interface: attribute isReloadNavigation]
+ expected: FAIL
+
+ [Request interface: new Request('about:blank') must inherit property "isReloadNavigation" with the proper type]
+ expected: FAIL
+
+ [Request interface: new Request('about:blank') must inherit property "body" with the proper type]
+ expected: FAIL
+
+ [Request interface: attribute body]
+ expected: FAIL
+
+ [Response interface: operation json(any, optional ResponseInit)]
+ expected: FAIL
+
+ [Request interface: attribute duplex]
+ expected: FAIL
+
+ [Request interface: new Request('about:blank') must inherit property "duplex" with the proper type]
+ expected: FAIL
+
+
+[idlharness.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Request interface: new Request('about:blank') must inherit property "isHistoryNavigation" with the proper type]
+ expected: FAIL
+
+ [Request interface: attribute keepalive]
+ expected: FAIL
+
+ [Request interface: attribute isHistoryNavigation]
+ expected: FAIL
+
+ [Request interface: new Request('about:blank') must inherit property "keepalive" with the proper type]
+ expected: FAIL
+
+ [Request interface: attribute isReloadNavigation]
+ expected: FAIL
+
+ [Request interface: new Request('about:blank') must inherit property "isReloadNavigation" with the proper type]
+ expected: FAIL
+
+ [Request interface: new Request('about:blank') must inherit property "body" with the proper type]
+ expected: FAIL
+
+ [Request interface: attribute body]
+ expected: FAIL
+
+ [Response interface: operation json(any, optional ResponseInit)]
+ expected: FAIL
+
+ [Request interface: attribute duplex]
+ expected: FAIL
+
+ [Request interface: new Request('about:blank') must inherit property "duplex" with the proper type]
+ expected: FAIL
+
+
+[idlharness.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Request interface: new Request('about:blank') must inherit property "isHistoryNavigation" with the proper type]
+ expected: FAIL
+
+ [Request interface: attribute keepalive]
+ expected: FAIL
+
+ [Request interface: attribute isHistoryNavigation]
+ expected: FAIL
+
+ [Request interface: new Request('about:blank') must inherit property "keepalive" with the proper type]
+ expected: FAIL
+
+ [Request interface: attribute isReloadNavigation]
+ expected: FAIL
+
+ [Request interface: new Request('about:blank') must inherit property "isReloadNavigation" with the proper type]
+ expected: FAIL
+
+ [Request interface: new Request('about:blank') must inherit property "body" with the proper type]
+ expected: FAIL
+
+ [Request interface: attribute body]
+ expected: FAIL
+
+ [Response interface: operation json(any, optional ResponseInit)]
+ expected: FAIL
+
+ [Request interface: attribute duplex]
+ expected: FAIL
+
+ [Request interface: new Request('about:blank') must inherit property "duplex" with the proper type]
+ expected: FAIL
+
+
+[idlharness.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Request interface: new Request('about:blank') must inherit property "isHistoryNavigation" with the proper type]
+ expected: FAIL
+
+ [Request interface: attribute keepalive]
+ expected: FAIL
+
+ [Request interface: attribute isHistoryNavigation]
+ expected: FAIL
+
+ [Request interface: new Request('about:blank') must inherit property "keepalive" with the proper type]
+ expected: FAIL
+
+ [Request interface: attribute isReloadNavigation]
+ expected: FAIL
+
+ [Request interface: new Request('about:blank') must inherit property "isReloadNavigation" with the proper type]
+ expected: FAIL
+
+ [Request interface: new Request('about:blank') must inherit property "body" with the proper type]
+ expected: FAIL
+
+ [Request interface: attribute body]
+ expected: FAIL
+
+ [Response interface: operation json(any, optional ResponseInit)]
+ expected: FAIL
+
+ [Request interface: attribute duplex]
+ expected: FAIL
+
+ [Request interface: new Request('about:blank') must inherit property "duplex" with the proper type]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/api/policies/__dir__.ini b/testing/web-platform/meta/fetch/api/policies/__dir__.ini
new file mode 100644
index 0000000000..a8a688f00a
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/policies/__dir__.ini
@@ -0,0 +1 @@
+lsan-allowed: [Alloc, Create, Malloc, Then, mozilla::BasePrincipal::CreateContentPrincipal, mozilla::SupportsThreadSafeWeakPtr, mozilla::dom::DocGroup::Create, mozilla::dom::ServiceWorkerJobQueue::RunJob, mozilla::dom::ServiceWorkerManager::Unregister, mozilla::dom::ServiceWorkerRegistrationMainThread::Unregister, mozilla::dom::UnregisterCallback::UnregisterCallback, mozilla::ipc::BackgroundChildImpl::AllocPRemoteWorkerChild, mozilla::net::nsStandardURL::TemplatedMutator, operator]
diff --git a/testing/web-platform/meta/fetch/api/policies/referrer-no-referrer-worker.html.ini b/testing/web-platform/meta/fetch/api/policies/referrer-no-referrer-worker.html.ini
new file mode 100644
index 0000000000..224303accb
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/policies/referrer-no-referrer-worker.html.ini
@@ -0,0 +1,3 @@
+[referrer-no-referrer-worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/policies/referrer-no-referrer.html.ini b/testing/web-platform/meta/fetch/api/policies/referrer-no-referrer.html.ini
new file mode 100644
index 0000000000..cf11fc4ec5
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/policies/referrer-no-referrer.html.ini
@@ -0,0 +1,3 @@
+[referrer-no-referrer.html]
+ expected:
+ if (os == "android") and fission: [TIMEOUT, OK]
diff --git a/testing/web-platform/meta/fetch/api/policies/referrer-origin-service-worker.https.html.ini b/testing/web-platform/meta/fetch/api/policies/referrer-origin-service-worker.https.html.ini
new file mode 100644
index 0000000000..1248c13c09
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/policies/referrer-origin-service-worker.https.html.ini
@@ -0,0 +1,3 @@
+[referrer-origin-service-worker.https.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/policies/referrer-origin-when-cross-origin-service-worker.https.html.ini b/testing/web-platform/meta/fetch/api/policies/referrer-origin-when-cross-origin-service-worker.https.html.ini
new file mode 100644
index 0000000000..20cdaf64c2
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/policies/referrer-origin-when-cross-origin-service-worker.https.html.ini
@@ -0,0 +1,5 @@
+[referrer-origin-when-cross-origin-service-worker.https.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Request's referrer is origin]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/api/policies/referrer-origin-when-cross-origin-worker.html.ini b/testing/web-platform/meta/fetch/api/policies/referrer-origin-when-cross-origin-worker.html.ini
new file mode 100644
index 0000000000..7ce931fabc
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/policies/referrer-origin-when-cross-origin-worker.html.ini
@@ -0,0 +1,3 @@
+[referrer-origin-when-cross-origin-worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/policies/referrer-origin-when-cross-origin.html.ini b/testing/web-platform/meta/fetch/api/policies/referrer-origin-when-cross-origin.html.ini
new file mode 100644
index 0000000000..3b6b69f9c9
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/policies/referrer-origin-when-cross-origin.html.ini
@@ -0,0 +1,3 @@
+[referrer-origin-when-cross-origin.html]
+ expected:
+ if (os == "android") and fission: [TIMEOUT, OK]
diff --git a/testing/web-platform/meta/fetch/api/policies/referrer-origin-worker.html.ini b/testing/web-platform/meta/fetch/api/policies/referrer-origin-worker.html.ini
new file mode 100644
index 0000000000..d29615ea5a
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/policies/referrer-origin-worker.html.ini
@@ -0,0 +1,3 @@
+[referrer-origin-worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/policies/referrer-origin.html.ini b/testing/web-platform/meta/fetch/api/policies/referrer-origin.html.ini
new file mode 100644
index 0000000000..1f2fa411a0
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/policies/referrer-origin.html.ini
@@ -0,0 +1,3 @@
+[referrer-origin.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/policies/referrer-unsafe-url-service-worker.https.html.ini b/testing/web-platform/meta/fetch/api/policies/referrer-unsafe-url-service-worker.https.html.ini
new file mode 100644
index 0000000000..cefc39acef
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/policies/referrer-unsafe-url-service-worker.https.html.ini
@@ -0,0 +1,3 @@
+[referrer-unsafe-url-service-worker.https.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/policies/referrer-unsafe-url-worker.html.ini b/testing/web-platform/meta/fetch/api/policies/referrer-unsafe-url-worker.html.ini
new file mode 100644
index 0000000000..569f92afab
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/policies/referrer-unsafe-url-worker.html.ini
@@ -0,0 +1,3 @@
+[referrer-unsafe-url-worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/policies/referrer-unsafe-url.html.ini b/testing/web-platform/meta/fetch/api/policies/referrer-unsafe-url.html.ini
new file mode 100644
index 0000000000..2381a3bde0
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/policies/referrer-unsafe-url.html.ini
@@ -0,0 +1,3 @@
+[referrer-unsafe-url.html]
+ expected:
+ if (os == "android") and fission: [TIMEOUT, OK]
diff --git a/testing/web-platform/meta/fetch/api/redirect/__dir__.ini b/testing/web-platform/meta/fetch/api/redirect/__dir__.ini
new file mode 100644
index 0000000000..c91231497e
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/redirect/__dir__.ini
@@ -0,0 +1 @@
+lsan-allowed: [InitializeStaticHeaders]
diff --git a/testing/web-platform/meta/fetch/api/redirect/redirect-back-to-original-origin.any.js.ini b/testing/web-platform/meta/fetch/api/redirect/redirect-back-to-original-origin.any.js.ini
new file mode 100644
index 0000000000..180dc75015
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/redirect/redirect-back-to-original-origin.any.js.ini
@@ -0,0 +1,10 @@
+[redirect-back-to-original-origin.any.worker.html]
+
+[redirect-back-to-original-origin.any.html]
+
+[redirect-back-to-original-origin.any.sharedworker.html]
+
+[redirect-back-to-original-origin.any.serviceworker.html]
+ expected:
+ if (processor == "x86") and not debug and (os == "linux"): [OK, TIMEOUT]
+ if (processor == "x86") and not debug and (os == "win"): [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/redirect/redirect-count.any.js.ini b/testing/web-platform/meta/fetch/api/redirect/redirect-count.any.js.ini
new file mode 100644
index 0000000000..53b8c00b6b
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/redirect/redirect-count.any.js.ini
@@ -0,0 +1,15 @@
+[redirect-count.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[redirect-count.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[redirect-count.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[redirect-count.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/redirect/redirect-empty-location.any.js.ini b/testing/web-platform/meta/fetch/api/redirect/redirect-empty-location.any.js.ini
new file mode 100644
index 0000000000..1bc4de0fa4
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/redirect/redirect-empty-location.any.js.ini
@@ -0,0 +1,15 @@
+[redirect-empty-location.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[redirect-empty-location.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[redirect-empty-location.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[redirect-empty-location.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/redirect/redirect-keepalive.any.js.ini b/testing/web-platform/meta/fetch/api/redirect/redirect-keepalive.any.js.ini
new file mode 100644
index 0000000000..8a11c43aa0
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/redirect/redirect-keepalive.any.js.ini
@@ -0,0 +1,2 @@
+[redirect-keepalive.any.html]
+ expected: ERROR
diff --git a/testing/web-platform/meta/fetch/api/redirect/redirect-location-escape.tentative.any.js.ini b/testing/web-platform/meta/fetch/api/redirect/redirect-location-escape.tentative.any.js.ini
new file mode 100644
index 0000000000..1e557ae3db
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/redirect/redirect-location-escape.tentative.any.js.ini
@@ -0,0 +1,15 @@
+[redirect-location-escape.tentative.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[redirect-location-escape.tentative.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[redirect-location-escape.tentative.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[redirect-location-escape.tentative.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/redirect/redirect-location.any.js.ini b/testing/web-platform/meta/fetch/api/redirect/redirect-location.any.js.ini
new file mode 100644
index 0000000000..71d8dda7cf
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/redirect/redirect-location.any.js.ini
@@ -0,0 +1,15 @@
+[redirect-location.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[redirect-location.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[redirect-location.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[redirect-location.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/redirect/redirect-method.any.js.ini b/testing/web-platform/meta/fetch/api/redirect/redirect-method.any.js.ini
new file mode 100644
index 0000000000..68632a1f05
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/redirect/redirect-method.any.js.ini
@@ -0,0 +1,15 @@
+[redirect-method.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[redirect-method.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[redirect-method.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[redirect-method.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/redirect/redirect-mode.any.js.ini b/testing/web-platform/meta/fetch/api/redirect/redirect-mode.any.js.ini
new file mode 100644
index 0000000000..b1689f2abe
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/redirect/redirect-mode.any.js.ini
@@ -0,0 +1,7 @@
+[redirect-mode.any.worker.html]
+ expected:
+ if (os == "android") and fission: [TIMEOUT, OK]
+
+[redirect-mode.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/redirect/redirect-origin.any.js.ini b/testing/web-platform/meta/fetch/api/redirect/redirect-origin.any.js.ini
new file mode 100644
index 0000000000..ac3a71dbca
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/redirect/redirect-origin.any.js.ini
@@ -0,0 +1,18 @@
+[redirect-origin.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [[POST\] Redirect 307 Same origin to same origin]
+ expected: FAIL
+
+ [[POST\] Redirect 308 Same origin to same origin]
+ expected: FAIL
+
+
+[redirect-origin.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [[POST\] Redirect 307 Same origin to same origin]
+ expected: FAIL
+
+ [[POST\] Redirect 308 Same origin to same origin]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/api/redirect/redirect-referrer-override.any.js.ini b/testing/web-platform/meta/fetch/api/redirect/redirect-referrer-override.any.js.ini
new file mode 100644
index 0000000000..a47095621d
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/redirect/redirect-referrer-override.any.js.ini
@@ -0,0 +1,7 @@
+[redirect-referrer-override.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[redirect-referrer-override.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/redirect/redirect-referrer.any.js.ini b/testing/web-platform/meta/fetch/api/redirect/redirect-referrer.any.js.ini
new file mode 100644
index 0000000000..71c50d2532
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/redirect/redirect-referrer.any.js.ini
@@ -0,0 +1,7 @@
+[redirect-referrer.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[redirect-referrer.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/redirect/redirect-schemes.any.js.ini b/testing/web-platform/meta/fetch/api/redirect/redirect-schemes.any.js.ini
new file mode 100644
index 0000000000..43fc79e050
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/redirect/redirect-schemes.any.js.ini
@@ -0,0 +1,15 @@
+[redirect-schemes.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[redirect-schemes.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[redirect-schemes.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[redirect-schemes.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/redirect/redirect-upload.h2.any.js.ini b/testing/web-platform/meta/fetch/api/redirect/redirect-upload.h2.any.js.ini
new file mode 100644
index 0000000000..9a9883f3fa
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/redirect/redirect-upload.h2.any.js.ini
@@ -0,0 +1,62 @@
+[redirect-upload.h2.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Fetch upload streaming should fail on 301]
+ expected: FAIL
+
+ [Fetch upload streaming should fail on 302]
+ expected: FAIL
+
+ [Fetch upload streaming should fail on 307]
+ expected: FAIL
+
+ [Fetch upload streaming should fail on 308]
+ expected: FAIL
+
+
+[redirect-upload.h2.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Fetch upload streaming should fail on 301]
+ expected: FAIL
+
+ [Fetch upload streaming should fail on 302]
+ expected: FAIL
+
+ [Fetch upload streaming should fail on 307]
+ expected: FAIL
+
+ [Fetch upload streaming should fail on 308]
+ expected: FAIL
+
+
+[redirect-upload.h2.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Fetch upload streaming should fail on 301]
+ expected: FAIL
+
+ [Fetch upload streaming should fail on 302]
+ expected: FAIL
+
+ [Fetch upload streaming should fail on 307]
+ expected: FAIL
+
+ [Fetch upload streaming should fail on 308]
+ expected: FAIL
+
+
+[redirect-upload.h2.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Fetch upload streaming should fail on 301]
+ expected: FAIL
+
+ [Fetch upload streaming should fail on 302]
+ expected: FAIL
+
+ [Fetch upload streaming should fail on 307]
+ expected: FAIL
+
+ [Fetch upload streaming should fail on 308]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/api/request/__dir__.ini b/testing/web-platform/meta/fetch/api/request/__dir__.ini
new file mode 100644
index 0000000000..4ac0db528c
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/request/__dir__.ini
@@ -0,0 +1,2 @@
+lsan-disabled: true
+leak-threshold: [default:51200, rdd:51200, tab:768000]
diff --git a/testing/web-platform/meta/fetch/api/request/destination/__dir__.ini b/testing/web-platform/meta/fetch/api/request/destination/__dir__.ini
new file mode 100644
index 0000000000..e80e37198d
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/request/destination/__dir__.ini
@@ -0,0 +1 @@
+lsan-allowed: [Create, Then, mozilla::BasePrincipal::CreateContentPrincipal, mozilla::dom::DocGroup::Create, mozilla::dom::ServiceWorkerJobQueue::RunJob, mozilla::dom::ServiceWorkerManager::Unregister, mozilla::dom::ServiceWorkerRegistrationMainThread::Unregister, mozilla::dom::UnregisterCallback::UnregisterCallback, operator]
diff --git a/testing/web-platform/meta/fetch/api/request/destination/fetch-destination-frame.https.html.ini b/testing/web-platform/meta/fetch/api/request/destination/fetch-destination-frame.https.html.ini
new file mode 100644
index 0000000000..ec9a73d3ba
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/request/destination/fetch-destination-frame.https.html.ini
@@ -0,0 +1,10 @@
+[fetch-destination-frame.https.html]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [OK, TIMEOUT]
+ [Initialize global state]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, TIMEOUT]
+
+ [frame fetches with a "frame" Request.destination]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, NOTRUN]
diff --git a/testing/web-platform/meta/fetch/api/request/destination/fetch-destination-no-load-event.https.html.ini b/testing/web-platform/meta/fetch/api/request/destination/fetch-destination-no-load-event.https.html.ini
new file mode 100644
index 0000000000..4fd8403946
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/request/destination/fetch-destination-no-load-event.https.html.ini
@@ -0,0 +1,3 @@
+[fetch-destination-no-load-event.https.html]
+ disabled:
+ if verify: fails in verify mode
diff --git a/testing/web-platform/meta/fetch/api/request/destination/fetch-destination-prefetch.https.html.ini b/testing/web-platform/meta/fetch/api/request/destination/fetch-destination-prefetch.https.html.ini
new file mode 100644
index 0000000000..4b001d611b
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/request/destination/fetch-destination-prefetch.https.html.ini
@@ -0,0 +1,2 @@
+[fetch-destination-prefetch.https.html]
+ disabled: https://bugzilla.mozilla.org/show_bug.cgi?id=1500089
diff --git a/testing/web-platform/meta/fetch/api/request/destination/fetch-destination-worker.https.html.ini b/testing/web-platform/meta/fetch/api/request/destination/fetch-destination-worker.https.html.ini
new file mode 100644
index 0000000000..a62e0ef89a
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/request/destination/fetch-destination-worker.https.html.ini
@@ -0,0 +1,3 @@
+[fetch-destination-worker.https.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/request/destination/fetch-destination.https.html.ini b/testing/web-platform/meta/fetch/api/request/destination/fetch-destination.https.html.ini
new file mode 100644
index 0000000000..2f220240f8
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/request/destination/fetch-destination.https.html.ini
@@ -0,0 +1,11 @@
+[fetch-destination.https.html]
+ prefs: [dom.audioworklet.enabled:true, dom.worklet.enabled:true]
+ [HTMLLinkElement with rel=preload and as=audio fetches with a "audio" Request.destination]
+ expected: FAIL
+
+ [HTMLLinkElement with rel=preload and as=video fetches with a "video" Request.destination]
+ expected: FAIL
+
+ [HTMLLinkElement with rel=preload and as=track fetches with a "track" Request.destination]
+ expected: FAIL
+
diff --git a/testing/web-platform/meta/fetch/api/request/multi-globals/url-parsing.html.ini b/testing/web-platform/meta/fetch/api/request/multi-globals/url-parsing.html.ini
new file mode 100644
index 0000000000..ca5f8381d9
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/request/multi-globals/url-parsing.html.ini
@@ -0,0 +1,3 @@
+[url-parsing.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/request/request-bad-port.any.js.ini b/testing/web-platform/meta/fetch/api/request/request-bad-port.any.js.ini
new file mode 100644
index 0000000000..496558e324
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/request/request-bad-port.any.js.ini
@@ -0,0 +1,11 @@
+[request-bad-port.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[request-bad-port.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[request-bad-port.any.worker.html]
+
+[request-bad-port.any.sharedworker.html]
diff --git a/testing/web-platform/meta/fetch/api/request/request-cache-default.any.js.ini b/testing/web-platform/meta/fetch/api/request/request-cache-default.any.js.ini
new file mode 100644
index 0000000000..55a266e1e3
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/request/request-cache-default.any.js.ini
@@ -0,0 +1,15 @@
+[request-cache-default.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: TIMEOUT
+
+[request-cache-default.any.html]
+
+[request-cache-default.any.serviceworker.html]
+ [RequestCache "default" mode checks the cache for previously cached content and avoids going to the network if a fresh response exists with Last-Modified and fresh response]
+ expected:
+ if (os == "android") and not debug: [PASS, FAIL]
+
+
+[request-cache-default.any.worker.html]
+ expected:
+ if (os == "android") and fission: [TIMEOUT, OK]
diff --git a/testing/web-platform/meta/fetch/api/request/request-cache-force-cache.any.js.ini b/testing/web-platform/meta/fetch/api/request/request-cache-force-cache.any.js.ini
new file mode 100644
index 0000000000..c324c11f1f
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/request/request-cache-force-cache.any.js.ini
@@ -0,0 +1,16 @@
+[request-cache-force-cache.any.serviceworker.html]
+
+[request-cache-force-cache.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[request-cache-force-cache.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[request-cache-force-cache.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [RequestCache "force-cache" mode checks the cache for previously cached content and avoid revalidation for stale responses with Etag and stale response]
+ expected:
+ if (os == "linux") and not debug and fission and (processor == "x86_64"): [PASS, FAIL]
diff --git a/testing/web-platform/meta/fetch/api/request/request-cache-no-cache.any.js.ini b/testing/web-platform/meta/fetch/api/request/request-cache-no-cache.any.js.ini
new file mode 100644
index 0000000000..64c8b2f74a
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/request/request-cache-no-cache.any.js.ini
@@ -0,0 +1,9 @@
+[request-cache-no-cache.any.sharedworker.html]
+
+[request-cache-no-cache.any.serviceworker.html]
+
+[request-cache-no-cache.any.worker.html]
+
+[request-cache-no-cache.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/request/request-cache-no-store.any.js.ini b/testing/web-platform/meta/fetch/api/request/request-cache-no-store.any.js.ini
new file mode 100644
index 0000000000..116b71c71b
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/request/request-cache-no-store.any.js.ini
@@ -0,0 +1,11 @@
+[request-cache-no-store.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[request-cache-no-store.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[request-cache-no-store.any.serviceworker.html]
+
+[request-cache-no-store.any.sharedworker.html]
diff --git a/testing/web-platform/meta/fetch/api/request/request-cache-only-if-cached.any.js.ini b/testing/web-platform/meta/fetch/api/request/request-cache-only-if-cached.any.js.ini
new file mode 100644
index 0000000000..b774dacbf4
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/request/request-cache-only-if-cached.any.js.ini
@@ -0,0 +1,7 @@
+[request-cache-only-if-cached.any.worker.html]
+
+[request-cache-only-if-cached.any.sharedworker.html]
+
+[request-cache-only-if-cached.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/request/request-cache-reload.any.js.ini b/testing/web-platform/meta/fetch/api/request/request-cache-reload.any.js.ini
new file mode 100644
index 0000000000..48a1deff33
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/request/request-cache-reload.any.js.ini
@@ -0,0 +1,13 @@
+[request-cache-reload.any.worker.html]
+
+[request-cache-reload.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[request-cache-reload.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[request-cache-reload.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/request/request-consume-empty.any.js.ini b/testing/web-platform/meta/fetch/api/request/request-consume-empty.any.js.ini
new file mode 100644
index 0000000000..a52e5c266c
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/request/request-consume-empty.any.js.ini
@@ -0,0 +1,25 @@
+[request-consume-empty.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Consume empty FormData request body as text]
+ expected: FAIL
+
+
+[request-consume-empty.any.worker.html]
+ [Consume empty FormData request body as text]
+ expected: FAIL
+
+
+[request-consume-empty.any.serviceworker.html]
+ expected:
+ if (processor == "x86_64") and (os == "android") and fission: [OK, TIMEOUT]
+ if (processor == "x86") and not debug: [OK, TIMEOUT]
+ [Consume empty FormData request body as text]
+ expected: FAIL
+
+
+[request-consume-empty.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Consume empty FormData request body as text]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/api/request/request-consume.any.js.ini b/testing/web-platform/meta/fetch/api/request/request-consume.any.js.ini
new file mode 100644
index 0000000000..1b32f543c4
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/request/request-consume.any.js.ini
@@ -0,0 +1,13 @@
+[request-consume.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[request-consume.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[request-consume.any.sharedworker.html]
+
+[request-consume.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/request/request-disturbed.any.js.ini b/testing/web-platform/meta/fetch/api/request/request-disturbed.any.js.ini
new file mode 100644
index 0000000000..61704bb3aa
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/request/request-disturbed.any.js.ini
@@ -0,0 +1,56 @@
+[request-disturbed.any.worker.html]
+ [Request's body: initial state]
+ expected: FAIL
+
+ [Input request used for creating new request became disturbed even if body is not used]
+ expected: FAIL
+
+ [Check creating a new request with a new body from a disturbed request]
+ expected: FAIL
+
+ [Input request used for creating new request became disturbed]
+ expected: FAIL
+
+
+[request-disturbed.any.serviceworker.html]
+ [Request's body: initial state]
+ expected: FAIL
+
+ [Input request used for creating new request became disturbed even if body is not used]
+ expected: FAIL
+
+ [Check creating a new request with a new body from a disturbed request]
+ expected: FAIL
+
+ [Input request used for creating new request became disturbed]
+ expected: FAIL
+
+
+[request-disturbed.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Request's body: initial state]
+ expected: FAIL
+
+ [Input request used for creating new request became disturbed even if body is not used]
+ expected: FAIL
+
+ [Check creating a new request with a new body from a disturbed request]
+ expected: FAIL
+
+ [Input request used for creating new request became disturbed]
+ expected: FAIL
+
+
+[request-disturbed.any.sharedworker.html]
+ [Request's body: initial state]
+ expected: FAIL
+
+ [Input request used for creating new request became disturbed even if body is not used]
+ expected: FAIL
+
+ [Check creating a new request with a new body from a disturbed request]
+ expected: FAIL
+
+ [Input request used for creating new request became disturbed]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/api/request/request-error.any.js.ini b/testing/web-platform/meta/fetch/api/request/request-error.any.js.ini
new file mode 100644
index 0000000000..d6c7332c6d
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/request/request-error.any.js.ini
@@ -0,0 +1,22 @@
+[request-error.any.worker.html]
+ [RequestInit's window is not null]
+ expected: FAIL
+
+
+[request-error.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [RequestInit's window is not null]
+ expected: FAIL
+
+
+[request-error.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [RequestInit's window is not null]
+ expected: FAIL
+
+
+[request-error.any.sharedworker.html]
+ [RequestInit's window is not null]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/api/request/request-headers.any.js.ini b/testing/web-platform/meta/fetch/api/request/request-headers.any.js.ini
new file mode 100644
index 0000000000..f9c8684e35
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/request/request-headers.any.js.ini
@@ -0,0 +1,22 @@
+[request-headers.any.serviceworker.html]
+ [Adding invalid request header "Access-Control-Request-Private-Network: KO"]
+ expected: FAIL
+
+
+[request-headers.any.worker.html]
+ [Adding invalid request header "Access-Control-Request-Private-Network: KO"]
+ expected: FAIL
+
+
+[request-headers.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Adding invalid request header "Access-Control-Request-Private-Network: KO"]
+ expected: FAIL
+
+
+[request-headers.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Adding invalid request header "Access-Control-Request-Private-Network: KO"]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/api/request/request-init-002.any.js.ini b/testing/web-platform/meta/fetch/api/request/request-init-002.any.js.ini
new file mode 100644
index 0000000000..24ccacd0af
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/request/request-init-002.any.js.ini
@@ -0,0 +1,13 @@
+[request-init-002.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [TIMEOUT, OK]
+
+[request-init-002.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[request-init-002.any.sharedworker.html]
+
+[request-init-002.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/request/request-init-003.sub.html.ini b/testing/web-platform/meta/fetch/api/request/request-init-003.sub.html.ini
new file mode 100644
index 0000000000..52a83cb4b9
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/request/request-init-003.sub.html.ini
@@ -0,0 +1,3 @@
+[request-init-003.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/request/request-init-contenttype.any.js.ini b/testing/web-platform/meta/fetch/api/request/request-init-contenttype.any.js.ini
new file mode 100644
index 0000000000..a02e8dfcb0
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/request/request-init-contenttype.any.js.ini
@@ -0,0 +1,8 @@
+[request-init-contenttype.any.html]
+ [Default Content-Type for Request with ReadableStream body]
+ expected: FAIL
+
+
+[request-init-contenttype.any.worker.html]
+ [Default Content-Type for Request with ReadableStream body]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/api/request/request-init-priority.any.js.ini b/testing/web-platform/meta/fetch/api/request/request-init-priority.any.js.ini
new file mode 100644
index 0000000000..56ad957c34
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/request/request-init-priority.any.js.ini
@@ -0,0 +1,14 @@
+[request-init-priority.any.html]
+ [new Request() throws a TypeError if any of RequestInit's members' values are invalid]
+ expected: FAIL
+
+ [fetch() with an invalid priority returns a rejected promise with a TypeError]
+ expected: FAIL
+
+
+[request-init-priority.any.worker.html]
+ [new Request() throws a TypeError if any of RequestInit's members' values are invalid]
+ expected: FAIL
+
+ [fetch() with an invalid priority returns a rejected promise with a TypeError]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/api/request/request-init-stream.any.js.ini b/testing/web-platform/meta/fetch/api/request/request-init-stream.any.js.ini
new file mode 100644
index 0000000000..b2ece33e0c
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/request/request-init-stream.any.js.ini
@@ -0,0 +1,164 @@
+[request-init-stream.any.worker.html]
+ [It is error to omit .duplex when the body is a ReadableStream.]
+ expected: FAIL
+
+ [It is error to set .duplex = 'full' when the body is null.]
+ expected: FAIL
+
+ [It is error to set .duplex = 'full' when the body is a string.]
+ expected: FAIL
+
+ [It is error to set .duplex = 'full' when the body is a Uint8Array.]
+ expected: FAIL
+
+ [It is error to set .duplex = 'full' when the body is a Blob.]
+ expected: FAIL
+
+ [It is error to set .duplex = 'full' when the body is a ReadableStream.]
+ expected: FAIL
+
+ [Constructing a Request with a Request on which body.getReader().read() is called]
+ expected: FAIL
+
+ [Constructing a Request with a stream on which read() and releaseLock() are called]
+ expected: FAIL
+
+ [Constructing a Request with a Request on which body.getReader() is called]
+ expected: FAIL
+
+ [Constructing a Request with a Request on which read() and releaseLock() are called]
+ expected: FAIL
+
+ [Constructing a Request with a stream on which getReader() is called]
+ expected: FAIL
+
+ [Constructing a Request with a stream on which read() is called]
+ expected: FAIL
+
+ [Constructing a Request with a stream holds the original object.]
+ expected: FAIL
+
+
+[request-init-stream.any.sharedworker.html]
+ [It is error to omit .duplex when the body is a ReadableStream.]
+ expected: FAIL
+
+ [It is error to set .duplex = 'full' when the body is null.]
+ expected: FAIL
+
+ [It is error to set .duplex = 'full' when the body is a string.]
+ expected: FAIL
+
+ [It is error to set .duplex = 'full' when the body is a Uint8Array.]
+ expected: FAIL
+
+ [It is error to set .duplex = 'full' when the body is a Blob.]
+ expected: FAIL
+
+ [It is error to set .duplex = 'full' when the body is a ReadableStream.]
+ expected: FAIL
+
+ [Constructing a Request with a Request on which body.getReader().read() is called]
+ expected: FAIL
+
+ [Constructing a Request with a stream on which read() and releaseLock() are called]
+ expected: FAIL
+
+ [Constructing a Request with a Request on which body.getReader() is called]
+ expected: FAIL
+
+ [Constructing a Request with a Request on which read() and releaseLock() are called]
+ expected: FAIL
+
+ [Constructing a Request with a stream on which getReader() is called]
+ expected: FAIL
+
+ [Constructing a Request with a stream on which read() is called]
+ expected: FAIL
+
+ [Constructing a Request with a stream holds the original object.]
+ expected: FAIL
+
+
+[request-init-stream.any.html]
+ [It is error to omit .duplex when the body is a ReadableStream.]
+ expected: FAIL
+
+ [It is error to set .duplex = 'full' when the body is null.]
+ expected: FAIL
+
+ [It is error to set .duplex = 'full' when the body is a string.]
+ expected: FAIL
+
+ [It is error to set .duplex = 'full' when the body is a Uint8Array.]
+ expected: FAIL
+
+ [It is error to set .duplex = 'full' when the body is a Blob.]
+ expected: FAIL
+
+ [It is error to set .duplex = 'full' when the body is a ReadableStream.]
+ expected: FAIL
+
+ [Constructing a Request with a Request on which body.getReader().read() is called]
+ expected: FAIL
+
+ [Constructing a Request with a stream on which read() and releaseLock() are called]
+ expected: FAIL
+
+ [Constructing a Request with a Request on which body.getReader() is called]
+ expected: FAIL
+
+ [Constructing a Request with a Request on which read() and releaseLock() are called]
+ expected: FAIL
+
+ [Constructing a Request with a stream on which getReader() is called]
+ expected: FAIL
+
+ [Constructing a Request with a stream on which read() is called]
+ expected: FAIL
+
+ [Constructing a Request with a stream holds the original object.]
+ expected: FAIL
+
+
+[request-init-stream.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [It is error to omit .duplex when the body is a ReadableStream.]
+ expected: FAIL
+
+ [It is error to set .duplex = 'full' when the body is null.]
+ expected: FAIL
+
+ [It is error to set .duplex = 'full' when the body is a string.]
+ expected: FAIL
+
+ [It is error to set .duplex = 'full' when the body is a Uint8Array.]
+ expected: FAIL
+
+ [It is error to set .duplex = 'full' when the body is a Blob.]
+ expected: FAIL
+
+ [It is error to set .duplex = 'full' when the body is a ReadableStream.]
+ expected: FAIL
+
+ [Constructing a Request with a Request on which body.getReader().read() is called]
+ expected: FAIL
+
+ [Constructing a Request with a stream on which read() and releaseLock() are called]
+ expected: FAIL
+
+ [Constructing a Request with a Request on which body.getReader() is called]
+ expected: FAIL
+
+ [Constructing a Request with a Request on which read() and releaseLock() are called]
+ expected: FAIL
+
+ [Constructing a Request with a stream on which getReader() is called]
+ expected: FAIL
+
+ [Constructing a Request with a stream on which read() is called]
+ expected: FAIL
+
+ [Constructing a Request with a stream holds the original object.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/api/request/request-keepalive-quota.html.ini b/testing/web-platform/meta/fetch/api/request/request-keepalive-quota.html.ini
new file mode 100644
index 0000000000..e1f5ddfbae
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/request/request-keepalive-quota.html.ini
@@ -0,0 +1,49 @@
+[request-keepalive-quota.html]
+ [A Keep-Alive fetch() with a body over the Quota Limit should reject.]
+ expected: FAIL
+
+ [A Keep-Alive fetch() should not be allowed if the Quota is used up.]
+ expected: FAIL
+
+ [A Keep-Alive fetch() should return only its allocated Quota upon promise resolution.]
+ expected: FAIL
+
+
+[request-keepalive-quota.html?slow-2]
+ [Request Keepalive Quota Tests]
+ expected: FAIL
+
+
+[request-keepalive-quota.html?fast]
+ [Request Keepalive Quota Tests]
+ expected: FAIL
+
+
+[request-keepalive-quota.html?slow-3]
+ [Request Keepalive Quota Tests]
+ expected: FAIL
+
+
+[request-keepalive-quota.html?slow-1]
+ [Request Keepalive Quota Tests]
+ expected: FAIL
+
+
+[request-keepalive-quota.html?include=slow-2]
+ [A Keep-Alive fetch() should return only its allocated Quota upon promise resolution.]
+ expected: FAIL
+
+
+[request-keepalive-quota.html?include=fast]
+ [A Keep-Alive fetch() with a body over the Quota Limit should reject.]
+ expected: FAIL
+
+
+[request-keepalive-quota.html?include=slow-3]
+ expected:
+ if (os == "android") and fission: [TIMEOUT, OK]
+ [A Keep-Alive fetch() should not be allowed if the Quota is used up.]
+ expected: FAIL
+
+
+[request-keepalive-quota.html?include=slow-1]
diff --git a/testing/web-platform/meta/fetch/api/request/request-keepalive.any.js.ini b/testing/web-platform/meta/fetch/api/request/request-keepalive.any.js.ini
new file mode 100644
index 0000000000..a381948828
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/request/request-keepalive.any.js.ini
@@ -0,0 +1,34 @@
+[request-keepalive.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [keepalive flag with stream body]
+ expected: FAIL
+
+ [keepalive flag]
+ expected: FAIL
+
+
+[request-keepalive.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [keepalive flag with stream body]
+ expected: FAIL
+
+ [keepalive flag]
+ expected: FAIL
+
+
+[request-keepalive.any.serviceworker.html]
+ [keepalive flag with stream body]
+ expected: FAIL
+
+ [keepalive flag]
+ expected: FAIL
+
+
+[request-keepalive.any.html]
+ [keepalive flag with stream body]
+ expected: FAIL
+
+ [keepalive flag]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/api/request/request-reset-attributes.https.html.ini b/testing/web-platform/meta/fetch/api/request/request-reset-attributes.https.html.ini
new file mode 100644
index 0000000000..ed047a8559
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/request/request-reset-attributes.https.html.ini
@@ -0,0 +1,8 @@
+[request-reset-attributes.https.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Request.isReloadNavigation is reset with non-empty RequestInit]
+ expected: FAIL
+
+ [Request.isHistoryNavigation is reset with non-empty RequestInit]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/api/request/request-structure.any.js.ini b/testing/web-platform/meta/fetch/api/request/request-structure.any.js.ini
new file mode 100644
index 0000000000..61ac2a7602
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/request/request-structure.any.js.ini
@@ -0,0 +1,44 @@
+[request-structure.any.worker.html]
+ [Check isReloadNavigation attribute]
+ expected: FAIL
+
+ [Check isHistoryNavigation attribute]
+ expected: FAIL
+
+ [Check duplex attribute]
+ expected: FAIL
+
+
+[request-structure.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [TIMEOUT, OK]
+ [Check isReloadNavigation attribute]
+ expected: FAIL
+
+ [Check isHistoryNavigation attribute]
+ expected: FAIL
+
+ [Check duplex attribute]
+ expected: FAIL
+
+
+[request-structure.any.html]
+ [Check isReloadNavigation attribute]
+ expected: FAIL
+
+ [Check isHistoryNavigation attribute]
+ expected: FAIL
+
+ [Check duplex attribute]
+ expected: FAIL
+
+
+[request-structure.any.serviceworker.html]
+ [Check isReloadNavigation attribute]
+ expected: FAIL
+
+ [Check isHistoryNavigation attribute]
+ expected: FAIL
+
+ [Check duplex attribute]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/api/request/url-encoding.html.ini b/testing/web-platform/meta/fetch/api/request/url-encoding.html.ini
new file mode 100644
index 0000000000..f5aba1e054
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/request/url-encoding.html.ini
@@ -0,0 +1,3 @@
+[url-encoding.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/response/__dir__.ini b/testing/web-platform/meta/fetch/api/response/__dir__.ini
new file mode 100644
index 0000000000..83d49dd735
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/response/__dir__.ini
@@ -0,0 +1 @@
+lsan-allowed: [Alloc, NS_NewCStringInputStream, PR_NewMonitor, maybe_pod_malloc, mozilla::NonBlockingAsyncInputStream::AsyncWait, mozilla::NonBlockingAsyncInputStream::Create, mozilla::dom::BodyStream::Create, mozilla::dom::WorkerPrivate::WorkerPrivate, unknown stack]
diff --git a/testing/web-platform/meta/fetch/api/response/response-body-read-task-handling.html.ini b/testing/web-platform/meta/fetch/api/response/response-body-read-task-handling.html.ini
new file mode 100644
index 0000000000..dbb5d2c92d
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/response/response-body-read-task-handling.html.ini
@@ -0,0 +1,3 @@
+[response-body-read-task-handling.html]
+ [reading from a body stream should occur in a microtask scope]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/api/response/response-cancel-stream.any.js.ini b/testing/web-platform/meta/fetch/api/response/response-cancel-stream.any.js.ini
new file mode 100644
index 0000000000..0a1d0b35ec
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/response/response-cancel-stream.any.js.ini
@@ -0,0 +1,40 @@
+[response-cancel-stream.any.sharedworker.html]
+ expected:
+ if os == "mac": [OK, ERROR, TIMEOUT]
+ [Cancelling a closed Response stream]
+ expected:
+ if os == "mac": [PASS, FAIL, TIMEOUT]
+
+
+[response-cancel-stream.any.html]
+ expected:
+ if (os == "linux") and not fission and not debug: [OK, ERROR]
+ if (os == "mac") and not debug: [OK, TIMEOUT, ERROR]
+ if (os == "mac") and debug: [OK, ERROR, TIMEOUT]
+ if os == "win": [OK, ERROR]
+ [Cancelling a closed Response stream]
+ expected:
+ if (os == "mac") and debug: [PASS, FAIL, TIMEOUT]
+ if (os == "mac") and not debug: [PASS, TIMEOUT, FAIL]
+
+ [Accessing .body after canceling it]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+
+[response-cancel-stream.any.serviceworker.html]
+ expected:
+ if (os == "win") and debug and (processor == "x86_64") and not swgl: [OK, TIMEOUT]
+ if os == "mac": [OK, TIMEOUT]
+ [Cancelling a closed Response stream]
+ expected:
+ if os == "mac": [PASS, FAIL, TIMEOUT]
+
+
+[response-cancel-stream.any.worker.html]
+ expected:
+ if (os == "win") and not debug: [OK, ERROR]
+ if os == "mac": [OK, ERROR, TIMEOUT]
+ [Cancelling a closed Response stream]
+ expected:
+ if os == "mac": [PASS, FAIL, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/response/response-clone-iframe.window.js.ini b/testing/web-platform/meta/fetch/api/response/response-clone-iframe.window.js.ini
new file mode 100644
index 0000000000..4b1028f41f
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/response/response-clone-iframe.window.js.ini
@@ -0,0 +1,5 @@
+[response-clone-iframe.window.html]
+ expected:
+ if (os == "mac") and not debug: [OK, ERROR]
+ if (os == "mac") and debug: [OK, ERROR]
+ if os == "win": [OK, ERROR]
diff --git a/testing/web-platform/meta/fetch/api/response/response-clone.any.js.ini b/testing/web-platform/meta/fetch/api/response/response-clone.any.js.ini
new file mode 100644
index 0000000000..6c8dade15d
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/response/response-clone.any.js.ini
@@ -0,0 +1,171 @@
+[response-clone.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Check response clone use structureClone for teed ReadableStreams (Uint8ClampedArraychunk)]
+ expected: FAIL
+
+ [Check response clone use structureClone for teed ReadableStreams (Float32Arraychunk)]
+ expected: FAIL
+
+ [Check response clone use structureClone for teed ReadableStreams (Float64Arraychunk)]
+ expected: FAIL
+
+ [Check response clone use structureClone for teed ReadableStreams (Uint16Arraychunk)]
+ expected: FAIL
+
+ [Check response clone use structureClone for teed ReadableStreams (Int8Arraychunk)]
+ expected: FAIL
+
+ [Check response clone use structureClone for teed ReadableStreams (ArrayBufferchunk)]
+ expected: FAIL
+
+ [Check response clone use structureClone for teed ReadableStreams (Int32Arraychunk)]
+ expected: FAIL
+
+ [Check response clone use structureClone for teed ReadableStreams (DataViewchunk)]
+ expected: FAIL
+
+ [Check response clone use structureClone for teed ReadableStreams (Uint32Arraychunk)]
+ expected: FAIL
+
+ [Check response clone use structureClone for teed ReadableStreams (Int16Arraychunk)]
+ expected: FAIL
+
+ [Check response clone use structureClone for teed ReadableStreams (Uint8Arraychunk)]
+ expected: FAIL
+
+ [Check response clone use structureClone for teed ReadableStreams (BigInt64Arraychunk)]
+ expected: FAIL
+
+ [Check response clone use structureClone for teed ReadableStreams (BigUint64Arraychunk)]
+ expected: FAIL
+
+
+[response-clone.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Check response clone use structureClone for teed ReadableStreams (Uint8ClampedArraychunk)]
+ expected: FAIL
+
+ [Check response clone use structureClone for teed ReadableStreams (Float32Arraychunk)]
+ expected: FAIL
+
+ [Check response clone use structureClone for teed ReadableStreams (Float64Arraychunk)]
+ expected: FAIL
+
+ [Check response clone use structureClone for teed ReadableStreams (Uint16Arraychunk)]
+ expected: FAIL
+
+ [Check response clone use structureClone for teed ReadableStreams (Int8Arraychunk)]
+ expected: FAIL
+
+ [Check response clone use structureClone for teed ReadableStreams (ArrayBufferchunk)]
+ expected: FAIL
+
+ [Check response clone use structureClone for teed ReadableStreams (Int32Arraychunk)]
+ expected: FAIL
+
+ [Check response clone use structureClone for teed ReadableStreams (DataViewchunk)]
+ expected: FAIL
+
+ [Check response clone use structureClone for teed ReadableStreams (Uint32Arraychunk)]
+ expected: FAIL
+
+ [Check response clone use structureClone for teed ReadableStreams (Int16Arraychunk)]
+ expected: FAIL
+
+ [Check response clone use structureClone for teed ReadableStreams (Uint8Arraychunk)]
+ expected: FAIL
+
+ [Check response clone use structureClone for teed ReadableStreams (BigInt64Arraychunk)]
+ expected: FAIL
+
+ [Check response clone use structureClone for teed ReadableStreams (BigUint64Arraychunk)]
+ expected: FAIL
+
+
+[response-clone.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ if os == "mac": [OK, ERROR]
+ [Check response clone use structureClone for teed ReadableStreams (Uint8ClampedArraychunk)]
+ expected: FAIL
+
+ [Check response clone use structureClone for teed ReadableStreams (Float32Arraychunk)]
+ expected: FAIL
+
+ [Check response clone use structureClone for teed ReadableStreams (Float64Arraychunk)]
+ expected: FAIL
+
+ [Check response clone use structureClone for teed ReadableStreams (Uint16Arraychunk)]
+ expected: FAIL
+
+ [Check response clone use structureClone for teed ReadableStreams (Int8Arraychunk)]
+ expected: FAIL
+
+ [Check response clone use structureClone for teed ReadableStreams (ArrayBufferchunk)]
+ expected: FAIL
+
+ [Check response clone use structureClone for teed ReadableStreams (Int32Arraychunk)]
+ expected: FAIL
+
+ [Check response clone use structureClone for teed ReadableStreams (DataViewchunk)]
+ expected: FAIL
+
+ [Check response clone use structureClone for teed ReadableStreams (Uint32Arraychunk)]
+ expected: FAIL
+
+ [Check response clone use structureClone for teed ReadableStreams (Int16Arraychunk)]
+ expected: FAIL
+
+ [Check response clone use structureClone for teed ReadableStreams (Uint8Arraychunk)]
+ expected: FAIL
+
+ [Check response clone use structureClone for teed ReadableStreams (BigInt64Arraychunk)]
+ expected: FAIL
+
+ [Check response clone use structureClone for teed ReadableStreams (BigUint64Arraychunk)]
+ expected: FAIL
+
+
+[response-clone.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Check response clone use structureClone for teed ReadableStreams (Uint8ClampedArraychunk)]
+ expected: FAIL
+
+ [Check response clone use structureClone for teed ReadableStreams (Float32Arraychunk)]
+ expected: FAIL
+
+ [Check response clone use structureClone for teed ReadableStreams (Float64Arraychunk)]
+ expected: FAIL
+
+ [Check response clone use structureClone for teed ReadableStreams (Uint16Arraychunk)]
+ expected: FAIL
+
+ [Check response clone use structureClone for teed ReadableStreams (Int8Arraychunk)]
+ expected: FAIL
+
+ [Check response clone use structureClone for teed ReadableStreams (ArrayBufferchunk)]
+ expected: FAIL
+
+ [Check response clone use structureClone for teed ReadableStreams (Int32Arraychunk)]
+ expected: FAIL
+
+ [Check response clone use structureClone for teed ReadableStreams (DataViewchunk)]
+ expected: FAIL
+
+ [Check response clone use structureClone for teed ReadableStreams (Uint32Arraychunk)]
+ expected: FAIL
+
+ [Check response clone use structureClone for teed ReadableStreams (Int16Arraychunk)]
+ expected: FAIL
+
+ [Check response clone use structureClone for teed ReadableStreams (Uint8Arraychunk)]
+ expected: FAIL
+
+ [Check response clone use structureClone for teed ReadableStreams (BigInt64Arraychunk)]
+ expected: FAIL
+
+ [Check response clone use structureClone for teed ReadableStreams (BigUint64Arraychunk)]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/api/response/response-consume-empty.any.js.ini b/testing/web-platform/meta/fetch/api/response/response-consume-empty.any.js.ini
new file mode 100644
index 0000000000..a84b09e39c
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/response/response-consume-empty.any.js.ini
@@ -0,0 +1,26 @@
+[response-consume-empty.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Consume empty FormData response body as text]
+ expected: FAIL
+
+
+[response-consume-empty.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Consume empty FormData response body as text]
+ expected: FAIL
+
+
+[response-consume-empty.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Consume empty FormData response body as text]
+ expected: FAIL
+
+
+[response-consume-empty.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Consume empty FormData response body as text]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/api/response/response-consume-stream.any.js.ini b/testing/web-platform/meta/fetch/api/response/response-consume-stream.any.js.ini
new file mode 100644
index 0000000000..564dbe44e6
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/response/response-consume-stream.any.js.ini
@@ -0,0 +1,15 @@
+[response-consume-stream.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[response-consume-stream.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[response-consume-stream.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[response-consume-stream.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/response/response-consume.html.ini b/testing/web-platform/meta/fetch/api/response/response-consume.html.ini
new file mode 100644
index 0000000000..f4b90a1126
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/response/response-consume.html.ini
@@ -0,0 +1,5 @@
+[response-consume.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Consume response's body: from FormData to blob]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/api/response/response-error-from-stream.any.js.ini b/testing/web-platform/meta/fetch/api/response/response-error-from-stream.any.js.ini
new file mode 100644
index 0000000000..cfb794e5ca
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/response/response-error-from-stream.any.js.ini
@@ -0,0 +1,174 @@
+[response-error-from-stream.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [ReadableStream start() Error propagates to Response.text() Promise]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1794141
+ expected: FAIL
+
+ [ReadableStream start() Error propagates to Response.formData() Promise]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1794141
+ expected: FAIL
+
+ [ReadableStream pull() Error propagates to Response.text() Promise]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1794141
+ expected: FAIL
+
+ [ReadableStream start() Error propagates to Response.json() Promise]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1794141
+ expected: FAIL
+
+ [ReadableStream start() Error propagates to Response.arrayBuffer() Promise]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1794141
+ expected: FAIL
+
+ [ReadableStream pull() Error propagates to Response.json() Promise]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1794141
+ expected: FAIL
+
+ [ReadableStream pull() Error propagates to Response.arrayBuffer() Promise]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1794141
+ expected: FAIL
+
+ [ReadableStream start() Error propagates to Response.blob() Promise]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1794141
+ expected: FAIL
+
+ [ReadableStream pull() Error propagates to Response.blob() Promise]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1794141
+ expected: FAIL
+
+ [ReadableStream pull() Error propagates to Response.formData() Promise]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1794141
+ expected: FAIL
+
+
+[response-error-from-stream.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [ReadableStream start() Error propagates to Response.text() Promise]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1794141
+ expected: FAIL
+
+ [ReadableStream start() Error propagates to Response.formData() Promise]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1794141
+ expected: FAIL
+
+ [ReadableStream pull() Error propagates to Response.text() Promise]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1794141
+ expected: FAIL
+
+ [ReadableStream start() Error propagates to Response.json() Promise]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1794141
+ expected: FAIL
+
+ [ReadableStream start() Error propagates to Response.arrayBuffer() Promise]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1794141
+ expected: FAIL
+
+ [ReadableStream pull() Error propagates to Response.json() Promise]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1794141
+ expected: FAIL
+
+ [ReadableStream pull() Error propagates to Response.arrayBuffer() Promise]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1794141
+ expected: FAIL
+
+ [ReadableStream start() Error propagates to Response.blob() Promise]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1794141
+ expected: FAIL
+
+ [ReadableStream pull() Error propagates to Response.blob() Promise]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1794141
+ expected: FAIL
+
+ [ReadableStream pull() Error propagates to Response.formData() Promise]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1794141
+ expected: FAIL
+
+
+[response-error-from-stream.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [ReadableStream start() Error propagates to Response.text() Promise]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1794141
+ expected: FAIL
+
+ [ReadableStream start() Error propagates to Response.formData() Promise]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1794141
+ expected: FAIL
+
+ [ReadableStream pull() Error propagates to Response.text() Promise]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1794141
+ expected: FAIL
+
+ [ReadableStream start() Error propagates to Response.json() Promise]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1794141
+ expected: FAIL
+
+ [ReadableStream start() Error propagates to Response.arrayBuffer() Promise]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1794141
+ expected: FAIL
+
+ [ReadableStream pull() Error propagates to Response.json() Promise]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1794141
+ expected: FAIL
+
+ [ReadableStream pull() Error propagates to Response.arrayBuffer() Promise]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1794141
+ expected: FAIL
+
+ [ReadableStream start() Error propagates to Response.blob() Promise]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1794141
+ expected: FAIL
+
+ [ReadableStream pull() Error propagates to Response.blob() Promise]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1794141
+ expected: FAIL
+
+ [ReadableStream pull() Error propagates to Response.formData() Promise]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1794141
+ expected: FAIL
+
+
+[response-error-from-stream.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [ReadableStream start() Error propagates to Response.text() Promise]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1794141
+ expected: FAIL
+
+ [ReadableStream start() Error propagates to Response.formData() Promise]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1794141
+ expected: FAIL
+
+ [ReadableStream pull() Error propagates to Response.text() Promise]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1794141
+ expected: FAIL
+
+ [ReadableStream start() Error propagates to Response.json() Promise]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1794141
+ expected: FAIL
+
+ [ReadableStream start() Error propagates to Response.arrayBuffer() Promise]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1794141
+ expected: FAIL
+
+ [ReadableStream pull() Error propagates to Response.json() Promise]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1794141
+ expected: FAIL
+
+ [ReadableStream pull() Error propagates to Response.arrayBuffer() Promise]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1794141
+ expected: FAIL
+
+ [ReadableStream start() Error propagates to Response.blob() Promise]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1794141
+ expected: FAIL
+
+ [ReadableStream pull() Error propagates to Response.blob() Promise]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1794141
+ expected: FAIL
+
+ [ReadableStream pull() Error propagates to Response.formData() Promise]
+ bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1794141
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/api/response/response-error.any.js.ini b/testing/web-platform/meta/fetch/api/response/response-error.any.js.ini
new file mode 100644
index 0000000000..87ba800556
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/response/response-error.any.js.ini
@@ -0,0 +1,15 @@
+[response-error.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[response-error.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[response-error.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[response-error.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/response/response-from-stream.any.js.ini b/testing/web-platform/meta/fetch/api/response/response-from-stream.any.js.ini
new file mode 100644
index 0000000000..b5b870d8e2
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/response/response-from-stream.any.js.ini
@@ -0,0 +1,15 @@
+[response-from-stream.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[response-from-stream.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [TIMEOUT, OK]
+
+[response-from-stream.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[response-from-stream.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/response/response-init-001.any.js.ini b/testing/web-platform/meta/fetch/api/response/response-init-001.any.js.ini
new file mode 100644
index 0000000000..b21cd420c2
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/response/response-init-001.any.js.ini
@@ -0,0 +1,15 @@
+[response-init-001.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[response-init-001.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[response-init-001.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[response-init-001.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/response/response-init-002.any.js.ini b/testing/web-platform/meta/fetch/api/response/response-init-002.any.js.ini
new file mode 100644
index 0000000000..028bdceab9
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/response/response-init-002.any.js.ini
@@ -0,0 +1,15 @@
+[response-init-002.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[response-init-002.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[response-init-002.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[response-init-002.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/response/response-init-contenttype.any.js.ini b/testing/web-platform/meta/fetch/api/response/response-init-contenttype.any.js.ini
new file mode 100644
index 0000000000..38817757e9
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/response/response-init-contenttype.any.js.ini
@@ -0,0 +1,12 @@
+[response-init-contenttype.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Default Content-Type for Response with ReadableStream body]
+ expected: FAIL
+
+
+[response-init-contenttype.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Default Content-Type for Response with ReadableStream body]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/api/response/response-static-error.any.js.ini b/testing/web-platform/meta/fetch/api/response/response-static-error.any.js.ini
new file mode 100644
index 0000000000..3b73fa1bd5
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/response/response-static-error.any.js.ini
@@ -0,0 +1,15 @@
+[response-static-error.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[response-static-error.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[response-static-error.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[response-static-error.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/response/response-static-json.any.js.ini b/testing/web-platform/meta/fetch/api/response/response-static-json.any.js.ini
new file mode 100644
index 0000000000..993587cdc6
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/response/response-static-json.any.js.ini
@@ -0,0 +1,15 @@
+[response-static-json.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[response-static-json.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[response-static-json.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[response-static-json.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/response/response-static-redirect.any.js.ini b/testing/web-platform/meta/fetch/api/response/response-static-redirect.any.js.ini
new file mode 100644
index 0000000000..b75e2043cf
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/response/response-static-redirect.any.js.ini
@@ -0,0 +1,15 @@
+[response-static-redirect.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[response-static-redirect.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[response-static-redirect.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[response-static-redirect.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/response/response-stream-bad-chunk.any.js.ini b/testing/web-platform/meta/fetch/api/response/response-stream-bad-chunk.any.js.ini
new file mode 100644
index 0000000000..a886549f15
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/response/response-stream-bad-chunk.any.js.ini
@@ -0,0 +1,15 @@
+[response-stream-bad-chunk.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[response-stream-bad-chunk.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[response-stream-bad-chunk.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[response-stream-bad-chunk.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/response/response-stream-disturbed-1.any.js.ini b/testing/web-platform/meta/fetch/api/response/response-stream-disturbed-1.any.js.ini
new file mode 100644
index 0000000000..4fa3d6e29f
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/response/response-stream-disturbed-1.any.js.ini
@@ -0,0 +1,15 @@
+[response-stream-disturbed-1.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[response-stream-disturbed-1.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[response-stream-disturbed-1.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[response-stream-disturbed-1.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/response/response-stream-disturbed-2.any.js.ini b/testing/web-platform/meta/fetch/api/response/response-stream-disturbed-2.any.js.ini
new file mode 100644
index 0000000000..6138b3d4b5
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/response/response-stream-disturbed-2.any.js.ini
@@ -0,0 +1,15 @@
+[response-stream-disturbed-2.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[response-stream-disturbed-2.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[response-stream-disturbed-2.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[response-stream-disturbed-2.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/response/response-stream-disturbed-3.any.js.ini b/testing/web-platform/meta/fetch/api/response/response-stream-disturbed-3.any.js.ini
new file mode 100644
index 0000000000..dc573e3b0e
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/response/response-stream-disturbed-3.any.js.ini
@@ -0,0 +1,15 @@
+[response-stream-disturbed-3.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[response-stream-disturbed-3.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[response-stream-disturbed-3.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[response-stream-disturbed-3.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/response/response-stream-disturbed-4.any.js.ini b/testing/web-platform/meta/fetch/api/response/response-stream-disturbed-4.any.js.ini
new file mode 100644
index 0000000000..e2dc5abda7
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/response/response-stream-disturbed-4.any.js.ini
@@ -0,0 +1,15 @@
+[response-stream-disturbed-4.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[response-stream-disturbed-4.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[response-stream-disturbed-4.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[response-stream-disturbed-4.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/response/response-stream-disturbed-5.any.js.ini b/testing/web-platform/meta/fetch/api/response/response-stream-disturbed-5.any.js.ini
new file mode 100644
index 0000000000..c41af4ea43
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/response/response-stream-disturbed-5.any.js.ini
@@ -0,0 +1,15 @@
+[response-stream-disturbed-5.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[response-stream-disturbed-5.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[response-stream-disturbed-5.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[response-stream-disturbed-5.any.html]
+ expected:
+ if (os == "android") and fission: [TIMEOUT, OK]
diff --git a/testing/web-platform/meta/fetch/api/response/response-stream-disturbed-6.any.js.ini b/testing/web-platform/meta/fetch/api/response/response-stream-disturbed-6.any.js.ini
new file mode 100644
index 0000000000..4c56479b89
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/response/response-stream-disturbed-6.any.js.ini
@@ -0,0 +1,15 @@
+[response-stream-disturbed-6.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[response-stream-disturbed-6.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[response-stream-disturbed-6.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[response-stream-disturbed-6.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/response/response-stream-disturbed-by-pipe.any.js.ini b/testing/web-platform/meta/fetch/api/response/response-stream-disturbed-by-pipe.any.js.ini
new file mode 100644
index 0000000000..aa9bb1c872
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/response/response-stream-disturbed-by-pipe.any.js.ini
@@ -0,0 +1,15 @@
+[response-stream-disturbed-by-pipe.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[response-stream-disturbed-by-pipe.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[response-stream-disturbed-by-pipe.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[response-stream-disturbed-by-pipe.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/api/response/response-stream-with-broken-then.any.js.ini b/testing/web-platform/meta/fetch/api/response/response-stream-with-broken-then.any.js.ini
new file mode 100644
index 0000000000..496b923e59
--- /dev/null
+++ b/testing/web-platform/meta/fetch/api/response/response-stream-with-broken-then.any.js.ini
@@ -0,0 +1,15 @@
+[response-stream-with-broken-then.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[response-stream-with-broken-then.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[response-stream-with-broken-then.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[response-stream-with-broken-then.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/connection-pool/network-partition-key.html.ini b/testing/web-platform/meta/fetch/connection-pool/network-partition-key.html.ini
new file mode 100644
index 0000000000..89d2011c64
--- /dev/null
+++ b/testing/web-platform/meta/fetch/connection-pool/network-partition-key.html.ini
@@ -0,0 +1,8 @@
+prefs: [privacy.partition.network_state:true]
+[network-partition-key.html]
+ [CSP sandbox]
+ expected: FAIL
+
+ [about:blank from opaque origin iframe]
+ expected: FAIL
+
diff --git a/testing/web-platform/meta/fetch/content-encoding/gzip-body.any.js.ini b/testing/web-platform/meta/fetch/content-encoding/gzip-body.any.js.ini
new file mode 100644
index 0000000000..6e7bc363e2
--- /dev/null
+++ b/testing/web-platform/meta/fetch/content-encoding/gzip-body.any.js.ini
@@ -0,0 +1,15 @@
+[gzip-body.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[gzip-body.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[gzip-body.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[gzip-body.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/content-length/api-and-duplicate-headers.any.js.ini b/testing/web-platform/meta/fetch/content-length/api-and-duplicate-headers.any.js.ini
new file mode 100644
index 0000000000..02f402b119
--- /dev/null
+++ b/testing/web-platform/meta/fetch/content-length/api-and-duplicate-headers.any.js.ini
@@ -0,0 +1,14 @@
+[api-and-duplicate-headers.any.html]
+ [fetch() and duplicate Content-Length/Content-Type headers]
+ expected: FAIL
+
+ [XMLHttpRequest and duplicate Content-Length/Content-Type headers]
+ expected: FAIL
+
+
+[api-and-duplicate-headers.any.worker.html]
+ [fetch() and duplicate Content-Length/Content-Type headers]
+ expected: FAIL
+
+ [XMLHttpRequest and duplicate Content-Length/Content-Type headers]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/content-length/too-long.window.js.ini b/testing/web-platform/meta/fetch/content-length/too-long.window.js.ini
new file mode 100644
index 0000000000..0422064103
--- /dev/null
+++ b/testing/web-platform/meta/fetch/content-length/too-long.window.js.ini
@@ -0,0 +1,5 @@
+[too-long.window.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Content-Length header value of network response exceeds response body]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/content-type/multipart-malformed.any.js.ini b/testing/web-platform/meta/fetch/content-type/multipart-malformed.any.js.ini
new file mode 100644
index 0000000000..b80c303baf
--- /dev/null
+++ b/testing/web-platform/meta/fetch/content-type/multipart-malformed.any.js.ini
@@ -0,0 +1,8 @@
+[multipart-malformed.any.html]
+ [Invalid form data should not crash the browser]
+ expected: FAIL
+
+
+[multipart-malformed.any.worker.html]
+ [Invalid form data should not crash the browser]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/content-type/response.window.js.ini b/testing/web-platform/meta/fetch/content-type/response.window.js.ini
new file mode 100644
index 0000000000..285b87544b
--- /dev/null
+++ b/testing/web-platform/meta/fetch/content-type/response.window.js.ini
@@ -0,0 +1,240 @@
+[response.window.html]
+ [Response: combined response Content-Type: text/plain;charset=gbk text/plain;charset=windows-1252]
+ expected: FAIL
+
+ [Request: combined response Content-Type: */* text/html]
+ expected: FAIL
+
+ [Response: combined response Content-Type: text/html */*]
+ expected: FAIL
+
+ [fetch(): separate response Content-Type: */* text/html]
+ expected: FAIL
+
+ [fetch(): separate response Content-Type: text/html;" text/plain]
+ expected: FAIL
+
+ [fetch(): separate response Content-Type: text/html;x=" text/plain]
+ expected: FAIL
+
+ [fetch(): combined response Content-Type: text/plain;charset=gbk text/html;charset=windows-1254]
+ expected: FAIL
+
+ [fetch(): combined response Content-Type: */* text/html]
+ expected: FAIL
+
+ [Request: combined response Content-Type: text/html */*]
+ expected: FAIL
+
+ [Request: combined response Content-Type: text/plain;charset=gbk text/plain;charset=windows-1252]
+ expected: FAIL
+
+ [Response: combined response Content-Type: text/plain;charset=gbk text/html]
+ expected: FAIL
+
+ [fetch(): combined response Content-Type: text/html;x=" text/plain]
+ expected: FAIL
+
+ [<iframe>: separate response Content-Type: text/html;" text/plain]
+ expected: FAIL
+
+ [fetch(): combined response Content-Type: text/html;charset=gbk text/plain text/html]
+ expected: FAIL
+
+ [fetch(): combined response Content-Type: text/html text/plain]
+ expected: FAIL
+
+ [Request: combined response Content-Type: text/html;charset=gbk text/plain text/html]
+ expected: FAIL
+
+ [<iframe>: separate response Content-Type: text/plain;charset=gbk text/html]
+ expected: FAIL
+
+ [fetch(): combined response Content-Type: text/html */*;charset=gbk]
+ expected: FAIL
+
+ [fetch(): combined response Content-Type: text/plain;charset=gbk text/plain]
+ expected: FAIL
+
+ [Request: combined response Content-Type: text/html text/plain]
+ expected: FAIL
+
+ [Request: combined response Content-Type: text/plain */*]
+ expected: FAIL
+
+ [fetch(): separate response Content-Type: text/html;charset=gbk text/plain text/html]
+ expected: FAIL
+
+ [Request: combined response Content-Type: text/plain;charset=gbk text/plain]
+ expected: FAIL
+
+ [fetch(): combined response Content-Type: text/plain;charset=gbk text/html]
+ expected: FAIL
+
+ [fetch(): combined response Content-Type: text/html;" text/plain]
+ expected: FAIL
+
+ [Response: combined response Content-Type: text/html text/plain]
+ expected: FAIL
+
+ [<iframe>: separate response Content-Type: text/html;charset=gbk text/plain text/html]
+ expected: FAIL
+
+ [fetch(): separate response Content-Type: text/plain;charset=gbk text/plain;charset=windows-1252]
+ expected: FAIL
+
+ [Request: combined response Content-Type: text/html;x=" text/plain]
+ expected: FAIL
+
+ [Response: combined response Content-Type: text/plain */*]
+ expected: FAIL
+
+ [Request: combined response Content-Type: text/html */*;charset=gbk]
+ expected: FAIL
+
+ [Response: combined response Content-Type: text/html;x=" text/plain]
+ expected: FAIL
+
+ [fetch(): combined response Content-Type: text/html */*]
+ expected: FAIL
+
+ [Response: combined response Content-Type: text/html;" text/plain]
+ expected: FAIL
+
+ [<iframe>: separate response Content-Type: text/html;x=" text/plain]
+ expected: FAIL
+
+ [Request: combined response Content-Type: text/plain;charset=gbk text/html;charset=windows-1254]
+ expected: FAIL
+
+ [Response: combined response Content-Type: */* text/html]
+ expected: FAIL
+
+ [Request: combined response Content-Type: text/plain;charset=gbk text/html]
+ expected: FAIL
+
+ [fetch(): separate response Content-Type: text/html;charset=gbk text/html;x=",text/plain]
+ expected: FAIL
+
+ [Response: combined response Content-Type: text/plain;charset=gbk text/html;charset=windows-1254]
+ expected: FAIL
+
+ [Response: combined response Content-Type: text/html;charset=gbk text/plain text/html]
+ expected: FAIL
+
+ [Response: combined response Content-Type: text/html;charset=gbk text/html;x=",text/plain]
+ expected: FAIL
+
+ [fetch(): separate response Content-Type: text/plain;charset=gbk text/html]
+ expected: FAIL
+
+ [fetch(): combined response Content-Type: text/html;charset=gbk text/html;x=",text/plain]
+ expected: FAIL
+
+ [fetch(): combined response Content-Type: text/plain */*]
+ expected: FAIL
+
+ [Request: combined response Content-Type: text/plain */*;charset=gbk]
+ expected: FAIL
+
+ [fetch(): separate response Content-Type: text/plain;charset=gbk text/html;charset=windows-1254]
+ expected: FAIL
+
+ [fetch(): combined response Content-Type: text/plain */*;charset=gbk]
+ expected: FAIL
+
+ [fetch(): combined response Content-Type: text/plain;charset=gbk text/plain;charset=windows-1252]
+ expected: FAIL
+
+ [Response: combined response Content-Type: text/plain;charset=gbk text/plain]
+ expected: FAIL
+
+ [fetch(): separate response Content-Type: text/html text/plain]
+ expected: FAIL
+
+ [Request: combined response Content-Type: text/html;" text/plain]
+ expected: FAIL
+
+ [Response: combined response Content-Type: text/plain */*;charset=gbk]
+ expected: FAIL
+
+ [Request: combined response Content-Type: text/html;charset=gbk text/html;x=",text/plain]
+ expected: FAIL
+
+ [Response: combined response Content-Type: text/html */*;charset=gbk]
+ expected: FAIL
+
+ [fetch(): combined response Content-Type: text/plain ]
+ expected: FAIL
+
+ [Response: combined response Content-Type: text/plain ]
+ expected: FAIL
+
+ [fetch(): separate response Content-Type: text/plain]
+ expected: FAIL
+
+ [Response: combined response Content-Type: text/plain]
+ expected: FAIL
+
+ [Request: combined response Content-Type: text/plain]
+ expected: FAIL
+
+ [fetch(): combined response Content-Type: text/plain]
+ expected: FAIL
+
+ [Request: combined response Content-Type: text/plain ]
+ expected: FAIL
+
+ [fetch(): separate response Content-Type: text/html;" \\" text/plain]
+ expected: FAIL
+
+ [fetch(): combined response Content-Type: text/html;" \\" text/plain]
+ expected: FAIL
+
+ [Request: combined response Content-Type: text/html;" \\" text/plain]
+ expected: FAIL
+
+ [Response: combined response Content-Type: text/html;" \\" text/plain]
+ expected: FAIL
+
+ [<iframe>: separate response Content-Type: text/html;" \\" text/plain]
+ expected: FAIL
+
+ [Request: combined response Content-Type: text/html;" \\" text/plain ";charset=GBK]
+ expected: FAIL
+
+ [Response: combined response Content-Type: text/plain;charset=gbk;x=foo text/plain]
+ expected: FAIL
+
+ [fetch(): combined response Content-Type: text/plain;charset=gbk;x=foo text/plain]
+ expected: FAIL
+
+ [fetch(): combined response Content-Type: text/html;" \\" text/plain ";charset=GBK]
+ expected: FAIL
+
+ [fetch(): separate response Content-Type: text/html;" \\" text/plain ";charset=GBK]
+ expected: FAIL
+
+ [Request: combined response Content-Type: text/plain;charset=gbk;x=foo text/plain]
+ expected: FAIL
+
+ [Response: combined response Content-Type: text/html;" " text/plain]
+ expected: FAIL
+
+ [Request: combined response Content-Type: text/html;" " text/plain]
+ expected: FAIL
+
+ [fetch(): separate response Content-Type: text/plain;charset=gbk;x=foo text/plain]
+ expected: FAIL
+
+ [<iframe>: separate response Content-Type: text/html;" \\" text/plain ";charset=GBK]
+ expected: FAIL
+
+ [fetch(): combined response Content-Type: text/html;" " text/plain]
+ expected: FAIL
+
+ [fetch(): separate response Content-Type: text/html;" " text/plain]
+ expected: FAIL
+
+ [Response: combined response Content-Type: text/html;" \\" text/plain ";charset=GBK]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/content-type/script.window.js.ini b/testing/web-platform/meta/fetch/content-type/script.window.js.ini
new file mode 100644
index 0000000000..2d1c7614c1
--- /dev/null
+++ b/testing/web-platform/meta/fetch/content-type/script.window.js.ini
@@ -0,0 +1,32 @@
+[script.window.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [separate text/javascript;";charset=windows-1252]
+ expected: FAIL
+
+ [separate x/x;charset=windows-1252 text/javascript]
+ expected: FAIL
+
+ [separate text/javascript;" x/x]
+ expected: FAIL
+
+ [separate text/javascript;charset=windows-1252 x/x text/javascript]
+ expected: FAIL
+
+ [separate text/javascript;charset=windows-1252;" \\" x/x]
+ expected: FAIL
+
+ [separate x/x;" x/y;\\" text/javascript;charset=windows-1252;" text/javascript]
+ expected: FAIL
+
+ [combined text/javascript error]
+ expected:
+ if os == "win": [PASS, FAIL]
+
+ [separate text/javascript ]
+ expected:
+ if os == "win": [PASS, FAIL]
+
+ [combined x/x text/javascript]
+ expected:
+ if (processor == "x86") and debug: [PASS, FAIL]
diff --git a/testing/web-platform/meta/fetch/corb/__dir__.ini b/testing/web-platform/meta/fetch/corb/__dir__.ini
new file mode 100644
index 0000000000..c59a832ef1
--- /dev/null
+++ b/testing/web-platform/meta/fetch/corb/__dir__.ini
@@ -0,0 +1,2 @@
+prefs: [browser.opaqueResponseBlocking:true]
+leak-threshold: [default:307200]
diff --git a/testing/web-platform/meta/fetch/corb/preload-image-png-mislabeled-as-html-nosniff.tentative.sub.html.ini b/testing/web-platform/meta/fetch/corb/preload-image-png-mislabeled-as-html-nosniff.tentative.sub.html.ini
new file mode 100644
index 0000000000..72f66df7da
--- /dev/null
+++ b/testing/web-platform/meta/fetch/corb/preload-image-png-mislabeled-as-html-nosniff.tentative.sub.html.ini
@@ -0,0 +1,4 @@
+[preload-image-png-mislabeled-as-html-nosniff.tentative.sub.html]
+ [preload-image-png-mislabeled-as-html-nosniff]
+ expected: FAIL
+
diff --git a/testing/web-platform/meta/fetch/corb/response_block.tentative.sub.https.html.ini b/testing/web-platform/meta/fetch/corb/response_block.tentative.sub.https.html.ini
new file mode 100644
index 0000000000..9edda52cdd
--- /dev/null
+++ b/testing/web-platform/meta/fetch/corb/response_block.tentative.sub.https.html.ini
@@ -0,0 +1,3 @@
+[response_block.tentative.sub.https.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/corb/script-html-correctly-labeled.tentative.sub.html.ini b/testing/web-platform/meta/fetch/corb/script-html-correctly-labeled.tentative.sub.html.ini
new file mode 100644
index 0000000000..bbb11d1998
--- /dev/null
+++ b/testing/web-platform/meta/fetch/corb/script-html-correctly-labeled.tentative.sub.html.ini
@@ -0,0 +1,2 @@
+[script-html-correctly-labeled.tentative.sub.html]
+ prefs: [browser.opaqueResponseBlocking.javascriptValidator:true]
diff --git a/testing/web-platform/meta/fetch/corb/script-html-js-polyglot.sub.html.ini b/testing/web-platform/meta/fetch/corb/script-html-js-polyglot.sub.html.ini
new file mode 100644
index 0000000000..966a321a51
--- /dev/null
+++ b/testing/web-platform/meta/fetch/corb/script-html-js-polyglot.sub.html.ini
@@ -0,0 +1,3 @@
+[script-html-js-polyglot.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/corb/script-html-via-cross-origin-blob-url.sub.html.ini b/testing/web-platform/meta/fetch/corb/script-html-via-cross-origin-blob-url.sub.html.ini
new file mode 100644
index 0000000000..50e572949e
--- /dev/null
+++ b/testing/web-platform/meta/fetch/corb/script-html-via-cross-origin-blob-url.sub.html.ini
@@ -0,0 +1,3 @@
+[script-html-via-cross-origin-blob-url.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/corb/script-resource-with-json-parser-breaker.tentative.sub.html.ini b/testing/web-platform/meta/fetch/corb/script-resource-with-json-parser-breaker.tentative.sub.html.ini
new file mode 100644
index 0000000000..bb216002b9
--- /dev/null
+++ b/testing/web-platform/meta/fetch/corb/script-resource-with-json-parser-breaker.tentative.sub.html.ini
@@ -0,0 +1,60 @@
+[script-resource-with-json-parser-breaker.tentative.sub.html]
+ prefs: [browser.opaqueResponseBlocking:true, browser.opaqueResponseBlocking.javascriptValidator:true]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [CORB-blocks 'application/javascript' that starts with the following JSON parser breaker: )\]}']
+ expected: FAIL
+
+ [CORB-blocks 'application/javascript' that starts with the following JSON parser breaker: {}&&]
+ expected: FAIL
+
+ [CORB-blocks 'application/javascript' that starts with the following JSON parser breaker: {} &&]
+ expected: FAIL
+
+ [CORB-blocks 'text/html' that starts with the following JSON parser breaker: {}&&]
+ expected:
+ if not debug and (os == "android"): [PASS, FAIL]
+ if not debug and (os == "linux"): [PASS, FAIL]
+ if not debug and (os == "mac"): [PASS, FAIL]
+
+ [CORB-blocks 'text/xml' that starts with the following JSON parser breaker: {} &&]
+ expected:
+ if not debug and (os == "android"): [PASS, FAIL]
+ if not debug and (os == "linux"): [PASS, FAIL]
+ if not debug and (os == "mac"): [PASS, FAIL]
+
+ [CORB-blocks 'text/plain' that starts with the following JSON parser breaker: {} &&]
+ expected:
+ if not debug and (os == "android"): [PASS, FAIL]
+ if not debug and (os == "mac"): [PASS, FAIL]
+ if not debug and (os == "linux"): [PASS, FAIL]
+
+ [CORB-blocks 'text/plain' that starts with the following JSON parser breaker: {}&&]
+ expected:
+ if not debug and (os == "linux"): [PASS, FAIL]
+ if not debug and (os == "android"): [PASS, FAIL]
+ if not debug and (os == "mac"): [PASS, FAIL]
+
+ [CORB-blocks 'text/html' that starts with the following JSON parser breaker: {} &&]
+ expected:
+ if not debug and (os == "android"): [PASS, FAIL]
+ if not debug and (os == "linux"): [PASS, FAIL]
+ if not debug and (os == "mac"): [PASS, FAIL]
+
+ [CORB-blocks 'text/json' that starts with the following JSON parser breaker: {}&&]
+ expected:
+ if not debug and (os == "linux"): [PASS, FAIL]
+ if not debug and (os == "android"): [PASS, FAIL]
+ if not debug and (os == "mac"): [PASS, FAIL]
+
+ [CORB-blocks 'text/xml' that starts with the following JSON parser breaker: {}&&]
+ expected:
+ if not debug and (os == "mac"): [PASS, FAIL]
+ if not debug and (os == "android"): [PASS, FAIL]
+ if not debug and (os == "linux"): [PASS, FAIL]
+
+ [CORB-blocks 'text/json' that starts with the following JSON parser breaker: {} &&]
+ expected:
+ if not debug and (os == "android"): [PASS, FAIL]
+ if not debug and (os == "mac"): [PASS, FAIL]
+ if not debug and (os == "linux"): [PASS, FAIL]
diff --git a/testing/web-platform/meta/fetch/corb/script-resource-with-nonsniffable-types.tentative.sub.html.ini b/testing/web-platform/meta/fetch/corb/script-resource-with-nonsniffable-types.tentative.sub.html.ini
new file mode 100644
index 0000000000..4f3df3c226
--- /dev/null
+++ b/testing/web-platform/meta/fetch/corb/script-resource-with-nonsniffable-types.tentative.sub.html.ini
@@ -0,0 +1,5 @@
+[script-resource-with-nonsniffable-types.tentative.sub.html]
+ expected: TIMEOUT
+ [script-resource-with-nonsniffable-types]
+ expected: FAIL
+
diff --git a/testing/web-platform/meta/fetch/corb/style-css-mislabeled-as-html-nosniff.sub.html.ini b/testing/web-platform/meta/fetch/corb/style-css-mislabeled-as-html-nosniff.sub.html.ini
new file mode 100644
index 0000000000..8b3d2f68cb
--- /dev/null
+++ b/testing/web-platform/meta/fetch/corb/style-css-mislabeled-as-html-nosniff.sub.html.ini
@@ -0,0 +1,3 @@
+[style-css-mislabeled-as-html-nosniff.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/corb/style-css-with-json-parser-breaker.sub.html.ini b/testing/web-platform/meta/fetch/corb/style-css-with-json-parser-breaker.sub.html.ini
new file mode 100644
index 0000000000..46e8dc0f5e
--- /dev/null
+++ b/testing/web-platform/meta/fetch/corb/style-css-with-json-parser-breaker.sub.html.ini
@@ -0,0 +1,3 @@
+[style-css-with-json-parser-breaker.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/cross-origin-resource-policy/fetch.any.js.ini b/testing/web-platform/meta/fetch/cross-origin-resource-policy/fetch.any.js.ini
new file mode 100644
index 0000000000..2ea8d23420
--- /dev/null
+++ b/testing/web-platform/meta/fetch/cross-origin-resource-policy/fetch.any.js.ini
@@ -0,0 +1,11 @@
+[fetch.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[fetch.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[fetch.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/cross-origin-resource-policy/fetch.https.any.js.ini b/testing/web-platform/meta/fetch/cross-origin-resource-policy/fetch.https.any.js.ini
new file mode 100644
index 0000000000..b3c02089ad
--- /dev/null
+++ b/testing/web-platform/meta/fetch/cross-origin-resource-policy/fetch.https.any.js.ini
@@ -0,0 +1,15 @@
+[fetch.https.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[fetch.https.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[fetch.https.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[fetch.https.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/cross-origin-resource-policy/iframe-loads.html.ini b/testing/web-platform/meta/fetch/cross-origin-resource-policy/iframe-loads.html.ini
new file mode 100644
index 0000000000..392da999d6
--- /dev/null
+++ b/testing/web-platform/meta/fetch/cross-origin-resource-policy/iframe-loads.html.ini
@@ -0,0 +1,3 @@
+[iframe-loads.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/cross-origin-resource-policy/image-loads.html.ini b/testing/web-platform/meta/fetch/cross-origin-resource-policy/image-loads.html.ini
new file mode 100644
index 0000000000..8f4ebd0459
--- /dev/null
+++ b/testing/web-platform/meta/fetch/cross-origin-resource-policy/image-loads.html.ini
@@ -0,0 +1,3 @@
+[image-loads.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/cross-origin-resource-policy/scheme-restriction.any.js.ini b/testing/web-platform/meta/fetch/cross-origin-resource-policy/scheme-restriction.any.js.ini
new file mode 100644
index 0000000000..4a52236396
--- /dev/null
+++ b/testing/web-platform/meta/fetch/cross-origin-resource-policy/scheme-restriction.any.js.ini
@@ -0,0 +1,7 @@
+[scheme-restriction.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[scheme-restriction.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/cross-origin-resource-policy/scheme-restriction.https.window.js.ini b/testing/web-platform/meta/fetch/cross-origin-resource-policy/scheme-restriction.https.window.js.ini
new file mode 100644
index 0000000000..2844c7cad4
--- /dev/null
+++ b/testing/web-platform/meta/fetch/cross-origin-resource-policy/scheme-restriction.https.window.js.ini
@@ -0,0 +1,4 @@
+prefs: [security.mixed_content.upgrade_display_content:false]
+[scheme-restriction.https.window.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/cross-origin-resource-policy/script-loads.html.ini b/testing/web-platform/meta/fetch/cross-origin-resource-policy/script-loads.html.ini
new file mode 100644
index 0000000000..2ff6ad1993
--- /dev/null
+++ b/testing/web-platform/meta/fetch/cross-origin-resource-policy/script-loads.html.ini
@@ -0,0 +1,3 @@
+[script-loads.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/cross-origin-resource-policy/syntax.any.js.ini b/testing/web-platform/meta/fetch/cross-origin-resource-policy/syntax.any.js.ini
new file mode 100644
index 0000000000..e49b052cc7
--- /dev/null
+++ b/testing/web-platform/meta/fetch/cross-origin-resource-policy/syntax.any.js.ini
@@ -0,0 +1,7 @@
+[syntax.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[syntax.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/data-urls/base64.any.js.ini b/testing/web-platform/meta/fetch/data-urls/base64.any.js.ini
new file mode 100644
index 0000000000..3a4eae5f01
--- /dev/null
+++ b/testing/web-platform/meta/fetch/data-urls/base64.any.js.ini
@@ -0,0 +1,15 @@
+[base64.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[base64.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[base64.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[base64.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/data-urls/processing.any.js.ini b/testing/web-platform/meta/fetch/data-urls/processing.any.js.ini
new file mode 100644
index 0000000000..98c8cf43e2
--- /dev/null
+++ b/testing/web-platform/meta/fetch/data-urls/processing.any.js.ini
@@ -0,0 +1,122 @@
+[processing.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ ["data://test:test/,X"]
+ expected: FAIL
+
+ ["data:;x=x;charset=x,X"]
+ expected: FAIL
+
+ ["data:;x=x,X"]
+ expected: FAIL
+
+ ["data:IMAGE/gif;hi=x,%C2%B1"]
+ expected: FAIL
+
+ ["data:text/plain;a=%2C,X"]
+ expected: FAIL
+
+ ["data:x/x;base64;charset=x,WA"]
+ expected: FAIL
+
+ ["data:x;base64;x,WA"]
+ expected: FAIL
+
+ ["data:;base64;,WA"]
+ expected: FAIL
+
+ ["data:text/plain;a=\\",\\",X"]
+ expected: FAIL
+
+
+[processing.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ ["data://test:test/,X"]
+ expected: FAIL
+
+ ["data:;x=x;charset=x,X"]
+ expected: FAIL
+
+ ["data:;x=x,X"]
+ expected: FAIL
+
+ ["data:IMAGE/gif;hi=x,%C2%B1"]
+ expected: FAIL
+
+ ["data:text/plain;a=%2C,X"]
+ expected: FAIL
+
+ ["data:x/x;base64;charset=x,WA"]
+ expected: FAIL
+
+ ["data:x;base64;x,WA"]
+ expected: FAIL
+
+ ["data:;base64;,WA"]
+ expected: FAIL
+
+ ["data:text/plain;a=\\",\\",X"]
+ expected: FAIL
+
+
+[processing.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ ["data:;x=x;charset=x,X"]
+ expected: FAIL
+
+ ["data:text/plain;a=\\",\\",X"]
+ expected: FAIL
+
+ ["data://test:test/,X"]
+ expected: FAIL
+
+ ["data:;x=x,X"]
+ expected: FAIL
+
+ ["data:text/plain;a=%2C,X"]
+ expected: FAIL
+
+ ["data:x;base64;x,WA"]
+ expected: FAIL
+
+ ["data:IMAGE/gif;hi=x,%C2%B1"]
+ expected: FAIL
+
+ ["data:x/x;base64;charset=x,WA"]
+ expected: FAIL
+
+ ["data:;base64;,WA"]
+ expected: FAIL
+
+
+[processing.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ ["data:;x=x;charset=x,X"]
+ expected: FAIL
+
+ ["data:text/plain;a=\\",\\",X"]
+ expected: FAIL
+
+ ["data://test:test/,X"]
+ expected: FAIL
+
+ ["data:;x=x,X"]
+ expected: FAIL
+
+ ["data:text/plain;a=%2C,X"]
+ expected: FAIL
+
+ ["data:x;base64;x,WA"]
+ expected: FAIL
+
+ ["data:IMAGE/gif;hi=x,%C2%B1"]
+ expected: FAIL
+
+ ["data:x/x;base64;charset=x,WA"]
+ expected: FAIL
+
+ ["data:;base64;,WA"]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/h1-parsing/__dir__.ini b/testing/web-platform/meta/fetch/h1-parsing/__dir__.ini
new file mode 100644
index 0000000000..20fc98f0ef
--- /dev/null
+++ b/testing/web-platform/meta/fetch/h1-parsing/__dir__.ini
@@ -0,0 +1 @@
+leak-threshold: [default:3020800]
diff --git a/testing/web-platform/meta/fetch/h1-parsing/lone-cr.window.js.ini b/testing/web-platform/meta/fetch/h1-parsing/lone-cr.window.js.ini
new file mode 100644
index 0000000000..1516da5e07
--- /dev/null
+++ b/testing/web-platform/meta/fetch/h1-parsing/lone-cr.window.js.ini
@@ -0,0 +1,31 @@
+[lone-cr.window.html]
+ [Parsing response with a lone CR before message-body (HTTP/1.1\r200 OK\n\nBODY)]
+ expected: FAIL
+
+ [Parsing response with a lone CR before message-body (HTTP/1.1 200\rOK\n\nBODY)]
+ expected: FAIL
+
+ [Parsing response with a lone CR before message-body (HTTP/1.1 200 OK\n\rHeader: Value\n\nBODY)]
+ expected: FAIL
+
+ [Parsing response with a lone CR before message-body (HTTP/1.1 200 OK\nHeader\r: Value\n\nBODY)]
+ expected: FAIL
+
+ [Parsing response with a lone CR before message-body (HTTP/1.1 200 OK\nHeader:\r Value\n\nBODY)]
+ expected: FAIL
+
+ [Parsing response with a lone CR before message-body (HTTP/1.1 200 OK\nHeader: Value\r\n\nBody)]
+ expected: FAIL
+
+ [Parsing response with a lone CR before message-body (HTTP/1.1 200 OK\nHeader: Value\r\r\nBODY)]
+ expected: FAIL
+
+ [Parsing response with a lone CR before message-body (HTTP/1.1 200 OK\nHeader: Value\rHeader2: Value2\n\nBODY)]
+ expected: FAIL
+
+ [Parsing response with a lone CR before message-body (HTTP/1.1 200 OK\nHeader: Value\n\rBODY)]
+ expected: FAIL
+
+ [Parsing response with a lone CR before message-body (HTTP/1.1 200 OK\nHeader: Value\n\r)]
+ expected: FAIL
+
diff --git a/testing/web-platform/meta/fetch/h1-parsing/resources-with-0x00-in-header.window.js.ini b/testing/web-platform/meta/fetch/h1-parsing/resources-with-0x00-in-header.window.js.ini
new file mode 100644
index 0000000000..130d030e98
--- /dev/null
+++ b/testing/web-platform/meta/fetch/h1-parsing/resources-with-0x00-in-header.window.js.ini
@@ -0,0 +1,11 @@
+[resources-with-0x00-in-header.window.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Expect network error for image with 0x00 in a header]
+ expected: FAIL
+
+ [Expect network error for frame navigation to resource with 0x00 in a header]
+ expected: FAIL
+
+ [Expect network error for script with 0x00 in a header]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/h1-parsing/status-code.window.js.ini b/testing/web-platform/meta/fetch/h1-parsing/status-code.window.js.ini
new file mode 100644
index 0000000000..43b780fa7e
--- /dev/null
+++ b/testing/web-platform/meta/fetch/h1-parsing/status-code.window.js.ini
@@ -0,0 +1,36 @@
+[status-code.window.html]
+ expected:
+ if (os == "android") and debug and fission: [TIMEOUT, OK]
+ if (os == "android") and debug and not fission: [OK, TIMEOUT]
+ [HTTP/1.1 (network error)]
+ expected: FAIL
+
+ [HTTP/1.1 BLAH (network error)]
+ expected: FAIL
+
+ [HTTP/1.1 0 OK ]
+ expected: FAIL
+
+ [HTTP/1.1 200 ]
+ expected: FAIL
+
+ [HTTP/1.1 1000 BOO (network error)]
+ expected: FAIL
+
+ [HTTP/1.1 0200 BOO (network error)]
+ expected: FAIL
+
+ [HTTP/1.1 65736 NOT 200 OR SOME SUCH (network error)]
+ expected: FAIL
+
+ [HTTP/1.1 131072 HI (network error)]
+ expected: FAIL
+
+ [HTTP/1.1 -200 TEST (network error)]
+ expected: FAIL
+
+ [HTTP/1.1 0xA (network error)]
+ expected: FAIL
+
+ [HTTP/1.1 C8 (network error)]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/http-cache/304-update.any.js.ini b/testing/web-platform/meta/fetch/http-cache/304-update.any.js.ini
new file mode 100644
index 0000000000..e02ef49508
--- /dev/null
+++ b/testing/web-platform/meta/fetch/http-cache/304-update.any.js.ini
@@ -0,0 +1,29 @@
+[304-update.any.html]
+ [HTTP cache updates stored headers from a Last-Modified 304]
+ expected: [PASS, FAIL]
+
+
+[304-update.any.worker.html]
+ [HTTP cache updates stored headers from a Last-Modified 304]
+ expected:
+ if (os == "mac") and not debug: PASS
+ [PASS, FAIL]
+
+
+[304-update.any.serviceworker.html]
+ expected:
+ if processor == "x86": [OK, TIMEOUT]
+ [HTTP cache updates stored headers from a Last-Modified 304]
+ expected: [PASS, FAIL]
+
+ [Content-* header]
+ expected:
+ if processor == "x86": [PASS, TIMEOUT]
+
+
+[304-update.any.sharedworker.html]
+ [HTTP cache updates stored headers from a Last-Modified 304]
+ expected:
+ if (os == "win") and debug and (processor == "x86_64") and not swgl: PASS
+ if (os == "win") and not debug: PASS
+ [PASS, FAIL]
diff --git a/testing/web-platform/meta/fetch/http-cache/__dir__.ini b/testing/web-platform/meta/fetch/http-cache/__dir__.ini
new file mode 100644
index 0000000000..ddc947c9bb
--- /dev/null
+++ b/testing/web-platform/meta/fetch/http-cache/__dir__.ini
@@ -0,0 +1 @@
+prefs: [network.http.rcwn.enabled:false, privacy.partition.network_state:true]
diff --git a/testing/web-platform/meta/fetch/http-cache/cache-mode.any.js.ini b/testing/web-platform/meta/fetch/http-cache/cache-mode.any.js.ini
new file mode 100644
index 0000000000..996dbab4b0
--- /dev/null
+++ b/testing/web-platform/meta/fetch/http-cache/cache-mode.any.js.ini
@@ -0,0 +1,50 @@
+[cache-mode.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Fetch doesn't touch Cache-Control when cache mode is no-store and Cache-Control is already present]
+ expected: FAIL
+
+ [Fetch sends Cache-Control: max-age=0 when cache mode is no-cache]
+ expected: FAIL
+
+ [Fetch doesn't touch Pragma when cache mode is no-store and Pragma is already present]
+ expected: FAIL
+
+
+[cache-mode.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Fetch doesn't touch Cache-Control when cache mode is no-store and Cache-Control is already present]
+ expected: FAIL
+
+ [Fetch sends Cache-Control: max-age=0 when cache mode is no-cache]
+ expected: FAIL
+
+ [Fetch doesn't touch Pragma when cache mode is no-store and Pragma is already present]
+ expected: FAIL
+
+
+[cache-mode.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Fetch doesn't touch Cache-Control when cache mode is no-store and Cache-Control is already present]
+ expected: FAIL
+
+ [Fetch sends Cache-Control: max-age=0 when cache mode is no-cache]
+ expected: FAIL
+
+ [Fetch doesn't touch Pragma when cache mode is no-store and Pragma is already present]
+ expected: FAIL
+
+
+[cache-mode.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Fetch doesn't touch Cache-Control when cache mode is no-store and Cache-Control is already present]
+ expected: FAIL
+
+ [Fetch sends Cache-Control: max-age=0 when cache mode is no-cache]
+ expected: FAIL
+
+ [Fetch doesn't touch Pragma when cache mode is no-store and Pragma is already present]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/http-cache/cc-request.any.js.ini b/testing/web-platform/meta/fetch/http-cache/cc-request.any.js.ini
new file mode 100644
index 0000000000..24a88dec8c
--- /dev/null
+++ b/testing/web-platform/meta/fetch/http-cache/cc-request.any.js.ini
@@ -0,0 +1,38 @@
+[cc-request.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [HTTP cache generates 504 status code when nothing is in cache and request contains Cache-Control: only-if-cached]
+ expected: FAIL
+
+ [HTTP cache doesn't use aged but fresh response when request contains Cache-Control: max-age=1]
+ expected:
+ if (os == "android") and debug: [PASS, FAIL]
+
+
+[cc-request.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [HTTP cache generates 504 status code when nothing is in cache and request contains Cache-Control: only-if-cached]
+ expected: FAIL
+
+ [HTTP cache doesn't use aged but fresh response when request contains Cache-Control: max-age=1]
+ expected:
+ if (os == "android") and debug: [PASS, FAIL]
+
+
+[cc-request.any.html]
+ expected:
+ if (os == "android") and fission: [TIMEOUT, OK]
+ [HTTP cache generates 504 status code when nothing is in cache and request contains Cache-Control: only-if-cached]
+ expected: FAIL
+
+
+[cc-request.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [HTTP cache generates 504 status code when nothing is in cache and request contains Cache-Control: only-if-cached]
+ expected: FAIL
+
+ [HTTP cache doesn't use aged but fresh response when request contains Cache-Control: max-age=1]
+ expected:
+ if (os == "android") and debug: [PASS, FAIL]
diff --git a/testing/web-platform/meta/fetch/http-cache/credentials.tentative.any.js.ini b/testing/web-platform/meta/fetch/http-cache/credentials.tentative.any.js.ini
new file mode 100644
index 0000000000..3f6d3c5c4f
--- /dev/null
+++ b/testing/web-platform/meta/fetch/http-cache/credentials.tentative.any.js.ini
@@ -0,0 +1,15 @@
+[credentials.tentative.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[credentials.tentative.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[credentials.tentative.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[credentials.tentative.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/http-cache/freshness.any.js.ini b/testing/web-platform/meta/fetch/http-cache/freshness.any.js.ini
new file mode 100644
index 0000000000..76568e3fa9
--- /dev/null
+++ b/testing/web-platform/meta/fetch/http-cache/freshness.any.js.ini
@@ -0,0 +1,15 @@
+[freshness.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[freshness.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[freshness.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[freshness.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/http-cache/heuristic.any.js.ini b/testing/web-platform/meta/fetch/http-cache/heuristic.any.js.ini
new file mode 100644
index 0000000000..6e50a87d85
--- /dev/null
+++ b/testing/web-platform/meta/fetch/http-cache/heuristic.any.js.ini
@@ -0,0 +1,74 @@
+[heuristic.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [HTTP cache reuses a 414 URI Too Long response with Last-Modified based upon heuristic freshness]
+ expected: FAIL
+
+ [HTTP cache reuses a 405 Method Not Allowed response with Last-Modified based upon heuristic freshness]
+ expected: FAIL
+
+ [HTTP cache reuses a 501 Not Implemented response with Last-Modified based upon heuristic freshness]
+ expected: FAIL
+
+ [HTTP cache reuses an unknown response with Last-Modified based upon heuristic freshness when Cache-Control: public is present]
+ expected: FAIL
+
+ [HTTP cache reuses a 404 Not Found response with Last-Modified based upon heuristic freshness]
+ expected: FAIL
+
+
+[heuristic.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [HTTP cache reuses a 414 URI Too Long response with Last-Modified based upon heuristic freshness]
+ expected: FAIL
+
+ [HTTP cache reuses a 405 Method Not Allowed response with Last-Modified based upon heuristic freshness]
+ expected: FAIL
+
+ [HTTP cache reuses a 501 Not Implemented response with Last-Modified based upon heuristic freshness]
+ expected: FAIL
+
+ [HTTP cache reuses an unknown response with Last-Modified based upon heuristic freshness when Cache-Control: public is present]
+ expected: FAIL
+
+ [HTTP cache reuses a 404 Not Found response with Last-Modified based upon heuristic freshness]
+ expected: FAIL
+
+
+[heuristic.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [HTTP cache reuses a 414 URI Too Long response with Last-Modified based upon heuristic freshness]
+ expected: FAIL
+
+ [HTTP cache reuses a 405 Method Not Allowed response with Last-Modified based upon heuristic freshness]
+ expected: FAIL
+
+ [HTTP cache reuses a 501 Not Implemented response with Last-Modified based upon heuristic freshness]
+ expected: FAIL
+
+ [HTTP cache reuses an unknown response with Last-Modified based upon heuristic freshness when Cache-Control: public is present]
+ expected: FAIL
+
+ [HTTP cache reuses a 404 Not Found response with Last-Modified based upon heuristic freshness]
+ expected: FAIL
+
+
+[heuristic.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [HTTP cache reuses a 414 URI Too Long response with Last-Modified based upon heuristic freshness]
+ expected: FAIL
+
+ [HTTP cache reuses a 405 Method Not Allowed response with Last-Modified based upon heuristic freshness]
+ expected: FAIL
+
+ [HTTP cache reuses a 501 Not Implemented response with Last-Modified based upon heuristic freshness]
+ expected: FAIL
+
+ [HTTP cache reuses an unknown response with Last-Modified based upon heuristic freshness when Cache-Control: public is present]
+ expected: FAIL
+
+ [HTTP cache reuses a 404 Not Found response with Last-Modified based upon heuristic freshness]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/http-cache/invalidate.any.js.ini b/testing/web-platform/meta/fetch/http-cache/invalidate.any.js.ini
new file mode 100644
index 0000000000..35e5fdd2ae
--- /dev/null
+++ b/testing/web-platform/meta/fetch/http-cache/invalidate.any.js.ini
@@ -0,0 +1,50 @@
+[invalidate.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [HTTP cache does not invalidate after a failed response from an unsafe request]
+ expected: FAIL
+
+ [HTTP cache does not invalidate Content-Location URL after a failed response from an unsafe request]
+ expected: FAIL
+
+ [HTTP cache does not invalidate Location URL after a failed response from an unsafe request]
+ expected: FAIL
+
+
+[invalidate.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [HTTP cache does not invalidate after a failed response from an unsafe request]
+ expected: FAIL
+
+ [HTTP cache does not invalidate Content-Location URL after a failed response from an unsafe request]
+ expected: FAIL
+
+ [HTTP cache does not invalidate Location URL after a failed response from an unsafe request]
+ expected: FAIL
+
+
+[invalidate.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [HTTP cache does not invalidate after a failed response from an unsafe request]
+ expected: FAIL
+
+ [HTTP cache does not invalidate Content-Location URL after a failed response from an unsafe request]
+ expected: FAIL
+
+ [HTTP cache does not invalidate Location URL after a failed response from an unsafe request]
+ expected: FAIL
+
+
+[invalidate.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [HTTP cache does not invalidate after a failed response from an unsafe request]
+ expected: FAIL
+
+ [HTTP cache does not invalidate Content-Location URL after a failed response from an unsafe request]
+ expected: FAIL
+
+ [HTTP cache does not invalidate Location URL after a failed response from an unsafe request]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/http-cache/partial.any.js.ini b/testing/web-platform/meta/fetch/http-cache/partial.any.js.ini
new file mode 100644
index 0000000000..5904796d69
--- /dev/null
+++ b/testing/web-platform/meta/fetch/http-cache/partial.any.js.ini
@@ -0,0 +1,122 @@
+[partial.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [HTTP cache stores partial response and serves smaller ranges from it (suffix-byte-range-spec)]
+ expected: FAIL
+
+ [HTTP cache stores complete response and serves smaller ranges from it (byte-range-spec)]
+ expected: FAIL
+
+ [HTTP cache stores partial response and serves smaller ranges from it (absent last-byte-pos)]
+ expected: FAIL
+
+ [HTTP cache stores partial content and reuses it]
+ expected: FAIL
+
+ [HTTP cache stores partial content and completes it]
+ expected: FAIL
+
+ [HTTP cache stores partial response and serves smaller ranges from it (byte-range-spec)]
+ expected: FAIL
+
+ [HTTP cache stores complete response and serves smaller ranges from it (absent last-byte-pos)]
+ expected: FAIL
+
+ [HTTP cache stores complete response and serves smaller ranges from it (suffix-byte-range-spec)]
+ expected: FAIL
+
+ [HTTP cache stores complete response and serves smaller ranges from it with only-if-cached]
+ expected: FAIL
+
+
+[partial.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [HTTP cache stores partial response and serves smaller ranges from it (suffix-byte-range-spec)]
+ expected: FAIL
+
+ [HTTP cache stores complete response and serves smaller ranges from it (byte-range-spec)]
+ expected: FAIL
+
+ [HTTP cache stores partial response and serves smaller ranges from it (absent last-byte-pos)]
+ expected: FAIL
+
+ [HTTP cache stores partial content and reuses it]
+ expected: FAIL
+
+ [HTTP cache stores partial content and completes it]
+ expected: FAIL
+
+ [HTTP cache stores partial response and serves smaller ranges from it (byte-range-spec)]
+ expected: FAIL
+
+ [HTTP cache stores complete response and serves smaller ranges from it (absent last-byte-pos)]
+ expected: FAIL
+
+ [HTTP cache stores complete response and serves smaller ranges from it (suffix-byte-range-spec)]
+ expected: FAIL
+
+ [HTTP cache stores complete response and serves smaller ranges from it with only-if-cached]
+ expected: FAIL
+
+
+[partial.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [HTTP cache stores partial response and serves smaller ranges from it (suffix-byte-range-spec)]
+ expected: FAIL
+
+ [HTTP cache stores complete response and serves smaller ranges from it (byte-range-spec)]
+ expected: FAIL
+
+ [HTTP cache stores partial response and serves smaller ranges from it (absent last-byte-pos)]
+ expected: FAIL
+
+ [HTTP cache stores partial content and reuses it]
+ expected: FAIL
+
+ [HTTP cache stores partial content and completes it]
+ expected: FAIL
+
+ [HTTP cache stores partial response and serves smaller ranges from it (byte-range-spec)]
+ expected: FAIL
+
+ [HTTP cache stores complete response and serves smaller ranges from it (absent last-byte-pos)]
+ expected: FAIL
+
+ [HTTP cache stores complete response and serves smaller ranges from it (suffix-byte-range-spec)]
+ expected: FAIL
+
+ [HTTP cache stores complete response and serves smaller ranges from it with only-if-cached]
+ expected: FAIL
+
+
+[partial.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [HTTP cache stores partial response and serves smaller ranges from it (suffix-byte-range-spec)]
+ expected: FAIL
+
+ [HTTP cache stores complete response and serves smaller ranges from it (byte-range-spec)]
+ expected: FAIL
+
+ [HTTP cache stores partial response and serves smaller ranges from it (absent last-byte-pos)]
+ expected: FAIL
+
+ [HTTP cache stores partial content and reuses it]
+ expected: FAIL
+
+ [HTTP cache stores partial content and completes it]
+ expected: FAIL
+
+ [HTTP cache stores partial response and serves smaller ranges from it (byte-range-spec)]
+ expected: FAIL
+
+ [HTTP cache stores complete response and serves smaller ranges from it (absent last-byte-pos)]
+ expected: FAIL
+
+ [HTTP cache stores complete response and serves smaller ranges from it (suffix-byte-range-spec)]
+ expected: FAIL
+
+ [HTTP cache stores complete response and serves smaller ranges from it with only-if-cached]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/http-cache/post-patch.any.js.ini b/testing/web-platform/meta/fetch/http-cache/post-patch.any.js.ini
new file mode 100644
index 0000000000..5fbccba42c
--- /dev/null
+++ b/testing/web-platform/meta/fetch/http-cache/post-patch.any.js.ini
@@ -0,0 +1,38 @@
+[post-patch.any.html]
+ expected:
+ if (os == "android") and fission: [TIMEOUT, OK]
+ [HTTP cache uses content after POST request with response containing Content-Location and cache-allowing header]
+ expected: FAIL
+
+ [HTTP cache uses content after PATCH request with response containing Content-Location and cache-allowing header]
+ expected: FAIL
+
+
+[post-patch.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [HTTP cache uses content after POST request with response containing Content-Location and cache-allowing header]
+ expected: FAIL
+
+ [HTTP cache uses content after PATCH request with response containing Content-Location and cache-allowing header]
+ expected: FAIL
+
+
+[post-patch.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [HTTP cache uses content after POST request with response containing Content-Location and cache-allowing header]
+ expected: FAIL
+
+ [HTTP cache uses content after PATCH request with response containing Content-Location and cache-allowing header]
+ expected: FAIL
+
+
+[post-patch.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [HTTP cache uses content after POST request with response containing Content-Location and cache-allowing header]
+ expected: FAIL
+
+ [HTTP cache uses content after PATCH request with response containing Content-Location and cache-allowing header]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/http-cache/split-cache.html.ini b/testing/web-platform/meta/fetch/http-cache/split-cache.html.ini
new file mode 100644
index 0000000000..b0ac8e5916
--- /dev/null
+++ b/testing/web-platform/meta/fetch/http-cache/split-cache.html.ini
@@ -0,0 +1,3 @@
+[split-cache.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/http-cache/status.any.js.ini b/testing/web-platform/meta/fetch/http-cache/status.any.js.ini
new file mode 100644
index 0000000000..a164d3264b
--- /dev/null
+++ b/testing/web-platform/meta/fetch/http-cache/status.any.js.ini
@@ -0,0 +1,122 @@
+[status.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [HTTP cache avoids going to the network if it has a fresh 299 response]
+ expected: FAIL
+
+ [HTTP cache avoids going to the network if it has a fresh 599 response]
+ expected: FAIL
+
+ [HTTP cache avoids going to the network if it has a fresh 499 response]
+ expected: FAIL
+
+ [HTTP cache avoids going to the network if it has a fresh 504 response]
+ expected: FAIL
+
+ [HTTP cache avoids going to the network if it has a fresh 404 response]
+ expected: FAIL
+
+ [HTTP cache avoids going to the network if it has a fresh 400 response]
+ expected: FAIL
+
+ [HTTP cache avoids going to the network if it has a fresh 503 response]
+ expected: FAIL
+
+ [HTTP cache avoids going to the network if it has a fresh 500 response]
+ expected: FAIL
+
+ [HTTP cache avoids going to the network if it has a fresh 502 response]
+ expected: FAIL
+
+
+[status.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [HTTP cache avoids going to the network if it has a fresh 299 response]
+ expected: FAIL
+
+ [HTTP cache avoids going to the network if it has a fresh 599 response]
+ expected: FAIL
+
+ [HTTP cache avoids going to the network if it has a fresh 499 response]
+ expected: FAIL
+
+ [HTTP cache avoids going to the network if it has a fresh 504 response]
+ expected: FAIL
+
+ [HTTP cache avoids going to the network if it has a fresh 404 response]
+ expected: FAIL
+
+ [HTTP cache avoids going to the network if it has a fresh 400 response]
+ expected: FAIL
+
+ [HTTP cache avoids going to the network if it has a fresh 503 response]
+ expected: FAIL
+
+ [HTTP cache avoids going to the network if it has a fresh 500 response]
+ expected: FAIL
+
+ [HTTP cache avoids going to the network if it has a fresh 502 response]
+ expected: FAIL
+
+
+[status.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [HTTP cache avoids going to the network if it has a fresh 299 response]
+ expected: FAIL
+
+ [HTTP cache avoids going to the network if it has a fresh 599 response]
+ expected: FAIL
+
+ [HTTP cache avoids going to the network if it has a fresh 499 response]
+ expected: FAIL
+
+ [HTTP cache avoids going to the network if it has a fresh 504 response]
+ expected: FAIL
+
+ [HTTP cache avoids going to the network if it has a fresh 404 response]
+ expected: FAIL
+
+ [HTTP cache avoids going to the network if it has a fresh 400 response]
+ expected: FAIL
+
+ [HTTP cache avoids going to the network if it has a fresh 503 response]
+ expected: FAIL
+
+ [HTTP cache avoids going to the network if it has a fresh 500 response]
+ expected: FAIL
+
+ [HTTP cache avoids going to the network if it has a fresh 502 response]
+ expected: FAIL
+
+
+[status.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [HTTP cache avoids going to the network if it has a fresh 299 response]
+ expected: FAIL
+
+ [HTTP cache avoids going to the network if it has a fresh 599 response]
+ expected: FAIL
+
+ [HTTP cache avoids going to the network if it has a fresh 499 response]
+ expected: FAIL
+
+ [HTTP cache avoids going to the network if it has a fresh 504 response]
+ expected: FAIL
+
+ [HTTP cache avoids going to the network if it has a fresh 404 response]
+ expected: FAIL
+
+ [HTTP cache avoids going to the network if it has a fresh 400 response]
+ expected: FAIL
+
+ [HTTP cache avoids going to the network if it has a fresh 503 response]
+ expected: FAIL
+
+ [HTTP cache avoids going to the network if it has a fresh 500 response]
+ expected: FAIL
+
+ [HTTP cache avoids going to the network if it has a fresh 502 response]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/http-cache/vary.any.js.ini b/testing/web-platform/meta/fetch/http-cache/vary.any.js.ini
new file mode 100644
index 0000000000..ac95a936d3
--- /dev/null
+++ b/testing/web-platform/meta/fetch/http-cache/vary.any.js.ini
@@ -0,0 +1,26 @@
+[vary.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [HTTP cache doesn't invalidate existing Vary response]
+ expected: FAIL
+
+
+[vary.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [HTTP cache doesn't invalidate existing Vary response]
+ expected: FAIL
+
+
+[vary.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [HTTP cache doesn't invalidate existing Vary response]
+ expected: FAIL
+
+
+[vary.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [HTTP cache doesn't invalidate existing Vary response]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/images/canvas-remote-read-remote-image-redirect.html.ini b/testing/web-platform/meta/fetch/images/canvas-remote-read-remote-image-redirect.html.ini
new file mode 100644
index 0000000000..33630ce7eb
--- /dev/null
+++ b/testing/web-platform/meta/fetch/images/canvas-remote-read-remote-image-redirect.html.ini
@@ -0,0 +1,4 @@
+[canvas-remote-read-remote-image-redirect.html]
+ [Load a no-cors image from a same-origin URL that redirects to a cross-origin URL that redirects to the initial origin]
+ expected: FAIL
+
diff --git a/testing/web-platform/meta/fetch/local-network-access/__dir__.ini b/testing/web-platform/meta/fetch/local-network-access/__dir__.ini
new file mode 100644
index 0000000000..994330bf44
--- /dev/null
+++ b/testing/web-platform/meta/fetch/local-network-access/__dir__.ini
@@ -0,0 +1,2 @@
+# Not yet implemented: Bug 1481298
+disabled: true
diff --git a/testing/web-platform/meta/fetch/metadata/__dir__.ini b/testing/web-platform/meta/fetch/metadata/__dir__.ini
new file mode 100644
index 0000000000..2c08ccb655
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/__dir__.ini
@@ -0,0 +1,2 @@
+lsan-allowed: [Alloc, Create, MakeUnique, Malloc, PLDHashTable::ChangeTable, PLDHashTable::MakeEntryHandle, Realloc, allocate, createTable, changeTableSize, mozilla::BasePrincipal::CreateContentPrincipal, mozilla::Permission::Create, mozilla::ThrottledEventQueue::Create, mozilla::WeakPtr, mozilla::dom::BrowsingContext::Attach, mozilla::dom::BrowsingContext::CreateChildSHistory, mozilla::dom::BrowsingContext::CreateDetached, mozilla::dom::CanonicalBrowsingContext::GetSecureBrowserUI, mozilla::dom::ContentParent::CreateBrowser, mozilla::dom::Performance::CreateForMainThread, mozilla::dom::PerformanceMainThread::CreateNavigationTimingEntry, mozilla::dom::ReferrerInfo::Clone, mozilla::dom::ServiceWorker::Create, mozilla::extensions::ChannelWrapper::ChannelWrapper, mozilla::net::HttpBaseChannel::CloneLoadInfoForRedirect, mozilla::net::HttpBaseChannel::HttpBaseChannel, mozilla::net::nsStandardURL::TemplatedMutator, nsDynamicAtom::Create, nsHashPropertyBagBase::SetPropertyAsInterface, operator]
+leak-threshold: [default:51200, tab:358400]
diff --git a/testing/web-platform/meta/fetch/metadata/audio-worklet.https.html.ini b/testing/web-platform/meta/fetch/metadata/audio-worklet.https.html.ini
new file mode 100644
index 0000000000..7d03f75fbb
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/audio-worklet.https.html.ini
@@ -0,0 +1,3 @@
+[audio-worklet.https.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/metadata/embed.https.sub.tentative.html.ini b/testing/web-platform/meta/fetch/metadata/embed.https.sub.tentative.html.ini
new file mode 100644
index 0000000000..1f9801e592
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/embed.https.sub.tentative.html.ini
@@ -0,0 +1,44 @@
+[embed.https.sub.tentative.html]
+ expected:
+ if os == "linux": TIMEOUT
+ if os == "mac": TIMEOUT
+ if win10_2004: TIMEOUT
+ [Navigate to same-site embed: sec-fetch-dest]
+ expected: FAIL
+
+ [Wrapper: Navigate to cross-site embed]
+ expected:
+ if os == "mac": NOTRUN
+ if os == "linux": NOTRUN
+ if win10_2004: NOTRUN
+
+ [Wrapper: cross-site embed]
+ expected:
+ if os == "mac": NOTRUN
+ if os == "linux": NOTRUN
+ if win10_2004: NOTRUN
+
+ [Wrapper: Navigate to same-site embed]
+ expected:
+ if os == "mac": NOTRUN
+ if os == "linux": NOTRUN
+ if win10_2004: NOTRUN
+
+ [Navigate to cross-site embed: sec-fetch-dest]
+ expected: FAIL
+
+ [Navigate to same-origin embed: sec-fetch-dest]
+ expected: FAIL
+
+ [Wrapper: same-site embed]
+ expected:
+ if os == "mac": NOTRUN
+ if os == "linux": NOTRUN
+ if win10_2004: NOTRUN
+
+ [Wrapper: Navigate to same-origin embed]
+ expected:
+ if os == "mac": TIMEOUT
+ if os == "linux": TIMEOUT
+ if win10_2004: TIMEOUT
+
diff --git a/testing/web-platform/meta/fetch/metadata/fetch-preflight.https.sub.any.js.ini b/testing/web-platform/meta/fetch/metadata/fetch-preflight.https.sub.any.js.ini
new file mode 100644
index 0000000000..615c26011b
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/fetch-preflight.https.sub.any.js.ini
@@ -0,0 +1,15 @@
+[fetch-preflight.https.sub.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[fetch-preflight.https.sub.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[fetch-preflight.https.sub.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[fetch-preflight.https.sub.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [TIMEOUT, OK]
diff --git a/testing/web-platform/meta/fetch/metadata/fetch.https.sub.any.js.ini b/testing/web-platform/meta/fetch/metadata/fetch.https.sub.any.js.ini
new file mode 100644
index 0000000000..08fd4fd1ea
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/fetch.https.sub.any.js.ini
@@ -0,0 +1,15 @@
+[fetch.https.sub.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[fetch.https.sub.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[fetch.https.sub.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[fetch.https.sub.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/metadata/generated/appcache-manifest.https.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/appcache-manifest.https.sub.html.ini
new file mode 100644
index 0000000000..aca36eed75
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/appcache-manifest.https.sub.html.ini
@@ -0,0 +1,2 @@
+[appcache-manifest.https.sub.html]
+ disabled: https://bugzilla.mozilla.org/show_bug.cgi?id=1677718
diff --git a/testing/web-platform/meta/fetch/metadata/generated/audioworklet.https.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/audioworklet.https.sub.html.ini
new file mode 100644
index 0000000000..1f5fafc41d
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/audioworklet.https.sub.html.ini
@@ -0,0 +1,94 @@
+[audioworklet.https.sub.html]
+ expected:
+ if (os == "linux") and debug and not fission: [TIMEOUT, OK, ERROR]
+ if (os == "linux") and debug and fission: [TIMEOUT, ERROR]
+ if (os == "linux") and not debug: [TIMEOUT, ERROR]
+ [sec-fetch-site - Same-Origin -> Same-Site -> Same-Origin redirect]
+ expected:
+ if (os == "linux") and not debug and (processor == "x86_64") and fission: [PASS, TIMEOUT]
+ if (os == "linux") and not debug and (processor == "x86_64") and not fission: [PASS, TIMEOUT]
+ if (os == "linux") and not debug and (processor == "x86"): [TIMEOUT, PASS]
+ if (os == "linux") and debug: [PASS, TIMEOUT]
+
+ [sec-fetch-site - Cross-Site -> Same Origin]
+ expected:
+ if (os == "linux") and not debug and (processor == "x86_64") and not fission: [PASS, NOTRUN]
+ if (os == "linux") and not debug and (processor == "x86_64") and fission: [PASS, NOTRUN]
+ if (os == "linux") and not debug and (processor == "x86"): [NOTRUN, PASS]
+ if (os == "linux") and debug: [PASS, NOTRUN]
+
+ [sec-fetch-site - Cross-Site -> Same-Site]
+ expected:
+ if (os == "linux") and not debug and (processor == "x86_64") and not fission: [PASS, NOTRUN]
+ if (os == "linux") and not debug and (processor == "x86_64") and fission: [PASS, NOTRUN]
+ if (os == "linux") and not debug and (processor == "x86"): [NOTRUN, PASS]
+ if (os == "linux") and debug: [PASS, NOTRUN]
+
+ [sec-fetch-site - Cross-Site -> Cross-Site]
+ expected:
+ if (os == "linux") and not debug and (processor == "x86_64") and fission: [PASS, NOTRUN]
+ if (os == "linux") and not debug and (processor == "x86_64") and not fission: [PASS, NOTRUN]
+ if (os == "linux") and not debug and (processor == "x86"): [NOTRUN, PASS]
+ if (os == "linux") and debug: [PASS, NOTRUN]
+
+ [sec-fetch-site - Same-Origin -> Same Origin]
+ expected:
+ if (os == "linux") and not debug and fission and (processor == "x86_64"): [PASS, NOTRUN, TIMEOUT]
+ if (os == "linux") and not debug and fission and (processor == "x86"): [NOTRUN, PASS, TIMEOUT]
+ if (os == "linux") and not debug and not fission: [PASS, NOTRUN]
+ if (os == "linux") and debug: [PASS, NOTRUN]
+
+ [sec-fetch-site - Same-Origin -> Same-Site]
+ expected:
+ if (os == "linux") and not debug and (processor == "x86_64") and fission: [PASS, NOTRUN]
+ if (os == "linux") and not debug and (processor == "x86_64") and not fission: [PASS, NOTRUN]
+ if (os == "linux") and not debug and (processor == "x86"): [NOTRUN, PASS]
+ if (os == "linux") and debug: [PASS, NOTRUN]
+
+ [sec-fetch-site - Same-Origin -> Cross-Site]
+ expected:
+ if (os == "linux") and not debug and (processor == "x86_64") and not fission: [PASS, NOTRUN]
+ if (os == "linux") and not debug and (processor == "x86_64") and fission: [PASS, NOTRUN]
+ if (os == "linux") and not debug and (processor == "x86"): [NOTRUN, PASS]
+ if (os == "linux") and debug: [PASS, NOTRUN]
+
+ [sec-fetch-site - Same-Site -> Same Origin]
+ expected:
+ if (os == "linux") and fission and not debug and (processor == "x86"): [NOTRUN, PASS, TIMEOUT]
+ if (os == "linux") and fission and not debug and (processor == "x86_64"): [PASS, NOTRUN, TIMEOUT]
+ if (os == "linux") and not fission and not debug: [PASS, NOTRUN]
+ if (os == "linux") and not fission and debug: [PASS, NOTRUN]
+ if (os == "linux") and fission and debug: [PASS, TIMEOUT, NOTRUN]
+
+ [sec-fetch-site - Same-Site -> Same-Site]
+ expected:
+ if (os == "linux") and not debug and (processor == "x86_64") and not fission: [TIMEOUT, NOTRUN]
+ if (os == "linux") and not debug and (processor == "x86_64") and fission: [TIMEOUT, NOTRUN]
+ if (os == "linux") and debug and not fission: [TIMEOUT, PASS, NOTRUN]
+ if (os == "linux") and debug and fission: [TIMEOUT, NOTRUN]
+ if (os == "linux") and not debug and (processor == "x86"): [NOTRUN, TIMEOUT]
+
+ [sec-fetch-site - Same-Site -> Cross-Site]
+ expected:
+ if (os == "linux") and debug and not fission: [NOTRUN, PASS, TIMEOUT]
+ if (os == "linux") and debug and fission: NOTRUN
+ if (os == "linux") and not debug: NOTRUN
+
+ [sec-fetch-mode]
+ expected:
+ if (os == "linux") and debug and not fission: [NOTRUN, PASS, TIMEOUT]
+ if (os == "linux") and debug and fission: NOTRUN
+ if (os == "linux") and not debug: NOTRUN
+
+ [sec-fetch-dest]
+ expected:
+ if (os == "linux") and debug and fission: NOTRUN
+ if (os == "linux") and debug and not fission: [NOTRUN, PASS, TIMEOUT]
+ if (os == "linux") and not debug: NOTRUN
+
+ [sec-fetch-user]
+ expected:
+ if (os == "linux") and debug and not fission and not swgl: [NOTRUN, PASS]
+ if (os == "linux") and debug and not fission and swgl: [NOTRUN, PASS, TIMEOUT]
+ if (os == "linux") and debug and fission: NOTRUN
+ if (os == "linux") and not debug: NOTRUN
diff --git a/testing/web-platform/meta/fetch/metadata/generated/css-font-face.https.sub.tentative.html.ini b/testing/web-platform/meta/fetch/metadata/generated/css-font-face.https.sub.tentative.html.ini
new file mode 100644
index 0000000000..c07c3e6b0d
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/css-font-face.https.sub.tentative.html.ini
@@ -0,0 +1,3 @@
+[css-font-face.https.sub.tentative.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/metadata/generated/css-font-face.sub.tentative.html.ini b/testing/web-platform/meta/fetch/metadata/generated/css-font-face.sub.tentative.html.ini
new file mode 100644
index 0000000000..30d30e94b4
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/css-font-face.sub.tentative.html.ini
@@ -0,0 +1,3 @@
+[css-font-face.sub.tentative.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/metadata/generated/css-images.https.sub.tentative.html.ini b/testing/web-platform/meta/fetch/metadata/generated/css-images.https.sub.tentative.html.ini
new file mode 100644
index 0000000000..342f319993
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/css-images.https.sub.tentative.html.ini
@@ -0,0 +1,74 @@
+[css-images.https.sub.tentative.html]
+ expected: TIMEOUT
+ [background-image sec-fetch-site - Same origin]
+ expected: TIMEOUT
+
+ [background-image sec-fetch-site - Cross-site]
+ expected: TIMEOUT
+
+ [background-image sec-fetch-site - Same site]
+ expected: TIMEOUT
+
+ [background-image sec-fetch-site - Same-Origin -> Cross-Site -> Same-Origin redirect]
+ expected: TIMEOUT
+
+ [background-image sec-fetch-site - Same-Origin -> Same-Site -> Same-Origin redirect]
+ expected: TIMEOUT
+
+ [background-image sec-fetch-site - Cross-Site -> Same Origin]
+ expected: TIMEOUT
+
+ [background-image sec-fetch-site - Cross-Site -> Same-Site]
+ expected: TIMEOUT
+
+ [background-image sec-fetch-site - Cross-Site -> Cross-Site]
+ expected: TIMEOUT
+
+ [background-image sec-fetch-site - Same-Origin -> Same Origin]
+ expected: TIMEOUT
+
+ [background-image sec-fetch-site - Same-Origin -> Same-Site]
+ expected: TIMEOUT
+
+ [background-image sec-fetch-site - Same-Origin -> Cross-Site]
+ expected: TIMEOUT
+
+ [background-image sec-fetch-site - Same-Site -> Same Origin]
+ expected: TIMEOUT
+
+ [background-image sec-fetch-site - Same-Site -> Same-Site]
+ expected: TIMEOUT
+
+ [background-image sec-fetch-site - Same-Site -> Cross-Site]
+ expected: TIMEOUT
+
+ [background-image sec-fetch-site - HTTPS downgrade-upgrade]
+ expected: TIMEOUT
+
+ [background-image sec-fetch-mode]
+ expected: TIMEOUT
+
+ [background-image sec-fetch-dest]
+ expected: TIMEOUT
+
+ # Mixed content level 2 is upgrading resources like audio, img and video. For that reason we expect it to fail.
+ # See https://github.com/web-platform-tests/wpt/issues/37080
+ [sec-fetch-site - HTTPS downgrade-upgrade no attributes]
+ expected:
+ if nightly_build: FAIL
+
+ [border-image sec-fetch-site - HTTPS downgrade-upgrade]
+ expected:
+ if nightly_build: FAIL
+
+ [content sec-fetch-site - HTTPS downgrade-upgrade]
+ expected:
+ if nightly_build: FAIL
+
+ [cursor sec-fetch-site - HTTPS downgrade-upgrade]
+ expected:
+ if nightly_build: FAIL
+
+ [list-style-image sec-fetch-site - HTTPS downgrade-upgrade]
+ expected:
+ if nightly_build: FAIL
diff --git a/testing/web-platform/meta/fetch/metadata/generated/css-images.sub.tentative.html.ini b/testing/web-platform/meta/fetch/metadata/generated/css-images.sub.tentative.html.ini
new file mode 100644
index 0000000000..7b472064a5
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/css-images.sub.tentative.html.ini
@@ -0,0 +1,7 @@
+[css-images.sub.tentative.html]
+ expected: TIMEOUT
+ [background-image sec-fetch-site - HTTPS upgrade]
+ expected: TIMEOUT
+
+ [background-image sec-fetch-site - HTTPS downgrade-upgrade]
+ expected: TIMEOUT
diff --git a/testing/web-platform/meta/fetch/metadata/generated/element-a.https.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/element-a.https.sub.html.ini
new file mode 100644
index 0000000000..4ae37e1778
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/element-a.https.sub.html.ini
@@ -0,0 +1,9 @@
+[element-a.https.sub.html]
+ [sec-fetch-mode - attributes: download]
+ expected: FAIL
+
+ [sec-fetch-dest - attributes: download]
+ expected: FAIL
+
+ [sec-fetch-user - no attributes with user activation]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/metadata/generated/element-a.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/element-a.sub.html.ini
new file mode 100644
index 0000000000..bef9c8554c
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/element-a.sub.html.ini
@@ -0,0 +1,3 @@
+[element-a.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/metadata/generated/element-area.https.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/element-area.https.sub.html.ini
new file mode 100644
index 0000000000..1584fffdd9
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/element-area.https.sub.html.ini
@@ -0,0 +1,11 @@
+[element-area.https.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [sec-fetch-mode - attributes: download]
+ expected: FAIL
+
+ [sec-fetch-dest - attributes: download]
+ expected: FAIL
+
+ [sec-fetch-user - no attributes with user activation]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/metadata/generated/element-area.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/element-area.sub.html.ini
new file mode 100644
index 0000000000..747eb3d875
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/element-area.sub.html.ini
@@ -0,0 +1,3 @@
+[element-area.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/metadata/generated/element-audio.https.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/element-audio.https.sub.html.ini
new file mode 100644
index 0000000000..9537ac6e7f
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/element-audio.https.sub.html.ini
@@ -0,0 +1,11 @@
+[element-audio.https.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [sec-fetch-site - HTTPS downgrade-upgrade no attributes]
+ expected:
+ if nightly_build: FAIL
+
+ [sec-fetch-site - HTTPS downgrade-upgrade, no attributes]
+ expected:
+ if release_or_beta: PASS
+ FAIL
diff --git a/testing/web-platform/meta/fetch/metadata/generated/element-audio.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/element-audio.sub.html.ini
new file mode 100644
index 0000000000..1983556a98
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/element-audio.sub.html.ini
@@ -0,0 +1,3 @@
+[element-audio.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/metadata/generated/element-embed.https.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/element-embed.https.sub.html.ini
new file mode 100644
index 0000000000..b3338b1c26
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/element-embed.https.sub.html.ini
@@ -0,0 +1,5 @@
+[element-embed.https.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [sec-fetch-mode]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/metadata/generated/element-embed.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/element-embed.sub.html.ini
new file mode 100644
index 0000000000..7144280c9d
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/element-embed.sub.html.ini
@@ -0,0 +1,3 @@
+[element-embed.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/metadata/generated/element-frame.https.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/element-frame.https.sub.html.ini
new file mode 100644
index 0000000000..bb76d8382e
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/element-frame.https.sub.html.ini
@@ -0,0 +1,5 @@
+[element-frame.https.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [sec-fetch-user with user activation]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/metadata/generated/element-frame.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/element-frame.sub.html.ini
new file mode 100644
index 0000000000..1103993431
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/element-frame.sub.html.ini
@@ -0,0 +1,3 @@
+[element-frame.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/metadata/generated/element-iframe.https.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/element-iframe.https.sub.html.ini
new file mode 100644
index 0000000000..d513c4370e
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/element-iframe.https.sub.html.ini
@@ -0,0 +1,5 @@
+[element-iframe.https.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [sec-fetch-user with user activation]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/metadata/generated/element-iframe.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/element-iframe.sub.html.ini
new file mode 100644
index 0000000000..03d3b1eb97
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/element-iframe.sub.html.ini
@@ -0,0 +1,3 @@
+[element-iframe.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/metadata/generated/element-img-environment-change.https.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/element-img-environment-change.https.sub.html.ini
new file mode 100644
index 0000000000..ff448aed8d
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/element-img-environment-change.https.sub.html.ini
@@ -0,0 +1,3 @@
+[element-img-environment-change.https.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/metadata/generated/element-img-environment-change.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/element-img-environment-change.sub.html.ini
new file mode 100644
index 0000000000..fbec499960
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/element-img-environment-change.sub.html.ini
@@ -0,0 +1,3 @@
+[element-img-environment-change.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/metadata/generated/element-img.https.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/element-img.https.sub.html.ini
new file mode 100644
index 0000000000..e147b7c5a6
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/element-img.https.sub.html.ini
@@ -0,0 +1,11 @@
+[element-img.https.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [sec-fetch-site - HTTPS downgrade-upgrade no attributes]
+ expected:
+ if nightly_build: FAIL
+
+ [sec-fetch-site - src - HTTPS downgrade-upgrade, no attributes]
+ expected:
+ if release_or_beta: PASS
+ FAIL
diff --git a/testing/web-platform/meta/fetch/metadata/generated/element-img.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/element-img.sub.html.ini
new file mode 100644
index 0000000000..0992ebf79b
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/element-img.sub.html.ini
@@ -0,0 +1,3 @@
+[element-img.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/metadata/generated/element-input-image.https.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/element-input-image.https.sub.html.ini
new file mode 100644
index 0000000000..17be643541
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/element-input-image.https.sub.html.ini
@@ -0,0 +1,6 @@
+[element-input-image.https.sub.html]
+ # Mixed content level 2 is upgrading resources like audio, img and video. For that reason we expect it to fail.
+ # See https://github.com/web-platform-tests/wpt/issues/37080
+ [sec-fetch-site - HTTPS downgrade-upgrade, no attributes]
+ expected:
+ if nightly_build: FAIL
diff --git a/testing/web-platform/meta/fetch/metadata/generated/element-input-image.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/element-input-image.sub.html.ini
new file mode 100644
index 0000000000..37b734895f
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/element-input-image.sub.html.ini
@@ -0,0 +1,6 @@
+[element-input-image.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [sec-fetch-site - HTTPS downgrade-upgrade no attributes]
+ expected:
+ if nightly_build: FAIL
diff --git a/testing/web-platform/meta/fetch/metadata/generated/element-link-icon.https.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/element-link-icon.https.sub.html.ini
new file mode 100644
index 0000000000..b156a61a92
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/element-link-icon.https.sub.html.ini
@@ -0,0 +1,83 @@
+[element-link-icon.https.sub.html]
+ expected:
+ if os == "android": TIMEOUT
+ [sec-fetch-site - Same origin no attributes]
+ expected:
+ if os == "android": TIMEOUT
+
+ [sec-fetch-site - Cross-site no attributes]
+ expected:
+ if os == "android": NOTRUN
+
+ [sec-fetch-site - Same site no attributes]
+ expected:
+ if os == "android": NOTRUN
+
+ [sec-fetch-site - Same-Origin -> Cross-Site -> Same-Origin redirect no attributes]
+ expected:
+ if os == "android": NOTRUN
+
+ [sec-fetch-site - Same-Origin -> Same-Site -> Same-Origin redirect no attributes]
+ expected:
+ if os == "android": NOTRUN
+
+ [sec-fetch-site - Cross-Site -> Same Origin no attributes]
+ expected:
+ if os == "android": NOTRUN
+
+ [sec-fetch-site - Cross-Site -> Same-Site no attributes]
+ expected:
+ if os == "android": NOTRUN
+
+ [sec-fetch-site - Cross-Site -> Cross-Site no attributes]
+ expected:
+ if os == "android": NOTRUN
+
+ [sec-fetch-site - Same-Origin -> Same Origin no attributes]
+ expected:
+ if os == "android": NOTRUN
+
+ [sec-fetch-site - Same-Origin -> Same-Site no attributes]
+ expected:
+ if os == "android": NOTRUN
+
+ [sec-fetch-site - Same-Origin -> Cross-Site no attributes]
+ expected:
+ if os == "android": NOTRUN
+
+ [sec-fetch-site - Same-Site -> Same Origin no attributes]
+ expected:
+ if os == "android": NOTRUN
+
+ [sec-fetch-site - Same-Site -> Same-Site no attributes]
+ expected:
+ if os == "android": NOTRUN
+
+ [sec-fetch-site - Same-Site -> Cross-Site no attributes]
+ expected:
+ if os == "android": NOTRUN
+
+ [sec-fetch-mode no attributes]
+ expected:
+ if os == "android": NOTRUN
+
+ [sec-fetch-mode attributes: crossorigin]
+ expected:
+ if os == "android": NOTRUN
+
+ [sec-fetch-mode attributes: crossorigin=anonymous]
+ expected:
+ if os == "android": NOTRUN
+
+ [sec-fetch-mode attributes: crossorigin=use-credentials]
+ expected:
+ if os == "android": NOTRUN
+
+ [sec-fetch-dest no attributes]
+ expected:
+ if os == "android": NOTRUN
+ FAIL
+
+ [sec-fetch-user no attributes]
+ expected:
+ if os == "android": NOTRUN
diff --git a/testing/web-platform/meta/fetch/metadata/generated/element-link-icon.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/element-link-icon.sub.html.ini
new file mode 100644
index 0000000000..211b28c81a
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/element-link-icon.sub.html.ini
@@ -0,0 +1,62 @@
+[element-link-icon.sub.html]
+ expected:
+ if os == "android": TIMEOUT
+ [sec-fetch-site - Not sent to non-trustworthy same-origin destination no attributes]
+ expected:
+ if os == "android": TIMEOUT
+
+ [sec-fetch-site - Not sent to non-trustworthy same-site destination no attributes]
+ expected:
+ if os == "android": NOTRUN
+
+ [sec-fetch-site - Not sent to non-trustworthy cross-site destination no attributes]
+ expected:
+ if os == "android": NOTRUN
+
+ [sec-fetch-mode - Not sent to non-trustworthy same-origin destination no attributes]
+ expected:
+ if os == "android": NOTRUN
+
+ [sec-fetch-mode - Not sent to non-trustworthy same-site destination no attributes]
+ expected:
+ if os == "android": NOTRUN
+
+ [sec-fetch-mode - Not sent to non-trustworthy cross-site destination no attributes]
+ expected:
+ if os == "android": NOTRUN
+
+ [sec-fetch-dest - Not sent to non-trustworthy same-origin destination no attributes]
+ expected:
+ if os == "android": NOTRUN
+
+ [sec-fetch-dest - Not sent to non-trustworthy same-site destination no attributes]
+ expected:
+ if os == "android": NOTRUN
+
+ [sec-fetch-dest - Not sent to non-trustworthy cross-site destination no attributes]
+ expected:
+ if os == "android": NOTRUN
+
+ [sec-fetch-user - Not sent to non-trustworthy same-origin destination no attributes]
+ expected:
+ if os == "android": NOTRUN
+
+ [sec-fetch-user - Not sent to non-trustworthy same-site destination no attributes]
+ expected:
+ if os == "android": NOTRUN
+
+ [sec-fetch-user - Not sent to non-trustworthy cross-site destination no attributes]
+ expected:
+ if os == "android": NOTRUN
+
+ [sec-fetch-site - HTTPS downgrade (header not sent) no attributes]
+ expected:
+ if os == "android": NOTRUN
+
+ [sec-fetch-site - HTTPS upgrade no attributes]
+ expected:
+ if os == "android": NOTRUN
+
+ [sec-fetch-site - HTTPS downgrade-upgrade no attributes]
+ expected:
+ if os == "android": NOTRUN
diff --git a/testing/web-platform/meta/fetch/metadata/generated/element-link-prefetch.https.optional.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/element-link-prefetch.https.optional.sub.html.ini
new file mode 100644
index 0000000000..8f84d09a7b
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/element-link-prefetch.https.optional.sub.html.ini
@@ -0,0 +1,36 @@
+[element-link-prefetch.https.optional.sub.html]
+ [sec-fetch-dest attributes: as=audio]
+ expected: FAIL
+
+ [sec-fetch-dest attributes: as=document]
+ expected: FAIL
+
+ [sec-fetch-dest attributes: as=embed]
+ expected: FAIL
+
+ [sec-fetch-dest attributes: as=fetch]
+ expected: FAIL
+
+ [sec-fetch-dest attributes: as=font]
+ expected: FAIL
+
+ [sec-fetch-dest attributes: as=image]
+ expected: FAIL
+
+ [sec-fetch-dest attributes: as=object]
+ expected: FAIL
+
+ [sec-fetch-dest attributes: as=script]
+ expected: FAIL
+
+ [sec-fetch-dest attributes: as=style]
+ expected: FAIL
+
+ [sec-fetch-dest attributes: as=track]
+ expected: FAIL
+
+ [sec-fetch-dest attributes: as=video]
+ expected: FAIL
+
+ [sec-fetch-dest attributes: as=worker]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/metadata/generated/element-link-prefetch.optional.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/element-link-prefetch.optional.sub.html.ini
new file mode 100644
index 0000000000..249f428b20
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/element-link-prefetch.optional.sub.html.ini
@@ -0,0 +1,3 @@
+[element-link-prefetch.optional.sub.html]
+ expected:
+ if (os == "android") and fission: [TIMEOUT, ERROR, OK]
diff --git a/testing/web-platform/meta/fetch/metadata/generated/element-meta-refresh.optional.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/element-meta-refresh.optional.sub.html.ini
new file mode 100644
index 0000000000..28c8eef143
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/element-meta-refresh.optional.sub.html.ini
@@ -0,0 +1,3 @@
+[element-meta-refresh.optional.sub.html]
+ expected:
+ if (os == "android") and fission: [TIMEOUT, OK]
diff --git a/testing/web-platform/meta/fetch/metadata/generated/element-picture.https.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/element-picture.https.sub.html.ini
new file mode 100644
index 0000000000..2964404402
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/element-picture.https.sub.html.ini
@@ -0,0 +1,3 @@
+[element-picture.https.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/metadata/generated/element-picture.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/element-picture.sub.html.ini
new file mode 100644
index 0000000000..acf8d0e64c
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/element-picture.sub.html.ini
@@ -0,0 +1,3 @@
+[element-picture.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/metadata/generated/element-script.https.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/element-script.https.sub.html.ini
new file mode 100644
index 0000000000..e6d900102f
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/element-script.https.sub.html.ini
@@ -0,0 +1,3 @@
+[element-script.https.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/metadata/generated/element-script.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/element-script.sub.html.ini
new file mode 100644
index 0000000000..fe2eec9353
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/element-script.sub.html.ini
@@ -0,0 +1,3 @@
+[element-script.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/metadata/generated/element-video-poster.https.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/element-video-poster.https.sub.html.ini
new file mode 100644
index 0000000000..73780d4094
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/element-video-poster.https.sub.html.ini
@@ -0,0 +1,20 @@
+[element-video-poster.https.sub.html]
+ # Mixed content level 2 is upgrading resources like audio, img and video. For that reason we expect it to fail.
+ # See https://github.com/web-platform-tests/wpt/issues/37080
+ expected:
+ if nightly_build: TIMEOUT
+ [sec-fetch-site - HTTPS downgrade-upgrade]
+ expected:
+ if nightly_build: TIMEOUT
+
+ [sec-fetch-mode]
+ expected:
+ if nightly_build: NOTRUN
+
+ [sec-fetch-dest]
+ expected:
+ if nightly_build: NOTRUN
+
+ [sec-fetch-user]
+ expected:
+ if nightly_build: NOTRUN
diff --git a/testing/web-platform/meta/fetch/metadata/generated/element-video-poster.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/element-video-poster.sub.html.ini
new file mode 100644
index 0000000000..3f9f22ea11
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/element-video-poster.sub.html.ini
@@ -0,0 +1,8 @@
+[element-video-poster.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ # Mixed content level 2 is upgrading resources like audio, img and video. For that reason we expect it to fail.
+ # See https://github.com/web-platform-tests/wpt/issues/37080
+ [sec-fetch-site - HTTPS downgrade-upgrade no attributes]
+ expected:
+ if nightly_build: FAIL
diff --git a/testing/web-platform/meta/fetch/metadata/generated/element-video.https.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/element-video.https.sub.html.ini
new file mode 100644
index 0000000000..b6b616a553
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/element-video.https.sub.html.ini
@@ -0,0 +1,11 @@
+[element-video.https.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [sec-fetch-site - HTTPS downgrade-upgrade no attributes]
+ expected:
+ if nightly_build: FAIL
+
+ [sec-fetch-site - HTTPS downgrade-upgrade, no attributes]
+ expected:
+ if release_or_beta: PASS
+ FAIL
diff --git a/testing/web-platform/meta/fetch/metadata/generated/element-video.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/element-video.sub.html.ini
new file mode 100644
index 0000000000..68cd7b8d12
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/element-video.sub.html.ini
@@ -0,0 +1,3 @@
+[element-video.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/metadata/generated/fetch-via-serviceworker.https.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/fetch-via-serviceworker.https.sub.html.ini
new file mode 100644
index 0000000000..40107a1bae
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/fetch-via-serviceworker.https.sub.html.ini
@@ -0,0 +1,65 @@
+[fetch-via-serviceworker.https.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ if os == "linux": [OK, TIMEOUT]
+ [sec-fetch-mode - init: mode=no-cors - respondWith]
+ expected:
+ if (os == "linux") and fission: [PASS, TIMEOUT, NOTRUN]
+
+ [sec-fetch-mode - init: mode=no-cors - fallback]
+ expected:
+ if (os == "linux") and fission: [PASS, TIMEOUT, NOTRUN]
+
+ [sec-fetch-mode - init: mode=same-origin - respondWith]
+ expected:
+ if (os == "linux") and fission and not debug: [PASS, TIMEOUT, NOTRUN]
+ if (os == "linux") and fission and debug: [PASS, NOTRUN]
+
+ [sec-fetch-mode - init: mode=same-origin - fallback]
+ expected:
+ if (os == "linux") and fission and debug: [PASS, NOTRUN]
+ if (os == "linux") and fission and not debug: [PASS, TIMEOUT, NOTRUN]
+
+ [sec-fetch-dest - no init - respondWith]
+ expected:
+ if (os == "linux") and debug and fission: [PASS, NOTRUN]
+ if (os == "linux") and debug and not fission: [PASS, TIMEOUT, NOTRUN]
+ if (os == "linux") and not debug: [PASS, TIMEOUT, NOTRUN]
+
+ [sec-fetch-dest - no init - fallback]
+ expected:
+ if os == "linux": [PASS, TIMEOUT, NOTRUN]
+
+ [sec-fetch-user - no init - respondWith]
+ expected:
+ if (os == "linux") and debug and fission: [PASS, NOTRUN]
+ if (os == "linux") and debug and not fission: [PASS, TIMEOUT, NOTRUN]
+ if (os == "linux") and not debug: [PASS, TIMEOUT, NOTRUN]
+
+ [sec-fetch-user - no init - fallback]
+ expected:
+ if os == "linux": [PASS, TIMEOUT, NOTRUN]
+
+ [sec-fetch-mode - init: mode=cors - fallback]
+ expected: [PASS, TIMEOUT, NOTRUN]
+
+ [sec-fetch-site - Same-Site -> Same-Site, init: mode=no-cors - respondWith]
+ expected: [PASS, TIMEOUT, NOTRUN]
+
+ [sec-fetch-site - Same-Site -> Same-Site, init: mode=no-cors - fallback]
+ expected: [PASS, TIMEOUT, NOTRUN]
+
+ [sec-fetch-site - Same-Site -> Cross-Site, init: mode=no-cors - respondWith]
+ expected: [PASS, TIMEOUT, NOTRUN]
+
+ [sec-fetch-site - Same-Site -> Cross-Site, init: mode=no-cors - fallback]
+ expected: [PASS, TIMEOUT, NOTRUN]
+
+ [sec-fetch-mode - no init - respondWith]
+ expected: [PASS, TIMEOUT, NOTRUN]
+
+ [sec-fetch-mode - no init - fallback]
+ expected: [PASS, TIMEOUT, NOTRUN]
+
+ [sec-fetch-mode - init: mode=cors - respondWith]
+ expected: [PASS, TIMEOUT, NOTRUN]
diff --git a/testing/web-platform/meta/fetch/metadata/generated/fetch.https.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/fetch.https.sub.html.ini
new file mode 100644
index 0000000000..a122f64a98
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/fetch.https.sub.html.ini
@@ -0,0 +1,3 @@
+[fetch.https.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/metadata/generated/fetch.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/fetch.sub.html.ini
new file mode 100644
index 0000000000..7037fce0c1
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/fetch.sub.html.ini
@@ -0,0 +1,3 @@
+[fetch.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/metadata/generated/form-submission.https.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/form-submission.https.sub.html.ini
new file mode 100644
index 0000000000..2e6601f810
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/form-submission.https.sub.html.ini
@@ -0,0 +1,43 @@
+[form-submission.https.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ if os == "linux": [OK, TIMEOUT]
+ [sec-fetch-user - GET with user activation]
+ expected:
+ if os == "linux": [PASS, TIMEOUT, NOTRUN]
+
+ [sec-fetch-user - POST]
+ expected:
+ if (os == "linux") and not fission and not debug: [FAIL, PASS, TIMEOUT, NOTRUN]
+ if (os == "linux") and fission: [FAIL, NOTRUN]
+ FAIL
+
+ [sec-fetch-user - POST with user activation]
+ expected:
+ if (os == "linux") and debug and fission: [PASS, NOTRUN]
+ if (os == "linux") and not debug: [PASS, TIMEOUT, NOTRUN]
+
+ [sec-fetch-user - GET]
+ expected:
+ if (os == "linux") and debug and fission: [PASS, TIMEOUT]
+ if (os == "linux") and not debug: [PASS, TIMEOUT, NOTRUN]
+
+ [sec-fetch-dest - GET]
+ expected:
+ if (os == "linux") and not debug: [PASS, TIMEOUT, NOTRUN]
+
+ [sec-fetch-dest - POST]
+ expected:
+ if (os == "linux") and not debug: [PASS, TIMEOUT, NOTRUN]
+
+ [sec-fetch-mode - GET]
+ expected:
+ if (os == "linux") and not debug and fission: [PASS, TIMEOUT, NOTRUN]
+
+ [sec-fetch-mode - POST]
+ expected:
+ if (os == "linux") and not debug and fission: [PASS, TIMEOUT, NOTRUN]
+
+ [sec-fetch-site - HTTPS downgrade-upgrade - POST]
+ expected:
+ if (os == "linux") and not debug and fission: [PASS, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/metadata/generated/form-submission.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/form-submission.sub.html.ini
new file mode 100644
index 0000000000..4b8016d4d7
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/form-submission.sub.html.ini
@@ -0,0 +1,22 @@
+[form-submission.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ if (os == "linux") and fission: [OK, TIMEOUT]
+ [sec-fetch-site - HTTPS upgrade - POST]
+ expected:
+ if (os == "linux") and fission and not debug: [PASS, TIMEOUT, NOTRUN]
+ if (os == "linux") and fission and debug: [PASS, TIMEOUT]
+
+ [sec-fetch-site - HTTPS downgrade-upgrade - GET]
+ expected:
+ if (os == "linux") and fission and debug: [PASS, NOTRUN]
+ if (os == "linux") and fission and not debug: [PASS, TIMEOUT, NOTRUN]
+
+ [sec-fetch-site - HTTPS downgrade-upgrade - POST]
+ expected:
+ if (os == "linux") and fission and not debug: [PASS, TIMEOUT, NOTRUN]
+ if (os == "linux") and fission and debug: [PASS, NOTRUN]
+
+ [sec-fetch-site - HTTPS upgrade - GET]
+ expected:
+ if (os == "linux") and not debug and fission: [PASS, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/metadata/generated/header-link.https.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/header-link.https.sub.html.ini
new file mode 100644
index 0000000000..4fb46002a1
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/header-link.https.sub.html.ini
@@ -0,0 +1,53 @@
+[header-link.https.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [sec-fetch-site rel=icon - Same origin]
+ expected: FAIL
+
+ [sec-fetch-site rel=icon - Cross-site]
+ expected: FAIL
+
+ [sec-fetch-site rel=icon - Same site]
+ expected: FAIL
+
+ [sec-fetch-site rel=icon - Same-Origin -> Cross-Site -> Same-Origin redirect]
+ expected: FAIL
+
+ [sec-fetch-site rel=icon - Same-Origin -> Same-Site -> Same-Origin redirect]
+ expected: FAIL
+
+ [sec-fetch-site rel=icon - Cross-Site -> Same Origin]
+ expected: FAIL
+
+ [sec-fetch-site rel=icon - Cross-Site -> Same-Site]
+ expected: FAIL
+
+ [sec-fetch-site rel=icon - Cross-Site -> Cross-Site]
+ expected: FAIL
+
+ [sec-fetch-site rel=icon - Same-Origin -> Same Origin]
+ expected: FAIL
+
+ [sec-fetch-site rel=icon - Same-Origin -> Same-Site]
+ expected: FAIL
+
+ [sec-fetch-site rel=icon - Same-Origin -> Cross-Site]
+ expected: FAIL
+
+ [sec-fetch-site rel=icon - Same-Site -> Same Origin]
+ expected: FAIL
+
+ [sec-fetch-site rel=icon - Same-Site -> Same-Site]
+ expected: FAIL
+
+ [sec-fetch-site rel=icon - Same-Site -> Cross-Site]
+ expected: FAIL
+
+ [sec-fetch-mode rel=icon]
+ expected: FAIL
+
+ [sec-fetch-dest rel=icon]
+ expected: FAIL
+
+ [sec-fetch-user rel=icon]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/metadata/generated/header-link.https.sub.tentative.html.ini b/testing/web-platform/meta/fetch/metadata/generated/header-link.https.sub.tentative.html.ini
new file mode 100644
index 0000000000..bc1c9e28ed
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/header-link.https.sub.tentative.html.ini
@@ -0,0 +1,3 @@
+[header-link.https.sub.tentative.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/metadata/generated/header-link.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/header-link.sub.html.ini
new file mode 100644
index 0000000000..7499d038c2
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/header-link.sub.html.ini
@@ -0,0 +1,47 @@
+[header-link.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [sec-fetch-site rel=icon - Not sent to non-trustworthy same-origin destination]
+ expected: FAIL
+
+ [sec-fetch-site rel=icon - Not sent to non-trustworthy same-site destination]
+ expected: FAIL
+
+ [sec-fetch-site rel=icon - Not sent to non-trustworthy cross-site destination]
+ expected: FAIL
+
+ [sec-fetch-mode rel=icon - Not sent to non-trustworthy same-origin destination]
+ expected: FAIL
+
+ [sec-fetch-mode rel=icon - Not sent to non-trustworthy same-site destination]
+ expected: FAIL
+
+ [sec-fetch-mode rel=icon - Not sent to non-trustworthy cross-site destination]
+ expected: FAIL
+
+ [sec-fetch-dest rel=icon - Not sent to non-trustworthy same-origin destination]
+ expected: FAIL
+
+ [sec-fetch-dest rel=icon - Not sent to non-trustworthy same-site destination]
+ expected: FAIL
+
+ [sec-fetch-dest rel=icon - Not sent to non-trustworthy cross-site destination]
+ expected: FAIL
+
+ [sec-fetch-user rel=icon - Not sent to non-trustworthy same-origin destination]
+ expected: FAIL
+
+ [sec-fetch-user rel=icon - Not sent to non-trustworthy same-site destination]
+ expected: FAIL
+
+ [sec-fetch-user rel=icon - Not sent to non-trustworthy cross-site destination]
+ expected: FAIL
+
+ [sec-fetch-site rel=icon - HTTPS downgrade (header not sent)]
+ expected: FAIL
+
+ [sec-fetch-site rel=icon - HTTPS upgrade]
+ expected: FAIL
+
+ [sec-fetch-site rel=icon - HTTPS downgrade-upgrade]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/metadata/generated/header-refresh.https.optional.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/header-refresh.https.optional.sub.html.ini
new file mode 100644
index 0000000000..7892af4f33
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/header-refresh.https.optional.sub.html.ini
@@ -0,0 +1,3 @@
+[header-refresh.https.optional.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/metadata/generated/header-refresh.optional.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/header-refresh.optional.sub.html.ini
new file mode 100644
index 0000000000..2b226c40ef
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/header-refresh.optional.sub.html.ini
@@ -0,0 +1,3 @@
+[header-refresh.optional.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/metadata/generated/script-module-import-dynamic.https.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/script-module-import-dynamic.https.sub.html.ini
new file mode 100644
index 0000000000..9280fd8c8f
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/script-module-import-dynamic.https.sub.html.ini
@@ -0,0 +1,3 @@
+[script-module-import-dynamic.https.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/metadata/generated/script-module-import-dynamic.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/script-module-import-dynamic.sub.html.ini
new file mode 100644
index 0000000000..ae7006d94f
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/script-module-import-dynamic.sub.html.ini
@@ -0,0 +1,3 @@
+[script-module-import-dynamic.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/metadata/generated/script-module-import-static.https.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/script-module-import-static.https.sub.html.ini
new file mode 100644
index 0000000000..54d72aa076
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/script-module-import-static.https.sub.html.ini
@@ -0,0 +1,3 @@
+[script-module-import-static.https.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/metadata/generated/script-module-import-static.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/script-module-import-static.sub.html.ini
new file mode 100644
index 0000000000..7218b7aff8
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/script-module-import-static.sub.html.ini
@@ -0,0 +1,3 @@
+[script-module-import-static.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/metadata/generated/serviceworker.https.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/serviceworker.https.sub.html.ini
new file mode 100644
index 0000000000..40b11923d8
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/serviceworker.https.sub.html.ini
@@ -0,0 +1,28 @@
+[serviceworker.https.sub.html]
+ expected:
+ if (os == "win") and not debug and (processor == "x86"): [TIMEOUT, OK]
+ if (os == "win") and not debug and (processor == "x86_64"): [OK, TIMEOUT]
+ [sec-fetch-mode - no options - registration]
+ expected:
+ if (processor == "x86") and not debug: [PASS, TIMEOUT]
+
+ [sec-fetch-user - no options - updating]
+ expected:
+ if (os == "win") and not debug and (processor == "x86"): [NOTRUN, PASS]
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, TIMEOUT]
+
+ [sec-fetch-mode - no options - updating]
+ expected:
+ if (processor == "x86") and not debug: [PASS, NOTRUN]
+
+ [sec-fetch-dest - no options - updating]
+ expected:
+ if (processor == "x86") and not debug: [TIMEOUT, PASS, NOTRUN]
+
+ [sec-fetch-user - no options - registration]
+ expected:
+ if (processor == "x86") and not debug: [NOTRUN, PASS]
+
+ [sec-fetch-dest - no options - registration]
+ expected:
+ if (processor == "x86") and not debug: [PASS, NOTRUN]
diff --git a/testing/web-platform/meta/fetch/metadata/generated/svg-image.https.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/svg-image.https.sub.html.ini
new file mode 100644
index 0000000000..e9c6f729bd
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/svg-image.https.sub.html.ini
@@ -0,0 +1,28 @@
+[svg-image.https.sub.html]
+ [sec-fetch-dest no attributes]
+ expected: FAIL
+
+ # Mixed content level 2 is upgrading resources like audio, img and video. For that reason we expect it to fail.
+ # See https://github.com/web-platform-tests/wpt/issues/37080
+ [sec-fetch-site - HTTPS downgrade-upgrade no attributes]
+ expected:
+ if release_or_beta: PASS
+ FAIL
+
+ [sec-fetch-mode attributes: crossorigin]
+ expected:
+ if (os == "linux") and not fission and debug: [PASS, FAIL]
+ if (os == "linux") and fission: [PASS, FAIL]
+
+ [sec-fetch-mode attributes: crossorigin=anonymous]
+ expected:
+ if (os == "linux") and debug and not fission: [PASS, FAIL]
+ if (os == "android") and debug and not swgl: [PASS, FAIL]
+ if (os == "linux") and not debug: [PASS, FAIL]
+
+ [sec-fetch-mode attributes: crossorigin=use-credentials]
+ expected:
+ if (os == "linux") and debug and not editorLegacyDirectionMode and not fission and swgl: [PASS, FAIL]
+ if (os == "linux") and debug and not editorLegacyDirectionMode and fission and not swgl: [PASS, FAIL]
+ if (os == "linux") and debug and editorLegacyDirectionMode: [PASS, FAIL]
+ if (os == "linux") and not debug: [PASS, FAIL]
diff --git a/testing/web-platform/meta/fetch/metadata/generated/svg-image.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/svg-image.sub.html.ini
new file mode 100644
index 0000000000..d36789483d
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/svg-image.sub.html.ini
@@ -0,0 +1,3 @@
+[svg-image.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/metadata/generated/window-history.https.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/window-history.https.sub.html.ini
new file mode 100644
index 0000000000..314cc3c12b
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/window-history.https.sub.html.ini
@@ -0,0 +1,19 @@
+[window-history.https.sub.html]
+ expected:
+ if (os == "linux") and fission and not debug and (processor == "x86"): [OK, TIMEOUT]
+ if (os == "linux") and fission and not debug and (processor == "x86_64"): [OK, TIMEOUT]
+ if (os == "linux") and fission and debug: [OK, TIMEOUT]
+ [sec-fetch-user - history.forward]
+ expected:
+ if (os == "linux") and fission and not debug and (processor == "x86"): [PASS, TIMEOUT, NOTRUN]
+ if (os == "linux") and fission and not debug and (processor == "x86_64"): [PASS, NOTRUN, TIMEOUT]
+ if (os == "linux") and fission and debug: [PASS, TIMEOUT]
+
+ [sec-fetch-user - history.back]
+ expected:
+ if (os == "linux") and not debug and fission and (processor == "x86_64"): [PASS, TIMEOUT, NOTRUN]
+ if (os == "linux") and not debug and fission and (processor == "x86"): [PASS, TIMEOUT, NOTRUN]
+
+ [sec-fetch-dest - history.forward]
+ expected:
+ if (os == "linux") and not debug and fission: [PASS, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/metadata/generated/window-history.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/window-history.sub.html.ini
new file mode 100644
index 0000000000..a3f35da51e
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/window-history.sub.html.ini
@@ -0,0 +1,3 @@
+[window-history.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/metadata/generated/window-location.https.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/window-location.https.sub.html.ini
new file mode 100644
index 0000000000..82b7038ae6
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/window-location.https.sub.html.ini
@@ -0,0 +1,3 @@
+[window-location.https.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/metadata/generated/window-location.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/window-location.sub.html.ini
new file mode 100644
index 0000000000..f0fd425512
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/window-location.sub.html.ini
@@ -0,0 +1,3 @@
+[window-location.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/metadata/generated/worker-dedicated-constructor.https.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/worker-dedicated-constructor.https.sub.html.ini
new file mode 100644
index 0000000000..9ca80c8707
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/worker-dedicated-constructor.https.sub.html.ini
@@ -0,0 +1,3 @@
+[worker-dedicated-constructor.https.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/metadata/generated/worker-dedicated-constructor.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/worker-dedicated-constructor.sub.html.ini
new file mode 100644
index 0000000000..8ed0e3f8a1
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/worker-dedicated-constructor.sub.html.ini
@@ -0,0 +1,26 @@
+[worker-dedicated-constructor.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [sec-fetch-site - Not sent to non-trustworthy same-site destination, no options]
+ expected: FAIL
+
+ [sec-fetch-site - Not sent to non-trustworthy cross-site destination, no options]
+ expected: FAIL
+
+ [sec-fetch-mode - Not sent to non-trustworthy same-site destination, no options]
+ expected: FAIL
+
+ [sec-fetch-mode - Not sent to non-trustworthy cross-site destination, no options]
+ expected: FAIL
+
+ [sec-fetch-dest - Not sent to non-trustworthy same-site destination, no options]
+ expected: FAIL
+
+ [sec-fetch-dest - Not sent to non-trustworthy cross-site destination, no options]
+ expected: FAIL
+
+ [sec-fetch-user - Not sent to non-trustworthy same-site destination, no options]
+ expected: FAIL
+
+ [sec-fetch-user - Not sent to non-trustworthy cross-site destination, no options]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/metadata/generated/worker-dedicated-importscripts.https.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/worker-dedicated-importscripts.https.sub.html.ini
new file mode 100644
index 0000000000..aa85dc6c9d
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/worker-dedicated-importscripts.https.sub.html.ini
@@ -0,0 +1,3 @@
+[worker-dedicated-importscripts.https.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/metadata/generated/worker-dedicated-importscripts.sub.html.ini b/testing/web-platform/meta/fetch/metadata/generated/worker-dedicated-importscripts.sub.html.ini
new file mode 100644
index 0000000000..467d989dce
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/generated/worker-dedicated-importscripts.sub.html.ini
@@ -0,0 +1,3 @@
+[worker-dedicated-importscripts.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/metadata/navigation.https.sub.html.ini b/testing/web-platform/meta/fetch/metadata/navigation.https.sub.html.ini
new file mode 100644
index 0000000000..879bc67b62
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/navigation.https.sub.html.ini
@@ -0,0 +1,3 @@
+[navigation.https.sub.html]
+ expected:
+ if (os == "android") and fission: [TIMEOUT, OK]
diff --git a/testing/web-platform/meta/fetch/metadata/object.https.sub.html.ini b/testing/web-platform/meta/fetch/metadata/object.https.sub.html.ini
new file mode 100644
index 0000000000..eca74ea0bf
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/object.https.sub.html.ini
@@ -0,0 +1,3 @@
+[object.https.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/metadata/paint-worklet.https.html.ini b/testing/web-platform/meta/fetch/metadata/paint-worklet.https.html.ini
new file mode 100644
index 0000000000..5c7b699b4e
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/paint-worklet.https.html.ini
@@ -0,0 +1,5 @@
+[paint-worklet.https.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [The fetch metadata for paint worklet]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/metadata/portal.https.sub.html.ini b/testing/web-platform/meta/fetch/metadata/portal.https.sub.html.ini
new file mode 100644
index 0000000000..a3af616933
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/portal.https.sub.html.ini
@@ -0,0 +1,11 @@
+[portal.https.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [web-platform.test -> www.web-platform.test:8443 portal]
+ expected: FAIL
+
+ [web-platform.test -> web-platform.test:8443 portal]
+ expected: FAIL
+
+ [web-platform.test -> www.not-web-platform.test:8443 portal]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/metadata/preload.https.sub.html.ini b/testing/web-platform/meta/fetch/metadata/preload.https.sub.html.ini
new file mode 100644
index 0000000000..9c25310fac
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/preload.https.sub.html.ini
@@ -0,0 +1,108 @@
+[preload.https.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [preload style web-platform.test:8443: sec-fetch-site]
+ expected:
+ if (os == "win") and not debug: PASS
+ if os == "android": PASS
+ if os == "mac": PASS
+ [PASS, FAIL]
+
+ [<link rel='preload' as='style' href='https://www.not-web-platform.test:8443/...'>]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, FAIL]
+ if (os == "linux") and debug: [PASS, FAIL]
+ if (os == "win") and debug: [PASS, FAIL]
+
+ [<link rel='preload' as='fetch' href='https://web-platform.test:8443/...'>]
+ expected:
+ if (os == "win") and not debug and (processor == "x86"): [PASS, FAIL]
+ if (os == "linux") and debug: [PASS, FAIL]
+
+ [<link rel='preload' as='image' href='https://www.not-web-platform.test:8443/...'>]
+ expected:
+ if os == "win": [PASS, FAIL]
+
+ [<link rel='preload' as='font' href='https://www.not-web-platform.test:8443/...'>]
+ expected:
+ if (os == "linux") and not debug: [PASS, FAIL]
+
+ [<link rel='preload' as='track' href='https://www.web-platform.test:8443/...'>]
+ expected:
+ if (processor == "x86") and (os == "win") and not debug: FAIL
+ [FAIL, PASS]
+
+ [preload image web-platform.test:8443: sec-fetch-site]
+ expected:
+ if (os == "android") and debug: [PASS, FAIL]
+
+ [<link rel='preload' as='fetch' href='https://www.web-platform.test:8443/...'>]
+ expected:
+ if (os == "win") and not debug and (processor == "x86"): [PASS, FAIL]
+ if (os == "linux") and debug: [PASS, FAIL]
+
+ [<link rel='preload' as='style' href='https://web-platform.test:8443/...'>]
+ expected:
+ if (os == "win") and not debug: PASS
+ if os == "android": PASS
+ [PASS, FAIL]
+
+ [<link rel='preload' as='font' href='https://web-platform.test:8443/...'>]
+ expected:
+ if (os == "linux") and not debug and (processor == "x86_64"): [PASS, FAIL]
+
+ [<link rel='preload' as='script' href='https://www.web-platform.test:8443/...'>]
+ expected:
+ if (os == "win") and debug and (processor == "x86"): [PASS, FAIL]
+ if (os == "win") and not debug: [PASS, FAIL]
+
+ [preload style www.not-web-platform.test:8443: sec-fetch-site]
+ expected:
+ if (processor == "x86") and debug: [PASS, FAIL]
+
+ [<link rel='preload' as='script' href='https://www.not-web-platform.test:8443/...'>]
+ expected:
+ if os == "win": [PASS, FAIL]
+
+ [<link rel='preload' as='track' href='https://www.not-web-platform.test:8443/...'>]
+ expected:
+ if (os == "linux") and not debug: FAIL
+ [FAIL, PASS]
+
+ [<link rel='preload' as='image' href='https://web-platform.test:8443/...'>]
+ expected:
+ if (os == "win") and not debug: PASS
+ if (os == "android") and not debug: PASS
+ [PASS, FAIL]
+
+ [<link rel='preload' as='style' href='https://www.web-platform.test:8443/...'>]
+ expected:
+ if os == "android": PASS
+ [PASS, FAIL]
+
+ [<link rel='preload' as='track' href='https://web-platform.test:8443/...'>]
+ expected:
+ if (os == "win") and not debug: FAIL
+ [FAIL, PASS]
+
+ [preload script web-platform.test:8443: sec-fetch-site]
+ expected:
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [<link rel='preload' as='image' href='https://www.web-platform.test:8443/...'>]
+ expected:
+ if (os == "android") and not debug: PASS
+ [PASS, FAIL]
+
+ [<link rel='preload' as='script' href='https://web-platform.test:8443/...'>]
+ expected:
+ if (os == "win") and debug: [PASS, FAIL]
+
+ [preload fetch web-platform.test:8443: sec-fetch-site]
+ expected:
+ if (processor == "x86") and debug: [PASS, FAIL]
+
+ [preload image www.web-platform.test:8443: sec-fetch-site]
+ expected:
+ if (os == "win") and debug: [PASS, FAIL]
+ if os == "mac": [PASS, FAIL]
diff --git a/testing/web-platform/meta/fetch/metadata/redirect/__dir__.ini b/testing/web-platform/meta/fetch/metadata/redirect/__dir__.ini
new file mode 100644
index 0000000000..e3cf82e1a2
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/redirect/__dir__.ini
@@ -0,0 +1,2 @@
+lsan-disabled: true
+leak-threshold: [tab:51200]
diff --git a/testing/web-platform/meta/fetch/metadata/redirect/multiple-redirect-https-downgrade-upgrade.sub.html.ini b/testing/web-platform/meta/fetch/metadata/redirect/multiple-redirect-https-downgrade-upgrade.sub.html.ini
new file mode 100644
index 0000000000..acec7ab9c6
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/redirect/multiple-redirect-https-downgrade-upgrade.sub.html.ini
@@ -0,0 +1,3 @@
+[multiple-redirect-https-downgrade-upgrade.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, CRASH]
diff --git a/testing/web-platform/meta/fetch/metadata/redirect/redirect-http-upgrade.sub.html.ini b/testing/web-platform/meta/fetch/metadata/redirect/redirect-http-upgrade.sub.html.ini
new file mode 100644
index 0000000000..997724c7ba
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/redirect/redirect-http-upgrade.sub.html.ini
@@ -0,0 +1,3 @@
+[redirect-http-upgrade.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, CRASH]
diff --git a/testing/web-platform/meta/fetch/metadata/redirect/redirect-https-downgrade.sub.html.ini b/testing/web-platform/meta/fetch/metadata/redirect/redirect-https-downgrade.sub.html.ini
new file mode 100644
index 0000000000..74418cac9b
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/redirect/redirect-https-downgrade.sub.html.ini
@@ -0,0 +1,4 @@
+[redirect-https-downgrade.sub.html]
+ expected:
+ if (os == "mac") and not debug: [OK, TIMEOUT]
+ if (os == "android") and fission: [TIMEOUT, OK, CRASH]
diff --git a/testing/web-platform/meta/fetch/metadata/report.https.sub.html.ini b/testing/web-platform/meta/fetch/metadata/report.https.sub.html.ini
new file mode 100644
index 0000000000..c52bb35e9d
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/report.https.sub.html.ini
@@ -0,0 +1,3 @@
+[report.https.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/metadata/serviceworker-accessors.https.sub.html.ini b/testing/web-platform/meta/fetch/metadata/serviceworker-accessors.https.sub.html.ini
new file mode 100644
index 0000000000..5c7719342d
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/serviceworker-accessors.https.sub.html.ini
@@ -0,0 +1,4 @@
+[serviceworker-accessors.https.sub.html]
+ expected:
+ if (os == "linux") and not debug and fission: [OK, CRASH]
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/metadata/sharedworker.https.sub.html.ini b/testing/web-platform/meta/fetch/metadata/sharedworker.https.sub.html.ini
new file mode 100644
index 0000000000..bf4b61bc05
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/sharedworker.https.sub.html.ini
@@ -0,0 +1,3 @@
+[sharedworker.https.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/metadata/style.https.sub.html.ini b/testing/web-platform/meta/fetch/metadata/style.https.sub.html.ini
new file mode 100644
index 0000000000..6b7e03dce5
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/style.https.sub.html.ini
@@ -0,0 +1,3 @@
+[style.https.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/metadata/track.https.sub.html.ini b/testing/web-platform/meta/fetch/metadata/track.https.sub.html.ini
new file mode 100644
index 0000000000..28fd152921
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/track.https.sub.html.ini
@@ -0,0 +1,4 @@
+[track.https.sub.html]
+ expected:
+ if (os == "linux") and not debug and fission: [OK, TIMEOUT]
+ if (os == "mac") and not debug: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/metadata/trailing-dot.https.sub.any.js.ini b/testing/web-platform/meta/fetch/metadata/trailing-dot.https.sub.any.js.ini
new file mode 100644
index 0000000000..c3a093718e
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/trailing-dot.https.sub.any.js.ini
@@ -0,0 +1,50 @@
+[trailing-dot.https.sub.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Fetching a resource from a cross-site host, spelled with a trailing dot.]
+ expected: FAIL
+
+ [Fetching a resource from the same origin, but spelled with a trailing dot.]
+ expected: FAIL
+
+ [Fetching a resource from the same site, but spelled with a trailing dot.]
+ expected: FAIL
+
+
+[trailing-dot.https.sub.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Fetching a resource from a cross-site host, spelled with a trailing dot.]
+ expected: FAIL
+
+ [Fetching a resource from the same origin, but spelled with a trailing dot.]
+ expected: FAIL
+
+ [Fetching a resource from the same site, but spelled with a trailing dot.]
+ expected: FAIL
+
+
+[trailing-dot.https.sub.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Fetching a resource from a cross-site host, spelled with a trailing dot.]
+ expected: FAIL
+
+ [Fetching a resource from the same origin, but spelled with a trailing dot.]
+ expected: FAIL
+
+ [Fetching a resource from the same site, but spelled with a trailing dot.]
+ expected: FAIL
+
+
+[trailing-dot.https.sub.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [TIMEOUT, OK]
+ [Fetching a resource from a cross-site host, spelled with a trailing dot.]
+ expected: FAIL
+
+ [Fetching a resource from the same origin, but spelled with a trailing dot.]
+ expected: FAIL
+
+ [Fetching a resource from the same site, but spelled with a trailing dot.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/metadata/unload.https.sub.html.ini b/testing/web-platform/meta/fetch/metadata/unload.https.sub.html.ini
new file mode 100644
index 0000000000..1087967073
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/unload.https.sub.html.ini
@@ -0,0 +1,3 @@
+[unload.https.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/metadata/window-open.https.sub.html.ini b/testing/web-platform/meta/fetch/metadata/window-open.https.sub.html.ini
new file mode 100644
index 0000000000..e315d3425c
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/window-open.https.sub.html.ini
@@ -0,0 +1,11 @@
+[window-open.https.sub.html]
+ expected:
+ if (os == "win") and debug and not swgl: [ERROR, OK]
+ [OK, ERROR]
+ [Cross-site window, forced, reloaded]
+ expected: [PASS, FAIL]
+
+ [Same-site window, forced, reloaded]
+ expected:
+ if (os == "win") and debug and (processor == "x86_64"): PASS
+ [PASS, FAIL]
diff --git a/testing/web-platform/meta/fetch/metadata/worker.https.sub.html.ini b/testing/web-platform/meta/fetch/metadata/worker.https.sub.html.ini
new file mode 100644
index 0000000000..d5fa7eb9df
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/worker.https.sub.html.ini
@@ -0,0 +1,3 @@
+[worker.https.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/metadata/xslt.https.sub.html.ini b/testing/web-platform/meta/fetch/metadata/xslt.https.sub.html.ini
new file mode 100644
index 0000000000..3a334d50e4
--- /dev/null
+++ b/testing/web-platform/meta/fetch/metadata/xslt.https.sub.html.ini
@@ -0,0 +1,5 @@
+[xslt.https.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [undefined: sec-fetch-mode]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/nosniff/__dir__.ini b/testing/web-platform/meta/fetch/nosniff/__dir__.ini
new file mode 100644
index 0000000000..73bec3d22a
--- /dev/null
+++ b/testing/web-platform/meta/fetch/nosniff/__dir__.ini
@@ -0,0 +1 @@
+lsan-allowed: [build_input_gamma_table, posix_memalign]
diff --git a/testing/web-platform/meta/fetch/nosniff/script.html.ini b/testing/web-platform/meta/fetch/nosniff/script.html.ini
new file mode 100644
index 0000000000..676c1afe73
--- /dev/null
+++ b/testing/web-platform/meta/fetch/nosniff/script.html.ini
@@ -0,0 +1,3 @@
+[script.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/nosniff/stylesheet.html.ini b/testing/web-platform/meta/fetch/nosniff/stylesheet.html.ini
new file mode 100644
index 0000000000..cb8ab5fae4
--- /dev/null
+++ b/testing/web-platform/meta/fetch/nosniff/stylesheet.html.ini
@@ -0,0 +1,4 @@
+[stylesheet.html]
+ expected:
+ if (os == "android") and debug and fission: [TIMEOUT, OK]
+ if (os == "android") and debug and not fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/nosniff/worker.html.ini b/testing/web-platform/meta/fetch/nosniff/worker.html.ini
new file mode 100644
index 0000000000..032c39ae1c
--- /dev/null
+++ b/testing/web-platform/meta/fetch/nosniff/worker.html.ini
@@ -0,0 +1,3 @@
+[worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/orb/tentative/__dir__.ini b/testing/web-platform/meta/fetch/orb/tentative/__dir__.ini
new file mode 100644
index 0000000000..903a93027f
--- /dev/null
+++ b/testing/web-platform/meta/fetch/orb/tentative/__dir__.ini
@@ -0,0 +1 @@
+prefs: [browser.opaqueResponseBlocking:true, browser.opaqueResponseBlocking.javascriptValidator:true]
diff --git a/testing/web-platform/meta/fetch/orb/tentative/content-range.sub.any.js.ini b/testing/web-platform/meta/fetch/orb/tentative/content-range.sub.any.js.ini
new file mode 100644
index 0000000000..482e8226a2
--- /dev/null
+++ b/testing/web-platform/meta/fetch/orb/tentative/content-range.sub.any.js.ini
@@ -0,0 +1,10 @@
+[content-range.sub.any.html]
+ prefs: [browser.opaqueResponseBlocking:true,
+ browser.opaqueResponseBlocking.filterFetchResponse:2]
+ [ORB should block opaque range of image/png not starting at zero, that isn't subsequent]
+ expected: FAIL
+
+
+[content-range.sub.any.worker.html]
+ [ORB should block opaque range of image/png not starting at zero, that isn't subsequent]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/orb/tentative/img-mime-types-coverage.tentative.sub.html.ini b/testing/web-platform/meta/fetch/orb/tentative/img-mime-types-coverage.tentative.sub.html.ini
new file mode 100644
index 0000000000..a7fa83b42a
--- /dev/null
+++ b/testing/web-platform/meta/fetch/orb/tentative/img-mime-types-coverage.tentative.sub.html.ini
@@ -0,0 +1,12 @@
+[img-mime-types-coverage.tentative.sub.html]
+ [ORB should block the response if Content-Type is: 'application/dash+xml'. ]
+ expected: FAIL
+
+ [ORB should block the response if Content-Type is: 'application/vnd.apple.mpegurl'. ]
+ expected: FAIL
+
+ [ORB should block the response if Content-Type is: 'audio/mpegurl'. ]
+ expected: FAIL
+
+ [ORB should block the response if Content-Type is: 'text/vtt'. ]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/orb/tentative/known-mime-type.sub.any.js.ini b/testing/web-platform/meta/fetch/orb/tentative/known-mime-type.sub.any.js.ini
new file mode 100644
index 0000000000..e21d50de71
--- /dev/null
+++ b/testing/web-platform/meta/fetch/orb/tentative/known-mime-type.sub.any.js.ini
@@ -0,0 +1,38 @@
+[known-mime-type.sub.any.html]
+ prefs: [browser.opaqueResponseBlocking:true,
+ browser.opaqueResponseBlocking.filterFetchResponse:2]
+
+ [ORB should block opaque font/ttf]
+ expected: FAIL
+
+ [ORB should block opaque text/plain]
+ expected: FAIL
+
+ [ORB should block opaque application/json (non-empty)]
+ expected: FAIL
+
+ [ORB should block opaque application/json (empty)]
+ expected: FAIL
+
+ [ORB should block opaque application/json which contains non ascii characters]
+ expected: FAIL
+
+
+[known-mime-type.sub.any.worker.html]
+ prefs: [browser.opaqueResponseBlocking:true,
+ browser.opaqueResponseBlocking.filterFetchResponse:2]
+
+ [ORB should block opaque font/ttf]
+ expected: FAIL
+
+ [ORB should block opaque text/plain]
+ expected: FAIL
+
+ [ORB should block opaque application/json (non-empty)]
+ expected: FAIL
+
+ [ORB should block opaque application/json (empty)]
+ expected: FAIL
+
+ [ORB should block opaque application/json which contains non ascii characters]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/orb/tentative/nosniff.sub.any.js.ini b/testing/web-platform/meta/fetch/orb/tentative/nosniff.sub.any.js.ini
new file mode 100644
index 0000000000..08328fba3e
--- /dev/null
+++ b/testing/web-platform/meta/fetch/orb/tentative/nosniff.sub.any.js.ini
@@ -0,0 +1,30 @@
+[nosniff.sub.any.html]
+ prefs: [browser.opaqueResponseBlocking:true,
+ browser.opaqueResponseBlocking.filterFetchResponse:2]
+
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [ORB should block opaque text/plain with nosniff]
+ expected: FAIL
+
+ [ORB should block opaque-response-blocklisted MIME type with nosniff]
+ expected: FAIL
+
+ [ORB should block opaque response with empty Content-Type and nosniff]
+ expected: FAIL
+
+
+[nosniff.sub.any.worker.html]
+ prefs: [browser.opaqueResponseBlocking:true,
+ browser.opaqueResponseBlocking.filterFetchResponse:2]
+
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [ORB should block opaque text/plain with nosniff]
+ expected: FAIL
+
+ [ORB should block opaque-response-blocklisted MIME type with nosniff]
+ expected: FAIL
+
+ [ORB should block opaque response with empty Content-Type and nosniff]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/orb/tentative/script-js-unlabeled-gziped.sub.html.ini b/testing/web-platform/meta/fetch/orb/tentative/script-js-unlabeled-gziped.sub.html.ini
new file mode 100644
index 0000000000..de29ba55e7
--- /dev/null
+++ b/testing/web-platform/meta/fetch/orb/tentative/script-js-unlabeled-gziped.sub.html.ini
@@ -0,0 +1,3 @@
+[script-js-unlabeled-gziped.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/orb/tentative/script-unlabeled.sub.html.ini b/testing/web-platform/meta/fetch/orb/tentative/script-unlabeled.sub.html.ini
new file mode 100644
index 0000000000..9b534ba160
--- /dev/null
+++ b/testing/web-platform/meta/fetch/orb/tentative/script-unlabeled.sub.html.ini
@@ -0,0 +1,3 @@
+[script-unlabeled.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/orb/tentative/status.sub.any.js.ini b/testing/web-platform/meta/fetch/orb/tentative/status.sub.any.js.ini
new file mode 100644
index 0000000000..60b0794d77
--- /dev/null
+++ b/testing/web-platform/meta/fetch/orb/tentative/status.sub.any.js.ini
@@ -0,0 +1,24 @@
+[status.sub.any.html]
+ prefs: [browser.opaqueResponseBlocking:true,
+ browser.opaqueResponseBlocking.filterFetchResponse:2]
+
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [ORB should block opaque-response-blocklisted MIME type with status 206]
+ expected: FAIL
+
+ [ORB should block opaque response with non-ok status]
+ expected: FAIL
+
+
+[status.sub.any.worker.html]
+ prefs: [browser.opaqueResponseBlocking:true,
+ browser.opaqueResponseBlocking.filterFetchResponse:2]
+
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [ORB should block opaque-response-blocklisted MIME type with status 206]
+ expected: FAIL
+
+ [ORB should block opaque response with non-ok status]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/orb/tentative/status.sub.html.ini b/testing/web-platform/meta/fetch/orb/tentative/status.sub.html.ini
new file mode 100644
index 0000000000..e5e9ca3387
--- /dev/null
+++ b/testing/web-platform/meta/fetch/orb/tentative/status.sub.html.ini
@@ -0,0 +1,3 @@
+[status.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/orb/tentative/unknown-mime-type.sub.any.js.ini b/testing/web-platform/meta/fetch/orb/tentative/unknown-mime-type.sub.any.js.ini
new file mode 100644
index 0000000000..e4818080cb
--- /dev/null
+++ b/testing/web-platform/meta/fetch/orb/tentative/unknown-mime-type.sub.any.js.ini
@@ -0,0 +1,7 @@
+[unknown-mime-type.sub.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+
+[unknown-mime-type.sub.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/origin/__dir__.ini b/testing/web-platform/meta/fetch/origin/__dir__.ini
new file mode 100644
index 0000000000..c3deeb9730
--- /dev/null
+++ b/testing/web-platform/meta/fetch/origin/__dir__.ini
@@ -0,0 +1 @@
+leak-threshold: [default:51200, gpu:51200]
diff --git a/testing/web-platform/meta/fetch/origin/assorted.window.js.ini b/testing/web-platform/meta/fetch/origin/assorted.window.js.ini
new file mode 100644
index 0000000000..919a2b628f
--- /dev/null
+++ b/testing/web-platform/meta/fetch/origin/assorted.window.js.ini
@@ -0,0 +1,174 @@
+[assorted.window.html]
+ expected:
+ if (os == "mac") and not debug: [OK, TIMEOUT]
+ [Origin header and 308 redirect]
+ expected:
+ if (os == "mac") and not debug: [PASS, TIMEOUT]
+
+ [Origin header and GET navigation]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [Origin header and POST navigation]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [Origin header and POST same-origin navigation with Referrer-Policy no-referrer]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [Origin header and POST same-origin fetch no-cors mode with Referrer-Policy no-referrer]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [Origin header and POST same-origin fetch cors mode with Referrer-Policy no-referrer]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [Origin header and GET same-origin fetch cors mode with Referrer-Policy no-referrer]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [Origin header and POST cross-origin navigation with Referrer-Policy no-referrer]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [Origin header and POST cross-origin fetch no-cors mode with Referrer-Policy no-referrer]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [Origin header and POST cross-origin fetch cors mode with Referrer-Policy no-referrer]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [Origin header and GET cross-origin fetch cors mode with Referrer-Policy no-referrer]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [Origin header and POST same-origin navigation with Referrer-Policy same-origin]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [Origin header and POST same-origin fetch no-cors mode with Referrer-Policy same-origin]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [Origin header and POST same-origin fetch cors mode with Referrer-Policy same-origin]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [Origin header and GET same-origin fetch cors mode with Referrer-Policy same-origin]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [Origin header and POST cross-origin navigation with Referrer-Policy same-origin]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [Origin header and POST cross-origin fetch no-cors mode with Referrer-Policy same-origin]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [Origin header and POST cross-origin fetch cors mode with Referrer-Policy same-origin]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [Origin header and GET cross-origin fetch cors mode with Referrer-Policy same-origin]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [Origin header and POST same-origin navigation with Referrer-Policy origin-when-cross-origin]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [Origin header and POST same-origin fetch no-cors mode with Referrer-Policy origin-when-cross-origin]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [Origin header and POST same-origin fetch cors mode with Referrer-Policy origin-when-cross-origin]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [Origin header and GET same-origin fetch cors mode with Referrer-Policy origin-when-cross-origin]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [Origin header and POST cross-origin navigation with Referrer-Policy origin-when-cross-origin]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN, TIMEOUT]
+
+ [Origin header and POST cross-origin fetch no-cors mode with Referrer-Policy origin-when-cross-origin]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [Origin header and POST cross-origin fetch cors mode with Referrer-Policy origin-when-cross-origin]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [Origin header and GET cross-origin fetch cors mode with Referrer-Policy origin-when-cross-origin]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [Origin header and POST same-origin navigation with Referrer-Policy no-referrer-when-downgrade]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [Origin header and POST same-origin fetch no-cors mode with Referrer-Policy no-referrer-when-downgrade]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [Origin header and POST same-origin fetch cors mode with Referrer-Policy no-referrer-when-downgrade]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [Origin header and GET same-origin fetch cors mode with Referrer-Policy no-referrer-when-downgrade]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [Origin header and POST cross-origin navigation with Referrer-Policy no-referrer-when-downgrade]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [Origin header and POST cross-origin fetch no-cors mode with Referrer-Policy no-referrer-when-downgrade]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [Origin header and POST cross-origin fetch cors mode with Referrer-Policy no-referrer-when-downgrade]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [Origin header and GET cross-origin fetch cors mode with Referrer-Policy no-referrer-when-downgrade]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [Origin header and POST same-origin navigation with Referrer-Policy unsafe-url]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [Origin header and POST same-origin fetch no-cors mode with Referrer-Policy unsafe-url]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [Origin header and POST same-origin fetch cors mode with Referrer-Policy unsafe-url]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [Origin header and GET same-origin fetch cors mode with Referrer-Policy unsafe-url]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [Origin header and POST cross-origin navigation with Referrer-Policy unsafe-url]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [Origin header and POST cross-origin fetch no-cors mode with Referrer-Policy unsafe-url]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [Origin header and POST cross-origin fetch cors mode with Referrer-Policy unsafe-url]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [Origin header and GET cross-origin fetch cors mode with Referrer-Policy unsafe-url]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
diff --git a/testing/web-platform/meta/fetch/private-network-access/__dir__.ini b/testing/web-platform/meta/fetch/private-network-access/__dir__.ini
new file mode 100644
index 0000000000..48271d9115
--- /dev/null
+++ b/testing/web-platform/meta/fetch/private-network-access/__dir__.ini
@@ -0,0 +1,2 @@
+disabled: true
+lsan-allowed: [Alloc, MakeUnique, Malloc, Realloc, XPCNativeInterface::NewInstance, XPCNativeSet::NewInstance, XPCNativeSet::NewInstanceMutate, XPCWrappedNative::GetNewOrUsed, XPCWrappedNativeProto::GetNewOrUsed, mozilla::extensions::MatchPatternCore::MatchPatternCore, mozilla::extensions::MatchPatternSet::Constructor, mozilla::extensions::MatchPatternSet::GetPatterns]
diff --git a/testing/web-platform/meta/fetch/range/__dir__.ini b/testing/web-platform/meta/fetch/range/__dir__.ini
new file mode 100644
index 0000000000..5d5117cb7e
--- /dev/null
+++ b/testing/web-platform/meta/fetch/range/__dir__.ini
@@ -0,0 +1 @@
+leak-threshold: [default:51200, rdd:51200, tab:358400]
diff --git a/testing/web-platform/meta/fetch/range/blob.any.js.ini b/testing/web-platform/meta/fetch/range/blob.any.js.ini
new file mode 100644
index 0000000000..64ef26cc79
--- /dev/null
+++ b/testing/web-platform/meta/fetch/range/blob.any.js.ini
@@ -0,0 +1,158 @@
+[blob.any.worker.html]
+ [A simple blob range request.]
+ expected: FAIL
+
+ [A blob range request with no end.]
+ expected: FAIL
+
+ [A blob range request with no start.]
+ expected: FAIL
+
+ [A simple blob range request with whitespace.]
+ expected: FAIL
+
+ [Blob content with short content and a large range end]
+ expected: FAIL
+
+ [Blob range request with multiple range values]
+ expected: FAIL
+
+ [Blob range request with multiple range values and whitespace]
+ expected: FAIL
+
+ [Blob range request with trailing comma]
+ expected: FAIL
+
+ [Blob range with no start or end]
+ expected: FAIL
+
+ [Blob range request with short range end]
+ expected: FAIL
+
+ [Blob range start should be an ASCII digit]
+ expected: FAIL
+
+ [Blob range should have a dash]
+ expected: FAIL
+
+ [Blob range end should be an ASCII digit]
+ expected: FAIL
+
+ [Blob range should include '-']
+ expected: FAIL
+
+ [Blob range should include '=']
+ expected: FAIL
+
+ [Blob range should include 'bytes=']
+ expected: FAIL
+
+ [Blob content with short content and a large range start]
+ expected: FAIL
+
+ [Blob content with short content and a range end matching content length]
+ expected: FAIL
+
+ [Blob range with whitespace before and after hyphen]
+ expected: FAIL
+
+ [Blob range with whitespace after hyphen]
+ expected: FAIL
+
+ [Blob range with whitespace around equals sign]
+ expected: FAIL
+
+ [Blob range with no value]
+ expected: FAIL
+
+ [Blob range with incorrect range header]
+ expected: FAIL
+
+ [Blob range with incorrect range header #2]
+ expected: FAIL
+
+ [Blob range with incorrect range header #3]
+ expected: FAIL
+
+ [Blob content with short content and a range start matching the content length]
+ expected: FAIL
+
+
+[blob.any.html]
+ [A simple blob range request.]
+ expected: FAIL
+
+ [A blob range request with no end.]
+ expected: FAIL
+
+ [A blob range request with no start.]
+ expected: FAIL
+
+ [A simple blob range request with whitespace.]
+ expected: FAIL
+
+ [Blob content with short content and a large range end]
+ expected: FAIL
+
+ [Blob range request with multiple range values]
+ expected: FAIL
+
+ [Blob range request with multiple range values and whitespace]
+ expected: FAIL
+
+ [Blob range request with trailing comma]
+ expected: FAIL
+
+ [Blob range with no start or end]
+ expected: FAIL
+
+ [Blob range request with short range end]
+ expected: FAIL
+
+ [Blob range start should be an ASCII digit]
+ expected: FAIL
+
+ [Blob range should have a dash]
+ expected: FAIL
+
+ [Blob range end should be an ASCII digit]
+ expected: FAIL
+
+ [Blob range should include '-']
+ expected: FAIL
+
+ [Blob range should include '=']
+ expected: FAIL
+
+ [Blob range should include 'bytes=']
+ expected: FAIL
+
+ [Blob content with short content and a large range start]
+ expected: FAIL
+
+ [Blob content with short content and a range end matching content length]
+ expected: FAIL
+
+ [Blob range with whitespace before and after hyphen]
+ expected: FAIL
+
+ [Blob range with whitespace after hyphen]
+ expected: FAIL
+
+ [Blob range with whitespace around equals sign]
+ expected: FAIL
+
+ [Blob range with no value]
+ expected: FAIL
+
+ [Blob range with incorrect range header]
+ expected: FAIL
+
+ [Blob range with incorrect range header #2]
+ expected: FAIL
+
+ [Blob range with incorrect range header #3]
+ expected: FAIL
+
+ [Blob content with short content and a range start matching the content length]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/range/general.any.js.ini b/testing/web-platform/meta/fetch/range/general.any.js.ini
new file mode 100644
index 0000000000..365411025d
--- /dev/null
+++ b/testing/web-platform/meta/fetch/range/general.any.js.ini
@@ -0,0 +1,26 @@
+[general.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Cross Origin Fetch with safe range header]
+ expected: FAIL
+
+
+[general.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Cross Origin Fetch with safe range header]
+ expected: FAIL
+
+
+[general.any.sharedworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Cross Origin Fetch with safe range header]
+ expected: FAIL
+
+
+[general.any.serviceworker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Cross Origin Fetch with safe range header]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/range/general.window.js.ini b/testing/web-platform/meta/fetch/range/general.window.js.ini
new file mode 100644
index 0000000000..6d8706cdeb
--- /dev/null
+++ b/testing/web-platform/meta/fetch/range/general.window.js.ini
@@ -0,0 +1,3 @@
+[general.window.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/range/non-matching-range-response.html.ini b/testing/web-platform/meta/fetch/range/non-matching-range-response.html.ini
new file mode 100644
index 0000000000..ac2139a698
--- /dev/null
+++ b/testing/web-platform/meta/fetch/range/non-matching-range-response.html.ini
@@ -0,0 +1,3 @@
+[non-matching-range-response.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/range/sw.https.window.js.ini b/testing/web-platform/meta/fetch/range/sw.https.window.js.ini
new file mode 100644
index 0000000000..8b81b73f7e
--- /dev/null
+++ b/testing/web-platform/meta/fetch/range/sw.https.window.js.ini
@@ -0,0 +1,41 @@
+[sw.https.window.html]
+ prefs: [browser.opaqueResponseBlocking:true]
+ disabled:
+ if asan and (os == "linux") and (bits == 64): https://bugzilla.mozilla.org/show_bug.cgi?id=1509373
+ if win10_2004 and debug: https://bugzilla.mozilla.org/show_bug.cgi?id=1746958
+ max-asserts: 2
+ expected: TIMEOUT
+ [Ranged response not allowed following no-cors ranged request]
+ expected:
+ if os == "android": FAIL
+ if os == "win": FAIL
+ [FAIL, PASS]
+
+ [Non-opaque ranged response executed]
+ expected:
+ if processor == "x86": [FAIL, TIMEOUT]
+ FAIL
+
+ [Accept-Encoding should not appear in a service worker]
+ expected:
+ if processor == "x86": [PASS, NOTRUN]
+
+ [Defer range header filter tests to service worker]
+ expected: TIMEOUT
+
+ [Defer range header passthrough tests to service worker]
+ expected: NOTRUN
+
+ [Ranged response not allowed following no-cors ranged request]
+ expected: NOTRUN
+
+ [Non-opaque ranged response executed]
+ expected: NOTRUN
+
+ [Accept-Encoding should not appear in a service worker]
+ expected: NOTRUN
+
+ [Opaque range preload successes and failures should be indistinguishable]
+ expected:
+ if win11_2009: NOTRUN
+ [NOTRUN, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/redirect-navigate/preserve-fragment.html.ini b/testing/web-platform/meta/fetch/redirect-navigate/preserve-fragment.html.ini
new file mode 100644
index 0000000000..dc5ae587d7
--- /dev/null
+++ b/testing/web-platform/meta/fetch/redirect-navigate/preserve-fragment.html.ini
@@ -0,0 +1,481 @@
+[preserve-fragment.html]
+ [[HTTP - CrossOrigin\] Preserve intermediate fragment in multiple 302 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - SameOrigin\] Preserve intermediate fragment in multiple 308 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - SameOrigin\] Preserve intermediate fragment in multiple 307 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - CrossOrigin\] Destination URL fragment takes precedence in multiple 308 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - CrossOrigin\] Preserve intermediate fragment in multiple 301 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - CrossOrigin\] Preserve fragment in multiple 301 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - CrossOrigin\] Preserve fragment in multiple 302 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - SameOrigin\] Redirect URL fragment takes precedence in 301 redirect]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - SameOrigin\] Preserve fragment in 308 redirect]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - CrossOrigin\] Redirect URL fragment takes precedence in 301 redirect]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - SameOrigin\] Redirect URL fragment takes precedence in 308 redirect]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - CrossOrigin\] Redirect URL fragment takes precedence in 302 redirect]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - SameOrigin\] Preserve fragment in multiple 308 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - CrossOrigin\] Preserve fragment in multiple 307 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - SameOrigin\] Preserve intermediate fragment in multiple 302 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - CrossOrigin\] Preserve fragment in multiple 302 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - CrossOrigin\] Final redirect fragment takes precedence over intermediate in multiple 301 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - SameOrigin\] Preserve fragment in 302 redirect]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - CrossOrigin\] Preserve intermediate fragment in multiple 303 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - SameOrigin\] Redirect URL fragment takes precedence in 308 redirect]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - CrossOrigin\] Preserve fragment in multiple 303 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - SameOrigin\] Preserve fragment in 302 redirect]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - SameOrigin\] Destination URL fragment takes precedence in multiple 301 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - CrossOrigin\] Preserve intermediate fragment in multiple 308 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - CrossOrigin\] Redirect URL fragment takes precedence in 307 redirect]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - CrossOrigin\] Preserve intermediate fragment in multiple 307 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - CrossOrigin\] Preserve intermediate fragment in multiple 301 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - CrossOrigin\] Preserve fragment in 303 redirect]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - SameOrigin\] Destination URL fragment takes precedence in multiple 303 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - SameOrigin\] Preserve fragment in multiple 303 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - SameOrigin\] Preserve fragment in 307 redirect]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - SameOrigin\] Redirect URL fragment takes precedence in 303 redirect]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - CrossOrigin\] Destination URL fragment takes precedence in multiple 302 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - SameOrigin\] Preserve intermediate fragment in multiple 307 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - CrossOrigin\] Destination URL fragment takes precedence in multiple 307 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - SameOrigin\] Preserve fragment in 303 redirect]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - SameOrigin\] Final redirect fragment takes precedence over intermediate in multiple 307 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - CrossOrigin\] Preserve fragment in 301 redirect]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - CrossOrigin\] Preserve fragment in multiple 308 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - SameOrigin\] Destination URL fragment takes precedence in multiple 301 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - SameOrigin\] Redirect URL fragment takes precedence in 302 redirect]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - SameOrigin\] Final redirect fragment takes precedence over intermediate in multiple 302 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - SameOrigin\] Final redirect fragment takes precedence over intermediate in multiple 303 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - CrossOrigin\] Destination URL fragment takes precedence in multiple 302 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - SameOrigin\] Preserve fragment in 303 redirect]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - SameOrigin\] Final redirect fragment takes precedence over intermediate in multiple 308 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - SameOrigin\] Preserve intermediate fragment in multiple 301 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - SameOrigin\] Preserve fragment in 301 redirect]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - SameOrigin\] Preserve fragment in multiple 302 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - CrossOrigin\] Final redirect fragment takes precedence over intermediate in multiple 307 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - CrossOrigin\] Preserve fragment in 303 redirect]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - CrossOrigin\] Final redirect fragment takes precedence over intermediate in multiple 301 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - SameOrigin\] Preserve fragment in multiple 302 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - CrossOrigin\] Final redirect fragment takes precedence over intermediate in multiple 308 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - SameOrigin\] Redirect URL fragment takes precedence in 307 redirect]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - CrossOrigin\] Destination URL fragment takes precedence in multiple 303 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - SameOrigin\] Preserve fragment in multiple 301 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - CrossOrigin\] Final redirect fragment takes precedence over intermediate in multiple 302 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - SameOrigin\] Redirect URL fragment takes precedence in 302 redirect]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - CrossOrigin\] Redirect URL fragment takes precedence in 303 redirect]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - SameOrigin\] Destination URL fragment takes precedence in multiple 307 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - CrossOrigin\] Preserve intermediate fragment in multiple 302 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - SameOrigin\] Final redirect fragment takes precedence over intermediate in multiple 308 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - SameOrigin\] Final redirect fragment takes precedence over intermediate in multiple 307 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - CrossOrigin\] Preserve fragment in 307 redirect]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - CrossOrigin\] Final redirect fragment takes precedence over intermediate in multiple 303 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - SameOrigin\] Preserve intermediate fragment in multiple 308 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - CrossOrigin\] Preserve fragment in 307 redirect]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - CrossOrigin\] Preserve intermediate fragment in multiple 307 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - SameOrigin\] Destination URL fragment takes precedence in multiple 308 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - CrossOrigin\] Preserve fragment in multiple 303 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - SameOrigin\] Preserve fragment in multiple 308 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - CrossOrigin\] Preserve fragment in 302 redirect]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - SameOrigin\] Destination URL fragment takes precedence in multiple 302 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - SameOrigin\] Redirect URL fragment takes precedence in 303 redirect]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - SameOrigin\] Final redirect fragment takes precedence over intermediate in multiple 301 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - SameOrigin\] Preserve fragment in multiple 307 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - CrossOrigin\] Redirect URL fragment takes precedence in 307 redirect]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - SameOrigin\] Final redirect fragment takes precedence over intermediate in multiple 303 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - SameOrigin\] Preserve intermediate fragment in multiple 303 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - SameOrigin\] Redirect URL fragment takes precedence in 301 redirect]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - SameOrigin\] Preserve intermediate fragment in multiple 301 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - CrossOrigin\] Final redirect fragment takes precedence over intermediate in multiple 307 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - CrossOrigin\] Preserve fragment in multiple 307 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - CrossOrigin\] Preserve fragment in 308 redirect]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - SameOrigin\] Redirect URL fragment takes precedence in 307 redirect]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - SameOrigin\] Destination URL fragment takes precedence in multiple 307 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - SameOrigin\] Preserve fragment in multiple 303 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - SameOrigin\] Destination URL fragment takes precedence in multiple 303 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - CrossOrigin\] Preserve fragment in multiple 301 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - CrossOrigin\] Preserve fragment in multiple 308 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - SameOrigin\] Preserve fragment in 308 redirect]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - SameOrigin\] Final redirect fragment takes precedence over intermediate in multiple 301 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - CrossOrigin\] Redirect URL fragment takes precedence in 303 redirect]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - CrossOrigin\] Destination URL fragment takes precedence in multiple 308 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - SameOrigin\] Preserve fragment in 307 redirect]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - CrossOrigin\] Redirect URL fragment takes precedence in 308 redirect]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - CrossOrigin\] Preserve intermediate fragment in multiple 308 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - CrossOrigin\] Destination URL fragment takes precedence in multiple 301 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - CrossOrigin\] Destination URL fragment takes precedence in multiple 301 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - CrossOrigin\] Redirect URL fragment takes precedence in 308 redirect]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - CrossOrigin\] Preserve fragment in 302 redirect]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - CrossOrigin\] Preserve fragment in 308 redirect]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - SameOrigin\] Preserve fragment in multiple 301 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - SameOrigin\] Destination URL fragment takes precedence in multiple 302 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - CrossOrigin\] Final redirect fragment takes precedence over intermediate in multiple 308 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - CrossOrigin\] Preserve fragment in 301 redirect]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - CrossOrigin\] Destination URL fragment takes precedence in multiple 303 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - SameOrigin\] Preserve fragment in 301 redirect]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - CrossOrigin\] Redirect URL fragment takes precedence in 302 redirect]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - CrossOrigin\] Redirect URL fragment takes precedence in 301 redirect]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - CrossOrigin\] Final redirect fragment takes precedence over intermediate in multiple 302 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - SameOrigin\] Preserve intermediate fragment in multiple 302 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - SameOrigin\] Destination URL fragment takes precedence in multiple 308 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - SameOrigin\] Preserve fragment in multiple 307 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - SameOrigin\] Preserve intermediate fragment in multiple 303 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - SameOrigin\] Final redirect fragment takes precedence over intermediate in multiple 302 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - CrossOrigin\] Destination URL fragment takes precedence in multiple 307 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTP - CrossOrigin\] Preserve intermediate fragment in multiple 303 redirects]
+ expected:
+ if os == "android": FAIL
+
+ [[HTTPS - CrossOrigin\] Final redirect fragment takes precedence over intermediate in multiple 303 redirects]
+ expected:
+ if os == "android": FAIL
+
diff --git a/testing/web-platform/meta/fetch/sec-metadata/redirect/__dir__.ini b/testing/web-platform/meta/fetch/sec-metadata/redirect/__dir__.ini
new file mode 100644
index 0000000000..6662df6b39
--- /dev/null
+++ b/testing/web-platform/meta/fetch/sec-metadata/redirect/__dir__.ini
@@ -0,0 +1,2 @@
+leak-threshold: [tab:51200]
+lsan-disabled: true
diff --git a/testing/web-platform/meta/fetch/security/dangling-markup-mitigation-data-url.tentative.sub.html.ini b/testing/web-platform/meta/fetch/security/dangling-markup-mitigation-data-url.tentative.sub.html.ini
new file mode 100644
index 0000000000..dc11141ac4
--- /dev/null
+++ b/testing/web-platform/meta/fetch/security/dangling-markup-mitigation-data-url.tentative.sub.html.ini
@@ -0,0 +1,19 @@
+[dangling-markup-mitigation-data-url.tentative.sub.html]
+ [<iframe id="dangling"\\n src="data:text/html,\\n <img\\n onload='window.parent.postMessage(&quot;loaded&quot;, &quot;*&quot;);'\\n onerror='window.parent.postMessage(&quot;error&quot;, &quot;*&quot;);'\\n src='http://web-platform.test:8000/images/gr&#10;een-256x256.png?&lt;'>\\n ">\\n </iframe>]
+ expected: FAIL
+
+ [<iframe id="dangling"\\n src=" data:text/html,\\n <img\\n onload='window.parent.postMessage(&quot;loaded&quot;, &quot;*&quot;);'\\n onerror='window.parent.postMessage(&quot;error&quot;, &quot;*&quot;);'\\n src='http://web-platform.test:8000/images/gr&#10;een-256x256.png?&lt;'>\\n ">\\n </iframe>]
+ expected: FAIL
+
+ [<iframe id="dangling"\\n src="\\ndata:text/html,\\n <img\\n onload='window.parent.postMessage(&quot;loaded&quot;, &quot;*&quot;);'\\n onerror='window.parent.postMessage(&quot;error&quot;, &quot;*&quot;);'\\n src='http://web-platform.test:8000/images/gr&#10;een-256x256.png?&lt;'>\\n ">\\n </iframe>]
+ expected: FAIL
+
+ [<iframe id="dangling"\\n src="&#10;data:text/html,\\n <img\\n onload='window.parent.postMessage(&quot;loaded&quot;, &quot;*&quot;);'\\n onerror='window.parent.postMessage(&quot;error&quot;, &quot;*&quot;);'\\n src='http://web-platform.test:8000/images/gr&#10;een-256x256.png?&lt;'>\\n ">\\n </iframe>]
+ expected: FAIL
+
+ [<iframe id="dangling"\\n src="\\tdata:text/html,\\n <img\\n onload='window.parent.postMessage(&quot;loaded&quot;, &quot;*&quot;);'\\n onerror='window.parent.postMessage(&quot;error&quot;, &quot;*&quot;);'\\n src='http://web-platform.test:8000/images/gr&#10;een-256x256.png?&lt;'>\\n ">\\n </iframe>]
+ expected: FAIL
+
+ [<iframe id="dangling"\\n src="\\rdata:text/html,\\n <img\\n onload='window.parent.postMessage(&quot;loaded&quot;, &quot;*&quot;);'\\n onerror='window.parent.postMessage(&quot;error&quot;, &quot;*&quot;);'\\n src='http://web-platform.test:8000/images/gr&#10;een-256x256.png?&lt;'>\\n ">\\n </iframe>]
+ expected: FAIL
+
diff --git a/testing/web-platform/meta/fetch/security/dangling-markup-mitigation.tentative.html.ini b/testing/web-platform/meta/fetch/security/dangling-markup-mitigation.tentative.html.ini
new file mode 100644
index 0000000000..d187b884a4
--- /dev/null
+++ b/testing/web-platform/meta/fetch/security/dangling-markup-mitigation.tentative.html.ini
@@ -0,0 +1,29 @@
+[dangling-markup-mitigation.tentative.html]
+ expected:
+ if (os == "android") and fission: [TIMEOUT, OK]
+ [Fetch: /images/gre\\nen-1x1.png?img=<]
+ expected: FAIL
+
+ [Fetch: /images/gre\\ren-1x1.png?img=<]
+ expected: FAIL
+
+ [Fetch: /images/gre\\ten-1x1.png?img=<]
+ expected: FAIL
+
+ [Fetch: /images/green-1x1.png?<\\n=block]
+ expected: FAIL
+
+ [Fetch: /images/green-1x1.png?<\\r=block]
+ expected: FAIL
+
+ [Fetch: /images/green-1x1.png?<\\t=block]
+ expected: FAIL
+
+ [<img id="dangling" src="/images/green-1x1.png?img=&#10;&lt;b">]
+ expected: FAIL
+
+ [<img id="dangling" src="/images/green-1x1.png?img=&lt;&#10;b">]
+ expected: FAIL
+
+ [\\n <img id="dangling" src="/images/green-1x1.png?img=\\n &lt;\\n &#10;b\\n ">\\n ]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/security/embedded-credentials.tentative.sub.html.ini b/testing/web-platform/meta/fetch/security/embedded-credentials.tentative.sub.html.ini
new file mode 100644
index 0000000000..5aac034595
--- /dev/null
+++ b/testing/web-platform/meta/fetch/security/embedded-credentials.tentative.sub.html.ini
@@ -0,0 +1,14 @@
+[embedded-credentials.tentative.sub.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Embedded credentials are treated as network errors in frames.]
+ expected: FAIL
+
+ [Embedded credentials are treated as network errors in new windows.]
+ expected: FAIL
+
+ [Embedded credentials matching the top-level are treated as network errors for cross-origin URLs.]
+ expected: FAIL
+
+ [Embedded credentials are treated as network errors.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/security/redirect-to-url-with-credentials.https.html.ini b/testing/web-platform/meta/fetch/security/redirect-to-url-with-credentials.https.html.ini
new file mode 100644
index 0000000000..3c0d97a69b
--- /dev/null
+++ b/testing/web-platform/meta/fetch/security/redirect-to-url-with-credentials.https.html.ini
@@ -0,0 +1,3 @@
+[redirect-to-url-with-credentials.https.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/stale-while-revalidate/__dir__.ini b/testing/web-platform/meta/fetch/stale-while-revalidate/__dir__.ini
new file mode 100644
index 0000000000..af3fba20e4
--- /dev/null
+++ b/testing/web-platform/meta/fetch/stale-while-revalidate/__dir__.ini
@@ -0,0 +1 @@
+lsan-allowed: [Alloc, Create, Malloc, Then, mozilla::BasePrincipal::CreateContentPrincipal, mozilla::dom::DocGroup::Create, mozilla::dom::ServiceWorkerJobQueue::RunJob, mozilla::dom::ServiceWorkerManager::Unregister, mozilla::dom::ServiceWorkerRegistrationMainThread::Unregister, mozilla::dom::UnregisterCallback::UnregisterCallback, mozilla::net::nsStandardURL::TemplatedMutator, operator]
diff --git a/testing/web-platform/meta/fetch/stale-while-revalidate/fetch-sw.https.html.ini b/testing/web-platform/meta/fetch/stale-while-revalidate/fetch-sw.https.html.ini
new file mode 100644
index 0000000000..6f7751b08f
--- /dev/null
+++ b/testing/web-platform/meta/fetch/stale-while-revalidate/fetch-sw.https.html.ini
@@ -0,0 +1,10 @@
+[fetch-sw.https.html]
+ expected:
+ if (os == "win") and debug and (processor == "x86"): [OK, TIMEOUT, CRASH]
+ if (os == "win") and not debug and (processor == "x86"): [OK, TIMEOUT]
+ if (os == "win") and not debug and (processor == "x86_64"): [OK, TIMEOUT]
+ [Second fetch returns same response]
+ expected:
+ if (os == "win") and not swgl and not debug and (processor == "x86_64"): [PASS, TIMEOUT]
+ if (os == "win") and not swgl and not debug and (processor == "x86"): [PASS, TIMEOUT]
+ if (os == "win") and not swgl and debug: [PASS, TIMEOUT]
diff --git a/testing/web-platform/meta/fetch/stale-while-revalidate/fetch.any.js.ini b/testing/web-platform/meta/fetch/stale-while-revalidate/fetch.any.js.ini
new file mode 100644
index 0000000000..937c2e8d2f
--- /dev/null
+++ b/testing/web-platform/meta/fetch/stale-while-revalidate/fetch.any.js.ini
@@ -0,0 +1,19 @@
+[fetch.any.html]
+ expected:
+ if (os == "android") and debug and not swgl: [OK, TIMEOUT]
+ [Second fetch returns same response]
+ expected:
+ if (os == "android") and debug and not swgl: [PASS, TIMEOUT]
+
+
+[fetch.any.worker.html]
+
+[fetch.any.serviceworker.html]
+ expected:
+ if (processor == "x86") and (os == "win") and not debug: [OK, TIMEOUT]
+ [Second fetch returns same response]
+ expected:
+ if (processor == "x86") and (os == "win") and not debug: [PASS, TIMEOUT]
+
+
+[fetch.any.sharedworker.html]
diff --git a/testing/web-platform/meta/fetch/stale-while-revalidate/stale-css.html.ini b/testing/web-platform/meta/fetch/stale-while-revalidate/stale-css.html.ini
new file mode 100644
index 0000000000..8be258aa11
--- /dev/null
+++ b/testing/web-platform/meta/fetch/stale-while-revalidate/stale-css.html.ini
@@ -0,0 +1,5 @@
+[stale-css.html]
+ expected: TIMEOUT
+ [Cache returns stale resource]
+ expected: TIMEOUT
+
diff --git a/testing/web-platform/meta/fetch/stale-while-revalidate/stale-image.html.ini b/testing/web-platform/meta/fetch/stale-while-revalidate/stale-image.html.ini
new file mode 100644
index 0000000000..286cee5dbb
--- /dev/null
+++ b/testing/web-platform/meta/fetch/stale-while-revalidate/stale-image.html.ini
@@ -0,0 +1,5 @@
+[stale-image.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Cache returns stale resource]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fetch/stale-while-revalidate/stale-script.html.ini b/testing/web-platform/meta/fetch/stale-while-revalidate/stale-script.html.ini
new file mode 100644
index 0000000000..5627246cdd
--- /dev/null
+++ b/testing/web-platform/meta/fetch/stale-while-revalidate/stale-script.html.ini
@@ -0,0 +1,3 @@
+[stale-script.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]