Test files without 2 passes: 209; Subtests without 2 passes: 2305; Failure level: 2305/2305 (100.00%)
| Test | FF64 |
|---|---|
| /fetch/api/basic/stream-safe-creation.any.html (63/63, 100.00%, 2.73% of total) | OK |
| Object.prototype.highWaterMark accessor returning invalid value should not affect stream creation by 'consumeEmptyRequest' | PASS |
| Object.prototype.highWaterMark accessor returning invalid value should not affect stream creation by 'consumeEmptyResponse' | PASS |
| Object.prototype.highWaterMark accessor returning invalid value should not affect stream creation by 'consumeNonEmptyRequest' | PASS |
| Object.prototype.highWaterMark accessor returning invalid value should not affect stream creation by 'consumeNonEmptyResponse' | PASS |
| Object.prototype.highWaterMark accessor returning invalid value should not affect stream creation by 'fetch' | PASS |
| Object.prototype.highWaterMark accessor returning invalid value should not affect stream creation by 'request' | PASS |
| Object.prototype.highWaterMark accessor returning invalid value should not affect stream creation by 'response' | PASS |
| Object.prototype.size accessor returning invalid value should not affect stream creation by 'consumeEmptyRequest' | PASS |
| Object.prototype.size accessor returning invalid value should not affect stream creation by 'consumeEmptyResponse' | PASS |
| Object.prototype.size accessor returning invalid value should not affect stream creation by 'consumeNonEmptyRequest' | PASS |
| Object.prototype.size accessor returning invalid value should not affect stream creation by 'consumeNonEmptyResponse' | PASS |
| Object.prototype.size accessor returning invalid value should not affect stream creation by 'fetch' | PASS |
| Object.prototype.size accessor returning invalid value should not affect stream creation by 'request' | PASS |
| Object.prototype.size accessor returning invalid value should not affect stream creation by 'response' | PASS |
| Object.prototype.start accessor returning invalid value should not affect stream creation by 'consumeEmptyRequest' | PASS |
| Object.prototype.start accessor returning invalid value should not affect stream creation by 'consumeEmptyResponse' | PASS |
| Object.prototype.start accessor returning invalid value should not affect stream creation by 'consumeNonEmptyRequest' | PASS |
| Object.prototype.start accessor returning invalid value should not affect stream creation by 'consumeNonEmptyResponse' | PASS |
| Object.prototype.start accessor returning invalid value should not affect stream creation by 'fetch' | PASS |
| Object.prototype.start accessor returning invalid value should not affect stream creation by 'request' | PASS |
| Object.prototype.start accessor returning invalid value should not affect stream creation by 'response' | PASS |
| Object.prototype.start function which errors the stream should not affect stream creation by 'consumeEmptyRequest' | PASS |
| Object.prototype.start function which errors the stream should not affect stream creation by 'consumeEmptyResponse' | PASS |
| Object.prototype.start function which errors the stream should not affect stream creation by 'consumeNonEmptyRequest' | PASS |
| Object.prototype.start function which errors the stream should not affect stream creation by 'consumeNonEmptyResponse' | PASS |
| Object.prototype.start function which errors the stream should not affect stream creation by 'fetch' | PASS |
| Object.prototype.start function which errors the stream should not affect stream creation by 'request' | PASS |
| Object.prototype.start function which errors the stream should not affect stream creation by 'response' | PASS |
| Object.prototype.type accessor returning invalid value should not affect stream creation by 'consumeEmptyRequest' | PASS |
| Object.prototype.type accessor returning invalid value should not affect stream creation by 'consumeEmptyResponse' | PASS |
| Object.prototype.type accessor returning invalid value should not affect stream creation by 'consumeNonEmptyRequest' | PASS |
| Object.prototype.type accessor returning invalid value should not affect stream creation by 'consumeNonEmptyResponse' | PASS |
| Object.prototype.type accessor returning invalid value should not affect stream creation by 'fetch' | PASS |
| Object.prototype.type accessor returning invalid value should not affect stream creation by 'request' | PASS |
| Object.prototype.type accessor returning invalid value should not affect stream creation by 'response' | PASS |
| throwing Object.prototype.highWaterMark accessor should not affect stream creation by 'consumeEmptyRequest' | PASS |
| throwing Object.prototype.highWaterMark accessor should not affect stream creation by 'consumeEmptyResponse' | PASS |
| throwing Object.prototype.highWaterMark accessor should not affect stream creation by 'consumeNonEmptyRequest' | PASS |
| throwing Object.prototype.highWaterMark accessor should not affect stream creation by 'consumeNonEmptyResponse' | PASS |
| throwing Object.prototype.highWaterMark accessor should not affect stream creation by 'fetch' | PASS |
| throwing Object.prototype.highWaterMark accessor should not affect stream creation by 'request' | PASS |
| throwing Object.prototype.highWaterMark accessor should not affect stream creation by 'response' | PASS |
| throwing Object.prototype.size accessor should not affect stream creation by 'consumeEmptyRequest' | PASS |
| throwing Object.prototype.size accessor should not affect stream creation by 'consumeEmptyResponse' | PASS |
| throwing Object.prototype.size accessor should not affect stream creation by 'consumeNonEmptyRequest' | PASS |
| throwing Object.prototype.size accessor should not affect stream creation by 'consumeNonEmptyResponse' | PASS |
| throwing Object.prototype.size accessor should not affect stream creation by 'fetch' | PASS |
| throwing Object.prototype.size accessor should not affect stream creation by 'request' | PASS |
| throwing Object.prototype.size accessor should not affect stream creation by 'response' | PASS |
| throwing Object.prototype.start accessor should not affect stream creation by 'consumeEmptyRequest' | PASS |
| throwing Object.prototype.start accessor should not affect stream creation by 'consumeEmptyResponse' | PASS |
| throwing Object.prototype.start accessor should not affect stream creation by 'consumeNonEmptyRequest' | PASS |
| throwing Object.prototype.start accessor should not affect stream creation by 'consumeNonEmptyResponse' | PASS |
| throwing Object.prototype.start accessor should not affect stream creation by 'fetch' | PASS |
| throwing Object.prototype.start accessor should not affect stream creation by 'request' | PASS |
| throwing Object.prototype.start accessor should not affect stream creation by 'response' | PASS |
| throwing Object.prototype.type accessor should not affect stream creation by 'consumeEmptyRequest' | PASS |
| throwing Object.prototype.type accessor should not affect stream creation by 'consumeEmptyResponse' | PASS |
| throwing Object.prototype.type accessor should not affect stream creation by 'consumeNonEmptyRequest' | PASS |
| throwing Object.prototype.type accessor should not affect stream creation by 'consumeNonEmptyResponse' | PASS |
| throwing Object.prototype.type accessor should not affect stream creation by 'fetch' | PASS |
| throwing Object.prototype.type accessor should not affect stream creation by 'request' | PASS |
| throwing Object.prototype.type accessor should not affect stream creation by 'response' | PASS |
| /fetch/api/request/request-cache-only-if-cached.html (14/14, 100.00%, 0.61% of total) | TIMEOUT |
| RequestCache "only-if-cached" (with "same-origin") does not follow redirects across origins and rejects with Etag and fresh response | PASS |
| RequestCache "only-if-cached" (with "same-origin") does not follow redirects across origins and rejects with Etag and stale response | TIMEOUT |
| RequestCache "only-if-cached" (with "same-origin") does not follow redirects across origins and rejects with Last-Modified and fresh response | PASS |
| RequestCache "only-if-cached" (with "same-origin") does not follow redirects across origins and rejects with Last-Modified and stale response | NOTRUN |
| RequestCache "only-if-cached" (with "same-origin") uses cached same-origin redirects to same-origin content with Etag and fresh response | PASS |
| RequestCache "only-if-cached" (with "same-origin") uses cached same-origin redirects to same-origin content with Etag and stale response | PASS |
| RequestCache "only-if-cached" (with "same-origin") uses cached same-origin redirects to same-origin content with Last-Modified and fresh response | PASS |
| RequestCache "only-if-cached" (with "same-origin") uses cached same-origin redirects to same-origin content with Last-Modified and stale response | PASS |
| RequestCache "only-if-cached" mode checks the cache for previously cached content and avoids revalidation for fresh responses with Etag and fresh response | PASS |
| RequestCache "only-if-cached" mode checks the cache for previously cached content and avoids revalidation for fresh responses with Last-Modified and fresh response | PASS |
| RequestCache "only-if-cached" mode checks the cache for previously cached content and avoids revalidation for stale responses with Etag and stale response | PASS |
| RequestCache "only-if-cached" mode checks the cache for previously cached content and avoids revalidation for stale responses with Last-Modified and stale response | PASS |
| RequestCache "only-if-cached" mode checks the cache for previously cached content and does not go to the network if a cached response is not found with Etag and fresh response | PASS |
| RequestCache "only-if-cached" mode checks the cache for previously cached content and does not go to the network if a cached response is not found with Last-Modified and fresh response | PASS |
| /fetch/api/basic/request-upload.any.html (17/17, 100.00%, 0.74% of total) | OK |
| Fetch with POST with ArrayBuffer body | PASS |
| Fetch with POST with Blob body | PASS |
| Fetch with POST with Blob body with mime type | PASS |
| Fetch with POST with DataView body | PASS |
| Fetch with POST with Float32Array body | PASS |
| Fetch with POST with Float64Array body | PASS |
| Fetch with POST with Int8Array body | PASS |
| Fetch with POST with ReadableStream | FAIL |
| Fetch with POST with ReadableStream containing ArrayBuffer | FAIL |
| Fetch with POST with ReadableStream containing Blob | FAIL |
| Fetch with POST with ReadableStream containing String | FAIL |
| Fetch with POST with ReadableStream containing null | FAIL |
| Fetch with POST with ReadableStream containing number | FAIL |
| Fetch with POST with URLSearchParams body | PASS |
| Fetch with POST with Uint8Array body | PASS |
| Fetch with POST with text body | PASS |
| Fetch with PUT with body | PASS |
| /fetch/api/basic/keepalive.html (1/1, 100.00%, 0.04% of total) | OK |
| Fetch API: keepalive handling | FAIL |
| /fetch/nosniff/importscripts.html (1/1, 100.00%, 0.04% of total) | OK |
| Test importScripts() | PASS |
| /fetch/api/policies/referrer-no-referrer.html (1/1, 100.00%, 0.04% of total) | OK |
| Request's referrer is empty | PASS |
| /fetch/sec-metadata/script.tentative.https.sub.html (3/3, 100.00%, 0.13% of total) | OK |
| Cross-site script | FAIL |
| Same-origin script | FAIL |
| Same-site script | FAIL |
| /fetch/api/headers/header-values-normalize.html (62/62, 100.00%, 2.69% of total) | OK |
| XMLHttpRequest with value %00 | PASS |
| XMLHttpRequest with value %01 | PASS |
| XMLHttpRequest with value %02 | PASS |
| XMLHttpRequest with value %03 | PASS |
| XMLHttpRequest with value %04 | PASS |
| XMLHttpRequest with value %05 | PASS |
| XMLHttpRequest with value %06 | PASS |
| XMLHttpRequest with value %07 | PASS |
| XMLHttpRequest with value %08 | PASS |
| XMLHttpRequest with value %09 | PASS |
| XMLHttpRequest with value %0A | PASS |
| XMLHttpRequest with value %0D | PASS |
| XMLHttpRequest with value %0E | PASS |
| XMLHttpRequest with value %0F | PASS |
| XMLHttpRequest with value %10 | PASS |
| XMLHttpRequest with value %11 | PASS |
| XMLHttpRequest with value %12 | PASS |
| XMLHttpRequest with value %13 | PASS |
| XMLHttpRequest with value %14 | PASS |
| XMLHttpRequest with value %15 | PASS |
| XMLHttpRequest with value %16 | PASS |
| XMLHttpRequest with value %17 | PASS |
| XMLHttpRequest with value %18 | PASS |
| XMLHttpRequest with value %19 | PASS |
| XMLHttpRequest with value %1A | PASS |
| XMLHttpRequest with value %1B | PASS |
| XMLHttpRequest with value %1C | PASS |
| XMLHttpRequest with value %1D | PASS |
| XMLHttpRequest with value %1E | PASS |
| XMLHttpRequest with value %1F | PASS |
| XMLHttpRequest with value %20 | PASS |
| fetch() with value %00 | PASS |
| fetch() with value %01 | PASS |
| fetch() with value %02 | PASS |
| fetch() with value %03 | PASS |
| fetch() with value %04 | PASS |
| fetch() with value %05 | PASS |
| fetch() with value %06 | PASS |
| fetch() with value %07 | PASS |
| fetch() with value %08 | PASS |
| fetch() with value %09 | PASS |
| fetch() with value %0A | PASS |
| fetch() with value %0D | PASS |
| fetch() with value %0E | PASS |
| fetch() with value %0F | PASS |
| fetch() with value %10 | PASS |
| fetch() with value %11 | PASS |
| fetch() with value %12 | PASS |
| fetch() with value %13 | PASS |
| fetch() with value %14 | PASS |
| fetch() with value %15 | PASS |
| fetch() with value %16 | PASS |
| fetch() with value %17 | PASS |
| fetch() with value %18 | PASS |
| fetch() with value %19 | PASS |
| fetch() with value %1A | PASS |
| fetch() with value %1B | PASS |
| fetch() with value %1C | PASS |
| fetch() with value %1D | PASS |
| fetch() with value %1E | PASS |
| fetch() with value %1F | PASS |
| fetch() with value %20 | PASS |
| /fetch/range/general.any.html (5/5, 100.00%, 0.22% of total) | OK |
| Fetch with range header will be sent with Accept-Encoding: identity | FAIL |
| Privileged header not allowed for guard type: request-no-cors | PASS |
| Range header setting allowed for guard type: none | PASS |
| Range header setting allowed for guard type: request | PASS |
| Range header setting allowed for guard type: response | PASS |
| /fetch/api/request/request-init-003.sub.html (4/4, 100.00%, 0.17% of total) | OK |
| Check request values when initialized from Request | PASS |
| Check request values when initialized from Request and init values | PASS |
| Check request values when initialized from url and init values | PASS |
| Check request values when initialized from url string | PASS |
| /fetch/security/dangling-markup-mitigation.tentative.html (31/31, 100.00%, 1.34% of total) | OK |
| <img id="dangling" src="/images/green-1x1.png?img= <b"> | FAIL |
| <img id="dangling" src="/images/green-1x1.png?img= b"> | PASS |
| <img id="dangling" src="/images/green-1x1.png?img=&#10;b"> | PASS |
| <img id="dangling" src="/images/green-1x1.png?img=&#10;b&lt;c"> | PASS |
| <img id="dangling" src="/images/green-1x1.png?img=&lt;b"> | PASS |
| <img id="dangling" src="/images/green-1x1.png?img=< b"> | FAIL |
| <img id="dangling" src="/images/green-1x1.png?img=<b"> | PASS |
| Fetch: /images/gr\neen-1x1.png?img=%3C | PASS |
| Fetch: /images/gr\neen-1x1.png?img= | PASS |
| Fetch: /images/gr\reen-1x1.png?img=%3C | PASS |
| Fetch: /images/gr\reen-1x1.png?img= | PASS |
| Fetch: /images/gr\teen-1x1.png?img=%3C | PASS |
| Fetch: /images/gr\teen-1x1.png?img= | PASS |
| Fetch: /images/gre\nen-1x1.png | PASS |
| Fetch: /images/gre\nen-1x1.png?img=< | FAIL |
| Fetch: /images/gre\ren-1x1.png | PASS |
| Fetch: /images/gre\ren-1x1.png?img=< | FAIL |
| Fetch: /images/gre\ten-1x1.png | PASS |
| Fetch: /images/gre\ten-1x1.png?img=< | FAIL |
| Fetch: /images/green-1x1.png | PASS |
| Fetch: /images/green-1x1.png?<\n=block | FAIL |
| Fetch: /images/green-1x1.png?<\r=block | FAIL |
| Fetch: /images/green-1x1.png?<\t=block | FAIL |
| Fetch: /images/green-1x1.png?img=%3C | PASS |
| Fetch: /images/green-1x1.png?img= | PASS |
| Fetch: /images/green-1x1.png?img=< | PASS |
| Fetch: /images/green-1x1.png?img=< | PASS |
| \n <img id="dangling" src="/images/green-1x1.png?img=\n <\n b\n ">\n | FAIL |
| \n <img id="dangling" src="\n /images/green-1x1.png?img=&#10;\n ">\n | PASS |
| \n <img id="dangling" src="\n /images/green-1x1.png?img=&lt;\n ">\n | PASS |
| \n <img id="dangling" src="\n /images/green-1x1.png?img=\n ">\n | PASS |
| /fetch/api/request/request-init-002.html (8/8, 100.00%, 0.35% of total) | OK |
| Initialize Request with headers values | PASS |
| Initialize Request's body with "This is a USVString", text/plain;charset=UTF-8 | PASS |
| Initialize Request's body with "[object Blob]", application/octet-binary | PASS |
| Initialize Request's body with "[object FormData]", multipart/form-data | PASS |
| Initialize Request's body with "hi!", text/plain;charset=UTF-8 | PASS |
| Initialize Request's body with "name=value", application/x-www-form-urlencoded;charset=UTF-8 | PASS |
| Initialize Request's body with "null", null | PASS |
| Initialize Request's body with "undefined", undefined | PASS |
| /fetch/api/policies/csp-blocked-worker.html (1/1, 100.00%, 0.04% of total) | OK |
| Fetch is blocked by CSP, got a TypeError | PASS |
| /fetch/api/request/request-bad-port.html (67/67, 100.00%, 2.91% of total) | OK |
| Request on bad port 1 should throw TypeError. | PASS |
| Request on bad port 101 should throw TypeError. | PASS |
| Request on bad port 102 should throw TypeError. | PASS |
| Request on bad port 103 should throw TypeError. | PASS |
| Request on bad port 104 should throw TypeError. | PASS |
| Request on bad port 109 should throw TypeError. | PASS |
| Request on bad port 11 should throw TypeError. | PASS |
| Request on bad port 110 should throw TypeError. | PASS |
| Request on bad port 111 should throw TypeError. | PASS |
| Request on bad port 113 should throw TypeError. | PASS |
| Request on bad port 115 should throw TypeError. | PASS |
| Request on bad port 117 should throw TypeError. | PASS |
| Request on bad port 119 should throw TypeError. | PASS |
| Request on bad port 123 should throw TypeError. | PASS |
| Request on bad port 13 should throw TypeError. | PASS |
| Request on bad port 135 should throw TypeError. | PASS |
| Request on bad port 139 should throw TypeError. | PASS |
| Request on bad port 143 should throw TypeError. | PASS |
| Request on bad port 15 should throw TypeError. | PASS |
| Request on bad port 17 should throw TypeError. | PASS |
| Request on bad port 179 should throw TypeError. | PASS |
| Request on bad port 19 should throw TypeError. | PASS |
| Request on bad port 20 should throw TypeError. | PASS |
| Request on bad port 2049 should throw TypeError. | PASS |
| Request on bad port 21 should throw TypeError. | PASS |
| Request on bad port 22 should throw TypeError. | PASS |
| Request on bad port 23 should throw TypeError. | PASS |
| Request on bad port 25 should throw TypeError. | PASS |
| Request on bad port 3659 should throw TypeError. | PASS |
| Request on bad port 37 should throw TypeError. | PASS |
| Request on bad port 389 should throw TypeError. | PASS |
| Request on bad port 4045 should throw TypeError. | PASS |
| Request on bad port 42 should throw TypeError. | PASS |
| Request on bad port 427 should throw TypeError. | PASS |
| Request on bad port 43 should throw TypeError. | PASS |
| Request on bad port 465 should throw TypeError. | PASS |
| Request on bad port 512 should throw TypeError. | PASS |
| Request on bad port 513 should throw TypeError. | PASS |
| Request on bad port 514 should throw TypeError. | PASS |
| Request on bad port 515 should throw TypeError. | PASS |
| Request on bad port 526 should throw TypeError. | PASS |
| Request on bad port 53 should throw TypeError. | PASS |
| Request on bad port 530 should throw TypeError. | PASS |
| Request on bad port 531 should throw TypeError. | PASS |
| Request on bad port 532 should throw TypeError. | PASS |
| Request on bad port 540 should throw TypeError. | PASS |
| Request on bad port 548 should throw TypeError. | PASS |
| Request on bad port 556 should throw TypeError. | PASS |
| Request on bad port 563 should throw TypeError. | PASS |
| Request on bad port 587 should throw TypeError. | PASS |
| Request on bad port 6000 should throw TypeError. | PASS |
| Request on bad port 601 should throw TypeError. | PASS |
| Request on bad port 636 should throw TypeError. | PASS |
| Request on bad port 6665 should throw TypeError. | PASS |
| Request on bad port 6666 should throw TypeError. | PASS |
| Request on bad port 6667 should throw TypeError. | PASS |
| Request on bad port 6668 should throw TypeError. | PASS |
| Request on bad port 6669 should throw TypeError. | PASS |
| Request on bad port 6697 should throw TypeError. | PASS |
| Request on bad port 7 should throw TypeError. | PASS |
| Request on bad port 77 should throw TypeError. | PASS |
| Request on bad port 79 should throw TypeError. | PASS |
| Request on bad port 87 should throw TypeError. | PASS |
| Request on bad port 9 should throw TypeError. | PASS |
| Request on bad port 95 should throw TypeError. | PASS |
| Request on bad port 993 should throw TypeError. | PASS |
| Request on bad port 995 should throw TypeError. | PASS |
| /fetch/http-cache/freshness.html (15/15, 100.00%, 0.65% of total) | OK |
| HTTP cache does not prefer Cache-Control: s-maxage over Cache-Control: max-age | PASS |
| HTTP cache does not reuse a response when the Age header is greater than its freshness lifetime | PASS |
| HTTP cache does not reuse a response with Cache-Control: max-age=0 | PASS |
| HTTP cache does not reuse a response with Cache-Control: max-age=0 and a future Expires | PASS |
| HTTP cache does not reuse a response with a past Expires | PASS |
| HTTP cache does not reuse a response with a present Expires | PASS |
| HTTP cache does not reuse a response with an invalid Expires | PASS |
| HTTP cache does not store a response with Cache-Control: no-store | PASS |
| HTTP cache does not store a response with Cache-Control: no-store, even with max-age and Expires | PASS |
| HTTP cache reuses a response with a future Expires | PASS |
| HTTP cache reuses a response with positive Cache-Control: max-age | PASS |
| HTTP cache reuses a response with positive Cache-Control: max-age and a past Expires | PASS |
| HTTP cache reuses a response with positive Cache-Control: max-age and an invalid Expires | PASS |
| HTTP cache stores a response with Cache-Control: no-cache, but revalidates upon use | PASS |
| HTTP cache stores a response with Cache-Control: no-cache, but revalidates upon use, even with max-age and Expires | PASS |
| /fetch/api/basic/header-value-null-byte.any.html (1/1, 100.00%, 0.04% of total) | OK |
| Ensure fetch() rejects null bytes in headers | FAIL |
| /fetch/corb/script-js-mislabeled-as-html.sub.html (1/1, 100.00%, 0.04% of total) | OK |
| script-js-mislabeled-as-html | PASS |
| /fetch/api/policies/referrer-origin-when-cross-origin-worker.html (1/1, 100.00%, 0.04% of total) | OK |
| Request's referrer is origin | FAIL |
| /fetch/api/request/destination/fetch-destination.https.html (25/25, 100.00%, 1.08% of total) | TIMEOUT |
| EventSource() fetches with an empty string Request.destination | PASS |
| HTMLAudioElement fetches with an "audio" Request.destination | PASS |
| HTMLImageElement fetches with an "image" Request.destination | PASS |
| HTMLImageElement with a HTMLPictureElement parent attribute fetches with an "image" Request.destination | PASS |
| HTMLImageElement with srcset attribute fetches with an "image" Request.destination | PASS |
| HTMLLinkElement with rel=preload and as=audio fetches with a "audio" Request.destination | NOTRUN |
| HTMLLinkElement with rel=preload and as=document fetches with a "document" Request.destination | NOTRUN |
| HTMLLinkElement with rel=preload and as=fetch fetches with an empty string Request.destination | TIMEOUT |
| HTMLLinkElement with rel=preload and as=font fetches with a "font" Request.destination | NOTRUN |
| HTMLLinkElement with rel=preload and as=image fetches with a "image" Request.destination | NOTRUN |
| HTMLLinkElement with rel=preload and as=manifest fetches with a "manifest" Request.destination | NOTRUN |
| HTMLLinkElement with rel=preload and as=script fetches with a "script" Request.destination | NOTRUN |
| HTMLLinkElement with rel=preload and as=sharedworker fetches with a "sharedworker" Request.destination | NOTRUN |
| HTMLLinkElement with rel=preload and as=style fetches with a "style" Request.destination | NOTRUN |
| HTMLLinkElement with rel=preload and as=track fetches with a "track" Request.destination | NOTRUN |
| HTMLLinkElement with rel=preload and as=video fetches with a "video" Request.destination | NOTRUN |
| HTMLLinkElement with rel=preload and as=worker fetches with a "worker" Request.destination | NOTRUN |
| HTMLLinkElement with rel=preload and as=xslt fetches with a "xslt" Request.destination | NOTRUN |
| HTMLLinkElement with rel=stylesheet fetches with a "style" Request.destination | PASS |
| HTMLScriptElement fetches with a "script" Request.destination | PASS |
| HTMLVideoElement fetches with a "video" Request.destination | PASS |
| Initialize global state | PASS |
| SVGImageElement fetches with an "image" Request.destination | PASS |
| XMLHttpRequest() fetches with an empty string Request.destination | PASS |
| fetch() fetches with an empty string Request.destination | PASS |
| /fetch/api/request/destination/fetch-destination-prefetch.https.html (2/2, 100.00%, 0.09% of total) | OK |
| HTMLLinkElement with rel=prefetch fetches with an empty string Request.destination | PASS |
| Initialize global state | PASS |
| /fetch/api/cors/cors-preflight-referrer.any.html (10/10, 100.00%, 0.43% of total) | OK |
| Referrer policy: "" and referrer: 'myreferrer' | PASS |
| Referrer policy: "" and referrer: default | PASS |
| Referrer policy: no-referrer and referrer: 'myreferrer' | PASS |
| Referrer policy: no-referrer and referrer: default | PASS |
| Referrer policy: origin and referrer: 'myreferrer' | PASS |
| Referrer policy: origin and referrer: default | PASS |
| Referrer policy: origin-when-cross-origin and referrer: 'myreferrer' | PASS |
| Referrer policy: origin-when-cross-origin and referrer: default | PASS |
| Referrer policy: unsafe-url and referrer: 'myreferrer' | PASS |
| Referrer policy: unsafe-url and referrer: default | PASS |
| /fetch/api/response/response-static-error.html (1/1, 100.00%, 0.04% of total) | OK |
| Check response returned by static method error() | FAIL |
| /fetch/api/cors/cors-preflight-star.any.html (10/10, 100.00%, 0.43% of total) | OK |
| CORS that fails with credentials: true; method: GET (allowed: *); header: X-Test,1 (allowed: *) | PASS |
| CORS that fails with credentials: true; method: GET (allowed: get); header: X-Test,1 (allowed: *) | PASS |
| CORS that fails with credentials: true; method: OK (allowed: *); header: X-Test,1 (allowed: *) | PASS |
| CORS that fails with credentials: true; method: PUT (allowed: *); header: (allowed: ) | PASS |
| CORS that fails with credentials: true; method: PUT (allowed: put); header: (allowed: *) | PASS |
| CORS that succeeds with credentials: false; method: GET (allowed: get); header: X-Test,1 (allowed: x-test) | PASS |
| CORS that succeeds with credentials: false; method: OK (allowed: *); header: X-Test,1 (allowed: *) | FAIL |
| CORS that succeeds with credentials: false; method: SUPER (allowed: *); header: X-Test,1 (allowed: x-test) | FAIL |
| CORS that succeeds with credentials: true; method: * (allowed: *); header: *,1 (allowed: *) | PASS |
| CORS that succeeds with credentials: true; method: PUT (allowed: PUT); header: (allowed: *) | PASS |
| /fetch/api/request/destination/fetch-destination-worker.https.html (2/2, 100.00%, 0.09% of total) | OK |
| Initialize global state | PASS |
| Worker fetches with a "worker" Request.destination | PASS |
| /fetch/api/request/multi-globals/url-parsing.html (1/1, 100.00%, 0.04% of total) | OK |
| should parse the URL relative to the current settings object | PASS |
| /fetch/corb/script-html-correctly-labeled.tentative.sub.html (1/1, 100.00%, 0.04% of total) | OK |
| CORB-blocked script has no syntax errors | FAIL |
| /fetch/api/response/response-stream-disturbed-2.html (4/4, 100.00%, 0.17% of total) | OK |
| Getting arrayBuffer after getting a locked Response body | FAIL |
| Getting blob after getting a locked Response body | FAIL |
| Getting json after getting a locked Response body | FAIL |
| Getting text after getting a locked Response body | FAIL |
| /fetch/http-cache/cc-request.html (12/12, 100.00%, 0.52% of total) | OK |
| HTTP cache does reuse stale response with Age header when request contains Cache-Control: max-stale that permits its use | PASS |
| HTTP cache does use aged stale response when request contains Cache-Control: max-stale that permits its use | PASS |
| HTTP cache doesn't reuse fresh response when request contains Cache-Control: min-fresh that wants it fresher | PASS |
| HTTP cache doesn't reuse fresh response when request contains Cache-Control: no-cache | PASS |
| HTTP cache doesn't reuse fresh response when request contains Cache-Control: no-store | PASS |
| HTTP cache doesn't reuse fresh response with Age header when request contains Cache-Control: min-fresh that wants it fresher | PASS |
| HTTP cache doesn't use aged but fresh response when request contains Cache-Control: max-age=0 | PASS |
| HTTP cache doesn't use aged but fresh response when request contains Cache-Control: max-age=1 | FAIL |
| HTTP cache doesn't use fresh response with Age header when request contains Cache-Control: max-age that is greater than remaining freshness | PASS |
| HTTP cache generates 504 status code when nothing is in cache and request contains Cache-Control: only-if-cached | FAIL |
| HTTP cache validates fresh response with ETag when request contains Cache-Control: no-cache | PASS |
| HTTP cache validates fresh response with Last-Modified when request contains Cache-Control: no-cache | PASS |
| /fetch/api/headers/headers-errors.html (18/18, 100.00%, 0.78% of total) | OK |
| Check headers append with an invalid name [object Object] | PASS |
| Check headers append with an invalid name invalidĀ | PASS |
| Check headers append with an invalid value invalidĀ | PASS |
| Check headers delete with an invalid name [object Object] | PASS |
| Check headers delete with an invalid name invalidĀ | PASS |
| Check headers get with an invalid name [object Object] | PASS |
| Check headers get with an invalid name invalidĀ | PASS |
| Check headers has with an invalid name [object Object] | PASS |
| Check headers has with an invalid name invalidĀ | PASS |
| Check headers set with an invalid name [object Object] | PASS |
| Check headers set with an invalid name invalidĀ | PASS |
| Check headers set with an invalid value invalidĀ | PASS |
| Create headers giving an array having one string as init argument | PASS |
| Create headers giving an array having three strings as init argument | PASS |
| Create headers giving bad header name as init argument | PASS |
| Create headers giving bad header value as init argument | PASS |
| Headers forEach loop should stop if callback is throwing exception | PASS |
| Headers forEach throws if argument is not callable | PASS |
| /fetch/api/redirect/redirect-back-to-original-origin.any.html (2/2, 100.00%, 0.09% of total) | OK |
| original => remote => original with mode: "cors" | PASS |
| original => remote => original with mode: "no-cors" | PASS |
| /fetch/api/basic/block-mime-as-script.html (22/22, 100.00%, 0.95% of total) | OK |
| Should fail loading empty script with audio/aiff MIME type | PASS |
| Should fail loading empty script with audio/midi MIME type | PASS |
| Should fail loading empty script with audio/whatever MIME type | PASS |
| Should fail loading empty script with image/gif MIME type | PASS |
| Should fail loading empty script with image/jpeg MIME type | PASS |
| Should fail loading empty script with image/whatever MIME type | PASS |
| Should fail loading empty script with text/csv MIME type | PASS |
| Should fail loading empty script with video/avi MIME type | PASS |
| Should fail loading empty script with video/fli MIME type | PASS |
| Should fail loading empty script with video/whatever MIME type | PASS |
| Should fail loading non-empty script with audio/aiff MIME type | PASS |
| Should fail loading non-empty script with audio/midi MIME type | PASS |
| Should fail loading non-empty script with audio/whatever MIME type | PASS |
| Should fail loading non-empty script with image/gif MIME type | PASS |
| Should fail loading non-empty script with image/jpeg MIME type | PASS |
| Should fail loading non-empty script with image/whatever MIME type | PASS |
| Should fail loading non-empty script with text/csv MIME type | PASS |
| Should fail loading non-empty script with video/avi MIME type | PASS |
| Should fail loading non-empty script with video/fli MIME type | PASS |
| Should fail loading non-empty script with video/whatever MIME type | PASS |
| Should load script with text/html MIME type | PASS |
| Should load script with text/plain MIME type | PASS |
| /fetch/api/request/request-cache-no-cache.html (4/4, 100.00%, 0.17% of total) | OK |
| RequestCache "no-cache" mode revalidates fresh responses found in the cache with Etag and fresh response | PASS |
| RequestCache "no-cache" mode revalidates fresh responses found in the cache with Last-Modified and fresh response | PASS |
| RequestCache "no-cache" mode revalidates stale responses found in the cache with Etag and stale response | PASS |
| RequestCache "no-cache" mode revalidates stale responses found in the cache with Last-Modified and stale response | PASS |
| /fetch/http-cache/304-update.html (5/5, 100.00%, 0.22% of total) | OK |
| Content-* header | PASS |
| HTTP cache updates returned headers from a ETag 304 | PASS |
| HTTP cache updates returned headers from a Last-Modified 304 | PASS |
| HTTP cache updates stored headers from a ETag 304 | PASS |
| HTTP cache updates stored headers from a Last-Modified 304 | PASS |
| /fetch/api/basic/scheme-about.any.html (6/6, 100.00%, 0.26% of total) | OK |
| Fetching about:blank with method GET is KO | PASS |
| Fetching about:blank with method POST is KO | PASS |
| Fetching about:blank with method PUT is KO | PASS |
| Fetching about:config with method GET is KO | PASS |
| Fetching about:invalid.com with method GET is KO | PASS |
| Fetching about:unicorn with method GET is KO | PASS |
| /fetch/api/basic/mode-same-origin.any.html (8/8, 100.00%, 0.35% of total) | OK |
| Fetch ../resources/top.txt with same-origin mode | PASS |
| Fetch /fetch/api/basic/../resources/redirect.py?location=../resources/top.txt with same-origin mode | PASS |
| Fetch /fetch/api/basic/../resources/redirect.py?location=http://webapitests2018.ctawave.org:8000/fetch/api/resources/top.txt with same-origin mode | PASS |
| Fetch /fetch/api/basic/../resources/redirect.py?location=http://www1.webapitests2018.ctawave.org:8000/fetch/api/resources/top.txt with same-origin mode | PASS |
| Fetch /fetch/api/basic/../resources/redirect.py?location=https://webapitests2018.ctawave.org:8443/fetch/api/resources/top.txt with same-origin mode | PASS |
| Fetch http://webapitests2018.ctawave.org:8000/fetch/api/resources/top.txt with same-origin mode | PASS |
| Fetch http://www1.webapitests2018.ctawave.org:8000/fetch/api/resources/top.txt with same-origin mode | PASS |
| Fetch https://webapitests2018.ctawave.org:8443/fetch/api/resources/top.txt with same-origin mode | PASS |
| /fetch/api/redirect/redirect-referrer.any.html (32/32, 100.00%, 1.39% of total) | TIMEOUT |
| Cross origin redirection, empty init, no-referrer redirect header | NOTRUN |
| Cross origin redirection, empty init, no-referrer-when-downgrade redirect header | NOTRUN |
| Cross origin redirection, empty init, origin redirect header | NOTRUN |
| Cross origin redirection, empty init, origin-when-cross-origin redirect header | NOTRUN |
| Cross origin redirection, empty init, same-origin redirect header | NOTRUN |
| Cross origin redirection, empty init, strict-origin redirect header | NOTRUN |
| Cross origin redirection, empty init, strict-origin-when-cross-origin redirect header | NOTRUN |
| Cross origin redirection, empty init, unsafe-url redirect header | NOTRUN |
| Cross origin redirection, empty redirect header, no-referrer init | NOTRUN |
| Cross origin redirection, empty redirect header, no-referrer-when-downgrade init | NOTRUN |
| Cross origin redirection, empty redirect header, origin init | NOTRUN |
| Cross origin redirection, empty redirect header, origin-when-cross-origin init | NOTRUN |
| Cross origin redirection, empty redirect header, same-origin init | NOTRUN |
| Cross origin redirection, empty redirect header, strict-origin init | NOTRUN |
| Cross origin redirection, empty redirect header, strict-origin-when-cross-origin init | NOTRUN |
| Cross origin redirection, empty redirect header, unsafe-url init | NOTRUN |
| Same origin redirection, empty init, no-referrer redirect header | PASS |
| Same origin redirection, empty init, no-referrer-when-downgrade redirect header | PASS |
| Same origin redirection, empty init, origin redirect header | PASS |
| Same origin redirection, empty init, origin-when-cross-origin redirect header | PASS |
| Same origin redirection, empty init, same-origin redirect header | PASS |
| Same origin redirection, empty init, strict-origin redirect header | PASS |
| Same origin redirection, empty init, strict-origin-when-cross-origin redirect header | PASS |
| Same origin redirection, empty init, unsafe-url redirect header | PASS |
| Same origin redirection, empty redirect header, no-referrer init | PASS |
| Same origin redirection, empty redirect header, no-referrer-when-downgrade init | PASS |
| Same origin redirection, empty redirect header, origin init | PASS |
| Same origin redirection, empty redirect header, origin-when-cross-origin init | PASS |
| Same origin redirection, empty redirect header, same-origin init | PASS |
| Same origin redirection, empty redirect header, strict-origin init | PASS |
| Same origin redirection, empty redirect header, strict-origin-when-cross-origin init | TIMEOUT |
| Same origin redirection, empty redirect header, unsafe-url init | PASS |
| /fetch/cross-origin-resource-policy/script-loads.html (6/6, 100.00%, 0.26% of total) | OK |
| Cross-origin cors script load with a 'Cross-Origin-Resource-Policy: same-origin' response header. | FAIL |
| Cross-origin cors script load with a 'Cross-Origin-Resource-Policy: same-site' response header. | FAIL |
| Cross-origin no-cors script load with a 'Cross-Origin-Resource-Policy: same-origin' response header. | PASS |
| Cross-origin no-cors script load with a 'Cross-Origin-Resource-Policy: same-site' response header. | PASS |
| Same-origin script load with a 'Cross-Origin-Resource-Policy: same-origin' response header. | PASS |
| Same-origin script load with a 'Cross-Origin-Resource-Policy: same-site' response header. | PASS |
| /fetch/nosniff/script.html (10/10, 100.00%, 0.43% of total) | OK |
| URL query: | PASS |
| URL query: null | PASS |
| URL query: text/ecmascript | PASS |
| URL query: text/ecmascript;blah | PASS |
| URL query: text/html | PASS |
| URL query: text/javascript | PASS |
| URL query: text/javascript1.0 | PASS |
| URL query: text/json | PASS |
| URL query: x | PASS |
| URL query: x/x | PASS |
| /fetch/api/request/request-disturbed.html (9/9, 100.00%, 0.39% of total) | OK |
| Check cloning a disturbed request | PASS |
| Check consuming a disturbed request | PASS |
| Check creating a new request from a disturbed request | PASS |
| Check creating a new request with a new body from a disturbed request | FAIL |
| Input request used for creating new request became disturbed | FAIL |
| Input request used for creating new request became disturbed even if body is not used | FAIL |
| Request construction failure should not set "bodyUsed" | PASS |
| Request without body cannot be disturbed | FAIL |
| Request's body: initial state | FAIL |
| /fetch/corb/preload-image-png-mislabeled-as-html-nosniff.tentative.sub.html (1/1, 100.00%, 0.04% of total) | TIMEOUT |
| preload-image-png-mislabeled-as-html-nosniff | TIMEOUT |
| /fetch/api/response/response-from-stream.any.html (3/3, 100.00%, 0.13% of total) | OK |
| Constructing a Response with a stream on which getReader() is called | FAIL |
| Constructing a Response with a stream on which read() and releaseLock() are called | FAIL |
| Constructing a Response with a stream on which read() is called | FAIL |
| /fetch/api/cors/cors-filtering.sub.any.html (19/19, 100.00%, 0.82% of total) | TIMEOUT |
| CORS filter on Age header | NOTRUN |
| CORS filter on Age header, header is exposed | NOTRUN |
| CORS filter on Cache-Control header | TIMEOUT |
| CORS filter on Content-Language header | NOTRUN |
| CORS filter on Content-Length header | NOTRUN |
| CORS filter on Content-Type header | NOTRUN |
| CORS filter on Expires header | NOTRUN |
| CORS filter on Last-Modified header | NOTRUN |
| CORS filter on Pragma header | NOTRUN |
| CORS filter on Server header | NOTRUN |
| CORS filter on Server header, header is exposed | NOTRUN |
| CORS filter on Set-Cookie header | NOTRUN |
| CORS filter on Set-Cookie header, header is forbidden | NOTRUN |
| CORS filter on Set-Cookie header, header is forbidden(credentials = include) | NOTRUN |
| CORS filter on Set-Cookie2 header | NOTRUN |
| CORS filter on Set-Cookie2 header, header is forbidden | NOTRUN |
| CORS filter on Set-Cookie2 header, header is forbidden(credentials = include) | NOTRUN |
| CORS filter on Warning header | NOTRUN |
| CORS filter on Warning header, header is exposed | NOTRUN |
| /fetch/api/request/request-cache-default.html (8/8, 100.00%, 0.35% of total) | OK |
| RequestCache "default" mode checks the cache for previously cached content and avoids going to the network if a fresh response exists with Etag and fresh response | PASS |
| 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 | PASS |
| RequestCache "default" mode checks the cache for previously cached content and goes to the network for stale responses with Etag and stale response | PASS |
| RequestCache "default" mode checks the cache for previously cached content and goes to the network for stale responses with Last-Modified and stale response | PASS |
| Responses with the "Cache-Control: no-store" header are not stored in the cache with Etag and fresh response | PASS |
| Responses with the "Cache-Control: no-store" header are not stored in the cache with Etag and stale response | PASS |
| Responses with the "Cache-Control: no-store" header are not stored in the cache with Last-Modified and fresh response | PASS |
| Responses with the "Cache-Control: no-store" header are not stored in the cache with Last-Modified and stale response | PASS |
| /fetch/api/response/response-stream-disturbed-1.html (4/4, 100.00%, 0.17% of total) | OK |
| Getting arrayBuffer after getting the Response body - not disturbed, not locked | FAIL |
| Getting blob after getting the Response body - not disturbed, not locked | FAIL |
| Getting json after getting the Response body - not disturbed, not locked | FAIL |
| Getting text after getting the Response body - not disturbed, not locked | FAIL |
| /fetch/api/cors/cors-redirect-preflight.any.html (30/30, 100.00%, 1.30% of total) | TIMEOUT |
| Redirect 301: cors to another cors (preflight after redirection failure case) | NOTRUN |
| Redirect 301: cors to another cors (preflight after redirection success case) | TIMEOUT |
| Redirect 301: cors to same origin (preflight after redirection failure case) | PASS |
| Redirect 301: cors to same origin (preflight after redirection success case) | PASS |
| Redirect 301: same origin to cors (preflight after redirection failure case) | PASS |
| Redirect 301: same origin to cors (preflight after redirection success case) | PASS |
| Redirect 302: cors to another cors (preflight after redirection failure case) | NOTRUN |
| Redirect 302: cors to another cors (preflight after redirection success case) | NOTRUN |
| Redirect 302: cors to same origin (preflight after redirection failure case) | NOTRUN |
| Redirect 302: cors to same origin (preflight after redirection success case) | NOTRUN |
| Redirect 302: same origin to cors (preflight after redirection failure case) | NOTRUN |
| Redirect 302: same origin to cors (preflight after redirection success case) | NOTRUN |
| Redirect 303: cors to another cors (preflight after redirection failure case) | NOTRUN |
| Redirect 303: cors to another cors (preflight after redirection success case) | NOTRUN |
| Redirect 303: cors to same origin (preflight after redirection failure case) | NOTRUN |
| Redirect 303: cors to same origin (preflight after redirection success case) | NOTRUN |
| Redirect 303: same origin to cors (preflight after redirection failure case) | NOTRUN |
| Redirect 303: same origin to cors (preflight after redirection success case) | NOTRUN |
| Redirect 307: cors to another cors (preflight after redirection failure case) | NOTRUN |
| Redirect 307: cors to another cors (preflight after redirection success case) | NOTRUN |
| Redirect 307: cors to same origin (preflight after redirection failure case) | NOTRUN |
| Redirect 307: cors to same origin (preflight after redirection success case) | NOTRUN |
| Redirect 307: same origin to cors (preflight after redirection failure case) | NOTRUN |
| Redirect 307: same origin to cors (preflight after redirection success case) | NOTRUN |
| Redirect 308: cors to another cors (preflight after redirection failure case) | NOTRUN |
| Redirect 308: cors to another cors (preflight after redirection success case) | NOTRUN |
| Redirect 308: cors to same origin (preflight after redirection failure case) | NOTRUN |
| Redirect 308: cors to same origin (preflight after redirection success case) | NOTRUN |
| Redirect 308: same origin to cors (preflight after redirection failure case) | NOTRUN |
| Redirect 308: same origin to cors (preflight after redirection success case) | NOTRUN |
| /fetch/api/request/request-consume.html (38/38, 100.00%, 1.65% of total) | OK |
| Consume ArrayBuffer request's body as JSON | PASS |
| Consume ArrayBuffer request's body as arrayBuffer | PASS |
| Consume ArrayBuffer request's body as blob | PASS |
| Consume ArrayBuffer request's body as text | PASS |
| Consume DataView request's body as JSON | PASS |
| Consume DataView request's body as arrayBuffer | PASS |
| Consume DataView request's body as blob | PASS |
| Consume DataView request's body as text | PASS |
| Consume Float32Array request's body as JSON | PASS |
| Consume Float32Array request's body as arrayBuffer | PASS |
| Consume Float32Array request's body as blob | PASS |
| Consume Float32Array request's body as text | PASS |
| Consume FormData request's body as FormData | PASS |
| Consume Int8Array request's body as JSON | PASS |
| Consume Int8Array request's body as arrayBuffer | PASS |
| Consume Int8Array request's body as blob | PASS |
| Consume Int8Array request's body as text | PASS |
| Consume JSON from text: '"1"' | PASS |
| Consume JSON from text: '"\"string\""' | PASS |
| Consume JSON from text: '"null"' | PASS |
| Consume JSON from text: '"true"' | PASS |
| Consume String request's body as JSON | PASS |
| Consume String request's body as arrayBuffer | PASS |
| Consume String request's body as blob | PASS |
| Consume String request's body as text | PASS |
| Consume Uint8Array request's body as JSON | PASS |
| Consume Uint8Array request's body as arrayBuffer | PASS |
| Consume Uint8Array request's body as blob | PASS |
| Consume Uint8Array request's body as text | PASS |
| Consume blob response's body as arrayBuffer | PASS |
| Consume blob response's body as blob | PASS |
| Consume blob response's body as blob (empty blob as input) | PASS |
| Consume blob response's body as json | PASS |
| Consume blob response's body as text | PASS |
| Trying to consume bad JSON text as JSON: '[' | PASS |
| Trying to consume bad JSON text as JSON: 'a' | PASS |
| Trying to consume bad JSON text as JSON: 'undefined' | PASS |
| Trying to consume bad JSON text as JSON: '{' | PASS |
| /fetch/corb/script-js-mislabeled-as-html-nosniff.sub.html (1/1, 100.00%, 0.04% of total) | OK |
| script-js-mislabeled-as-html-nosniff | PASS |
| /fetch/api/response/response-error.html (10/10, 100.00%, 0.43% of total) | OK |
| Throws RangeError when responseInit's status is 0 | PASS |
| Throws RangeError when responseInit's status is 100 | PASS |
| Throws RangeError when responseInit's status is 1000 | PASS |
| Throws RangeError when responseInit's status is 199 | PASS |
| Throws RangeError when responseInit's status is 600 | PASS |
| Throws TypeError when building a response with body and a body status of 204 | PASS |
| Throws TypeError when building a response with body and a body status of 205 | PASS |
| Throws TypeError when building a response with body and a body status of 304 | PASS |
| Throws TypeError when responseInit's statusText is | PASS |
| Throws TypeError when responseInit's statusText is Ā | PASS |
| /fetch/cross-origin-resource-policy/fetch-in-iframe.html (5/5, 100.00%, 0.22% of total) | TIMEOUT |
| Cross-origin fetch in a cross origin iframe load fails if the server blocks cross-origin loads with a 'Cross-Origin-Resource-Policy: same-origin' response header. | FAIL |
| Cross-origin fetch in a cross origin iframe load fails if the server blocks cross-origin loads with a 'Cross-Origin-Resource-Policy: same-site' response header. | TIMEOUT |
| Cross-origin fetch in a data: iframe load fails if the server blocks cross-origin loads with a 'Cross-Origin-Resource-Policy: same-origin' response header. | FAIL |
| Cross-origin fetch in a data: iframe load fails if the server blocks cross-origin loads with a 'Cross-Origin-Resource-Policy: same-site' response header. | FAIL |
| Same-origin fetch in a cross origin iframe load succeeds if the server blocks cross-origin loads with a 'Cross-Origin-Resource-Policy: same-origin' response header. | NOTRUN |
| /fetch/api/response/response-stream-disturbed-3.html (4/4, 100.00%, 0.17% of total) | OK |
| Getting arrayBuffer after reading the Response body | FAIL |
| Getting blob after reading the Response body | FAIL |
| Getting json after reading the Response body | FAIL |
| Getting text after reading the Response body | FAIL |
| /fetch/api/basic/response-url.sub.any.html (4/4, 100.00%, 0.17% of total) | OK |
| Testing response url getter with http://webapitests2018.ctawave.org:8000#ada | PASS |
| Testing response url getter with http://webapitests2018.ctawave.org:8000/# | PASS |
| Testing response url getter with http://webapitests2018.ctawave.org:8000/#ada | PASS |
| Testing response url getter with http://webapitests2018.ctawave.org:8000/ada | PASS |
| /fetch/api/policies/referrer-origin.html (2/2, 100.00%, 0.09% of total) | OK |
| Cross-origin referrer is overridden by client origin | PASS |
| Request's referrer is origin | PASS |
| /fetch/api/redirect/redirect-location.any.html (30/30, 100.00%, 1.30% of total) | OK |
| Redirect 301 in "follow" mode with data location | PASS |
| Redirect 301 in "follow" mode with invalid location | PASS |
| Redirect 301 in "follow" mode without location | PASS |
| Redirect 301 in "manual" mode with data location | PASS |
| Redirect 301 in "manual" mode with invalid location | FAIL |
| Redirect 301 in "manual" mode without location | PASS |
| Redirect 302 in "follow" mode with data location | PASS |
| Redirect 302 in "follow" mode with invalid location | PASS |
| Redirect 302 in "follow" mode without location | PASS |
| Redirect 302 in "manual" mode with data location | PASS |
| Redirect 302 in "manual" mode with invalid location | FAIL |
| Redirect 302 in "manual" mode without location | PASS |
| Redirect 303 in "follow" mode with data location | PASS |
| Redirect 303 in "follow" mode with invalid location | PASS |
| Redirect 303 in "follow" mode without location | PASS |
| Redirect 303 in "manual" mode with data location | PASS |
| Redirect 303 in "manual" mode with invalid location | FAIL |
| Redirect 303 in "manual" mode without location | PASS |
| Redirect 307 in "follow" mode with data location | PASS |
| Redirect 307 in "follow" mode with invalid location | PASS |
| Redirect 307 in "follow" mode without location | PASS |
| Redirect 307 in "manual" mode with data location | PASS |
| Redirect 307 in "manual" mode with invalid location | FAIL |
| Redirect 307 in "manual" mode without location | PASS |
| Redirect 308 in "follow" mode with data location | PASS |
| Redirect 308 in "follow" mode with invalid location | PASS |
| Redirect 308 in "follow" mode without location | PASS |
| Redirect 308 in "manual" mode with data location | PASS |
| Redirect 308 in "manual" mode with invalid location | FAIL |
| Redirect 308 in "manual" mode without location | PASS |
| /fetch/sec-metadata/fetch.tentative.https.sub.html (3/3, 100.00%, 0.13% of total) | OK |
| Cross-site fetch | FAIL |
| Same-origin fetch | FAIL |
| Same-site fetch | FAIL |
| /fetch/api/request/request-init-stream.any.html (6/6, 100.00%, 0.26% of total) | OK |
| Constructing a Request with a Request on which body.getReader() is called | FAIL |
| Constructing a Request with a Request on which body.getReader().read() is called | FAIL |
| Constructing a Request with a Request on which read() and releaseLock() are called | FAIL |
| Constructing a Request with a stream on which getReader() is called | FAIL |
| Constructing a Request with a stream on which read() and releaseLock() are called | FAIL |
| Constructing a Request with a stream on which read() is called | FAIL |
| /fetch/corb/style-css-mislabeled-as-html-nosniff.sub.html (1/1, 100.00%, 0.04% of total) | OK |
| style-css-mislabeled-as-html-nosniff | PASS |
| /fetch/sec-metadata/object.tentative.https.sub.html (3/3, 100.00%, 0.13% of total) | TIMEOUT |
| Cross-Site object | NOTRUN |
| Same-Origin object | FAIL |
| Same-Site object | TIMEOUT |
| /fetch/http-cache/partial.html (8/8, 100.00%, 0.35% of total) | OK |
| HTTP cache stores complete response and serves smaller ranges from it (absent last-byte-pos) | FAIL |
| HTTP cache stores complete response and serves smaller ranges from it (byte-range-spec) | FAIL |
| HTTP cache stores complete response and serves smaller ranges from it (suffix-byte-range-spec) | FAIL |
| HTTP cache stores partial content and completes it | FAIL |
| HTTP cache stores partial content and reuses it | FAIL |
| HTTP cache stores partial response and serves smaller ranges from it (absent last-byte-pos) | FAIL |
| HTTP cache stores partial response and serves smaller ranges from it (byte-range-spec) | FAIL |
| HTTP cache stores partial response and serves smaller ranges from it (suffix-byte-range-spec) | FAIL |
| /fetch/api/response/response-init-002.html (8/8, 100.00%, 0.35% of total) | OK |
| Initialize Response with headers values | PASS |
| Initialize Response's body with application/octet-binary | PASS |
| Initialize Response's body with application/x-www-form-urlencoded;charset=UTF-8 | PASS |
| Initialize Response's body with multipart/form-data | PASS |
| Initialize Response's body with text/plain;charset=UTF-8 | PASS |
| Read Response's body as readableStream | FAIL |
| Testing empty Response Content-Type header | PASS |
| Testing null Response body | FAIL |
| /fetch/sec-metadata/iframe.tentative.https.sub.html (3/3, 100.00%, 0.13% of total) | TIMEOUT |
| Cross-site iframe | TIMEOUT |
| Same-origin iframe | FAIL |
| Same-site iframe | TIMEOUT |
| /fetch/api/cors/cors-expose-star.sub.any.html (3/3, 100.00%, 0.13% of total) | TIMEOUT |
| * can be one of several values | NOTRUN |
| * for credentialed fetches only matches literally | NOTRUN |
| Basic Access-Control-Expose-Headers: * support | TIMEOUT |
| /fetch/api/policies/referrer-origin-when-cross-origin.html (1/1, 100.00%, 0.04% of total) | OK |
| Request's referrer is origin | FAIL |
| /fetch/api/response/multi-globals/url-parsing.html (1/1, 100.00%, 0.04% of total) | OK |
| should parse the redirect Location URL relative to the current settings object | PASS |
| /fetch/api/abort/serviceworker-intercepted.https.html (7/7, 100.00%, 0.30% of total) | OK |
| Already aborted request does not land in service worker | PASS |
| Stream errors once aborted. | FAIL |
| response.arrayBuffer() rejects if already aborted | PASS |
| response.blob() rejects if already aborted | PASS |
| response.formData() rejects if already aborted | PASS |
| response.json() rejects if already aborted | PASS |
| response.text() rejects if already aborted | PASS |
| /fetch/api/response/response-consume-stream.html (9/9, 100.00%, 0.39% of total) | OK |
| Getting a redirect Response stream | FAIL |
| Getting an error Response stream | FAIL |
| Read URLSearchParams response's body as readableStream | FAIL |
| Read array buffer response's body as readableStream | FAIL |
| Read blob response's body as readableStream | FAIL |
| Read empty blob response's body as readableStream | FAIL |
| Read empty text response's body as readableStream | FAIL |
| Read form data response's body as readableStream | FAIL |
| Read text response's body as readableStream | FAIL |
| /fetch/http-cache/heuristic.html (16/16, 100.00%, 0.69% of total) | OK |
| HTTP cache does not reuse an unknown response with Last-Modified based upon heuristic freshness when Cache-Control: public is not present | PASS |
| HTTP cache does not use a 201 Created response with Last-Modified based upon heuristic freshness | PASS |
| HTTP cache does not use a 202 Accepted response with Last-Modified based upon heuristic freshness | PASS |
| HTTP cache does not use a 403 Forbidden response with Last-Modified based upon heuristic freshness | PASS |
| HTTP cache does not use a 502 Bad Gateway response with Last-Modified based upon heuristic freshness | PASS |
| HTTP cache does not use a 503 Service Unavailable response with Last-Modified based upon heuristic freshness | PASS |
| HTTP cache does not use a 504 Gateway Timeout response with Last-Modified based upon heuristic freshness | PASS |
| HTTP cache reuses a 200 OK response with Last-Modified based upon heuristic freshness | PASS |
| HTTP cache reuses a 203 Non-Authoritative Information response with Last-Modified based upon heuristic freshness | PASS |
| HTTP cache reuses a 204 No Content response with Last-Modified based upon heuristic freshness | FAIL |
| HTTP cache reuses a 404 Not Found response with Last-Modified based upon heuristic freshness | FAIL |
| HTTP cache reuses a 405 Method Not Allowed response with Last-Modified based upon heuristic freshness | FAIL |
| HTTP cache reuses a 410 Gone response with Last-Modified based upon heuristic freshness | PASS |
| HTTP cache reuses a 414 URI Too Long response with Last-Modified based upon heuristic freshness | FAIL |
| HTTP cache reuses a 501 Not Implemented response with Last-Modified based upon heuristic freshness | FAIL |
| HTTP cache reuses an unknown response with Last-Modified based upon heuristic freshness when Cache-Control: public is present | FAIL |
| /fetch/api/request/request-error.html (21/21, 100.00%, 0.91% of total) | OK |
| Bad cache init parameter value | PASS |
| Bad credentials init parameter value | PASS |
| Bad mode init parameter value | PASS |
| Bad redirect init parameter value | PASS |
| Bad referrerPolicy init parameter value | PASS |
| Input URL has credentials | PASS |
| Input URL is not valid | PASS |
| Request should get its content-type from init headers if one is provided | PASS |
| Request should get its content-type from the body if none is provided | PASS |
| Request should get its content-type from the init request | PASS |
| Request should not get its content-type from the init request if init headers are provided | PASS |
| Request with cache mode: only-if-cached and fetch mode cors | PASS |
| Request with cache mode: only-if-cached and fetch mode no-cors | PASS |
| Request with cache mode: only-if-cached and fetch mode: same-origin | PASS |
| RequestInit's cache mode is only-if-cached and mode is not same-origin | PASS |
| RequestInit's method is forbidden | PASS |
| RequestInit's method is invalid | PASS |
| RequestInit's mode is navigate | FAIL |
| RequestInit's mode is no-cors and method is not simple | PASS |
| RequestInit's referrer is invalid | PASS |
| RequestInit's window is not null | FAIL |
| /fetch/sec-metadata/redirect/multiple-redirect-same-site.tentative.https.sub.html (1/1, 100.00%, 0.04% of total) | OK |
| Same-Origin -> Same-Site -> Same-Origin redirect | FAIL |
| /fetch/sec-metadata/redirect/same-site-redirect.tentative.https.sub.html (3/3, 100.00%, 0.13% of total) | OK |
| Same-Site -> Cross-Site redirect | FAIL |
| Same-Site -> Same-Origin redirect | FAIL |
| Same-Site -> Same-Site redirect | FAIL |
| /fetch/cross-origin-resource-policy/syntax.any.html (6/6, 100.00%, 0.26% of total) | OK |
| Parsing Cross-Origin-Resource-Policy: SAME-ORIGIN | PASS |
| Parsing Cross-Origin-Resource-Policy: Same-Origin | PASS |
| Parsing Cross-Origin-Resource-Policy: same | PASS |
| Parsing Cross-Origin-Resource-Policy: same, same-origin | PASS |
| Parsing Cross-Origin-Resource-Policy: same-origin, <> | PASS |
| Parsing Cross-Origin-Resource-Policy: same-origin, same-origin | PASS |
| /fetch/cross-origin-resource-policy/iframe-loads.html (1/1, 100.00%, 0.04% of total) | OK |
| Load an iframe that has Cross-Origin-Resource-Policy header | FAIL |
| /fetch/api/basic/accept-header.any.html (4/4, 100.00%, 0.17% of total) | OK |
| Request through fetch should have 'accept' header with value '*/*' | PASS |
| Request through fetch should have 'accept' header with value 'custom/*' | PASS |
| Request through fetch should have 'accept-language' header with value 'bzh' | PASS |
| Request through fetch should have a 'accept-language' header | PASS |
| /fetch/corb/style-html-correctly-labeled.sub.html (1/1, 100.00%, 0.04% of total) | OK |
| style-html-correctly-labeled | PASS |
| /fetch/api/abort/destroyed-context.html (1/1, 100.00%, 0.04% of total) | TIMEOUT |
| aborting a fetch in a destroyed context should not crash | FAIL |
| /fetch/nosniff/image.html (11/11, 100.00%, 0.48% of total) | OK |
| URL query: | PASS |
| URL query: application/blah+xml | PASS |
| URL query: application/xml | PASS |
| URL query: image/gif | PASS |
| URL query: image/png | PASS |
| URL query: image/png;blah | PASS |
| URL query: image/svg+xml | PASS |
| URL query: null | PASS |
| URL query: text/html | PASS |
| URL query: x | PASS |
| URL query: x/x | PASS |
| /fetch/api/basic/request-head.any.html (1/1, 100.00%, 0.04% of total) | OK |
| Fetch with HEAD with body | PASS |
| /fetch/api/redirect/redirect-empty-location.any.html (2/2, 100.00%, 0.09% of total) | OK |
| redirect response with empty Location, follow mode | PASS |
| redirect response with empty Location, manual mode | PASS |
| /fetch/nosniff/stylesheet.html (18/18, 100.00%, 0.78% of total) | OK |
| Revalidated URL query: | PASS |
| Revalidated URL query: null | PASS |
| Revalidated URL query: text/css | PASS |
| Revalidated URL query: text/css;blah | PASS |
| Revalidated URL query: text/css;charset=utf-8 | PASS |
| Revalidated URL query: text/html | PASS |
| Revalidated URL query: text/json | PASS |
| Revalidated URL query: x | PASS |
| Revalidated URL query: x/x | PASS |
| URL query: | PASS |
| URL query: null | PASS |
| URL query: text/css | PASS |
| URL query: text/css;blah | PASS |
| URL query: text/css;charset=utf-8 | PASS |
| URL query: text/html | PASS |
| URL query: text/json | PASS |
| URL query: x | PASS |
| URL query: x/x | PASS |
| /fetch/api/abort/general.any.html (48/48, 100.00%, 2.08% of total) | TIMEOUT |
| Aborting rejects with AbortError | PASS |
| Aborting rejects with AbortError - no-cors | PASS |
| Already aborted signal can be used for many fetches | PASS |
| Already aborted signal does not make request | PASS |
| Already aborted signal rejects immediately | PASS |
| Clone aborts with original controller | PASS |
| Fetch aborted & connection closed when aborted after calling response.arrayBuffer() | PASS |
| Fetch aborted & connection closed when aborted after calling response.blob() | PASS |
| Fetch aborted & connection closed when aborted after calling response.formData() | TIMEOUT |
| Fetch aborted & connection closed when aborted after calling response.json() | NOTRUN |
| Fetch aborted & connection closed when aborted after calling response.text() | NOTRUN |
| Readable stream synchronously cancels with AbortError if aborted before reading | NOTRUN |
| Request is still 'used' if signal is aborted before fetching | PASS |
| Request objects have a signal property | PASS |
| Signal can be used to abort other fetches, even if another fetch succeeded before aborting | PASS |
| Signal on request object | PASS |
| Signal on request object created from request object | PASS |
| Signal on request object created from request object, with signal on second request | PASS |
| Signal on request object created from request object, with signal on second request overriding another | PASS |
| Signal removed by setting to null | PASS |
| Signal retained after unrelated properties are overridden by fetch | PASS |
| Signal state is cloned | PASS |
| Stream errors once aborted, after reading. Underlying connection closed. | NOTRUN |
| Stream errors once aborted. Underlying connection closed. | NOTRUN |
| Stream will not error if body is empty. It's closed with an empty queue before it errors. | NOTRUN |
| TypeError from request constructor takes priority - Bad cache init parameter value | PASS |
| TypeError from request constructor takes priority - Bad credentials init parameter value | PASS |
| TypeError from request constructor takes priority - Bad mode init parameter value | PASS |
| TypeError from request constructor takes priority - Bad redirect init parameter value | PASS |
| TypeError from request constructor takes priority - Bad referrerPolicy init parameter value | PASS |
| TypeError from request constructor takes priority - Input URL has credentials | PASS |
| TypeError from request constructor takes priority - Input URL is not valid | PASS |
| TypeError from request constructor takes priority - Request with cache mode: only-if-cached and fetch mode cors | PASS |
| TypeError from request constructor takes priority - Request with cache mode: only-if-cached and fetch mode no-cors | PASS |
| TypeError from request constructor takes priority - RequestInit's cache mode is only-if-cached and mode is not same-origin | PASS |
| TypeError from request constructor takes priority - RequestInit's method is forbidden | PASS |
| TypeError from request constructor takes priority - RequestInit's method is invalid | PASS |
| TypeError from request constructor takes priority - RequestInit's mode is navigate | PASS |
| TypeError from request constructor takes priority - RequestInit's mode is no-cors and method is not simple | PASS |
| TypeError from request constructor takes priority - RequestInit's referrer is invalid | PASS |
| TypeError from request constructor takes priority - RequestInit's window is not null | PASS |
| Underlying connection is closed when aborting after receiving response | PASS |
| Underlying connection is closed when aborting after receiving response - no-cors | PASS |
| response.arrayBuffer() rejects if already aborted | PASS |
| response.blob() rejects if already aborted | PASS |
| response.formData() rejects if already aborted | PASS |
| response.json() rejects if already aborted | PASS |
| response.text() rejects if already aborted | PASS |
| /fetch/api/basic/referrer.any.html (6/6, 100.00%, 0.26% of total) | OK |
| Referrer with credentials should be stripped | PASS |
| Referrer with fragment ID should be stripped | PASS |
| origin-when-cross-origin policy on a cross-origin URL | PASS |
| origin-when-cross-origin policy on a cross-origin URL after same-origin redirection | PASS |
| origin-when-cross-origin policy on a same-origin URL | PASS |
| origin-when-cross-origin policy on a same-origin URL after cross-origin redirection | PASS |
| /fetch/api/request/request-type-attribute-historical.html (1/1, 100.00%, 0.04% of total) | OK |
| 'type' getter should not exist on Request objects | PASS |
| /fetch/api/cors/cors-preflight-redirect.any.html (10/10, 100.00%, 0.43% of total) | OK |
| Redirection 301 after preflight failed | FAIL |
| Redirection 301 on preflight failed | FAIL |
| Redirection 302 after preflight failed | FAIL |
| Redirection 302 on preflight failed | FAIL |
| Redirection 303 after preflight failed | FAIL |
| Redirection 303 on preflight failed | FAIL |
| Redirection 307 after preflight failed | FAIL |
| Redirection 307 on preflight failed | FAIL |
| Redirection 308 after preflight failed | FAIL |
| Redirection 308 on preflight failed | FAIL |
| /fetch/api/request/request-clone.sub.html (2/2, 100.00%, 0.09% of total) | OK |
| Check cloning a request | PASS |
| Check cloning a request copies the headers | PASS |
| /fetch/sec-metadata/font.tentative.https.sub.html (3/3, 100.00%, 0.13% of total) | OK |
| Cross-Site font | FAIL |
| Same-Origin font | FAIL |
| Same-Site font | FAIL |
| /fetch/cross-origin-resource-policy/image-loads.html (6/6, 100.00%, 0.26% of total) | OK |
| Cross-origin cors image load with a 'Cross-Origin-Resource-Policy: same-origin' response header. | FAIL |
| Cross-origin cors image load with a 'Cross-Origin-Resource-Policy: same-site' response header. | FAIL |
| Cross-origin no-cors image load with a 'Cross-Origin-Resource-Policy: same-origin' response header. | PASS |
| Cross-origin no-cors image load with a 'Cross-Origin-Resource-Policy: same-site' response header. | PASS |
| Same-origin image load with a 'Cross-Origin-Resource-Policy: same-origin' response header. | PASS |
| Same-origin image load with a 'Cross-Origin-Resource-Policy: same-site' response header. | PASS |
| /fetch/api/cors/cors-preflight-status.any.html (27/27, 100.00%, 1.17% of total) | TIMEOUT |
| Preflight answered with status 200 | PASS |
| Preflight answered with status 201 | PASS |
| Preflight answered with status 202 | PASS |
| Preflight answered with status 203 | PASS |
| Preflight answered with status 204 | PASS |
| Preflight answered with status 205 | PASS |
| Preflight answered with status 206 | PASS |
| Preflight answered with status 300 | PASS |
| Preflight answered with status 301 | PASS |
| Preflight answered with status 302 | PASS |
| Preflight answered with status 303 | PASS |
| Preflight answered with status 304 | TIMEOUT |
| Preflight answered with status 305 | NOTRUN |
| Preflight answered with status 306 | NOTRUN |
| Preflight answered with status 307 | NOTRUN |
| Preflight answered with status 308 | NOTRUN |
| Preflight answered with status 400 | NOTRUN |
| Preflight answered with status 401 | NOTRUN |
| Preflight answered with status 402 | NOTRUN |
| Preflight answered with status 403 | NOTRUN |
| Preflight answered with status 404 | NOTRUN |
| Preflight answered with status 405 | NOTRUN |
| Preflight answered with status 501 | NOTRUN |
| Preflight answered with status 502 | NOTRUN |
| Preflight answered with status 503 | NOTRUN |
| Preflight answered with status 504 | NOTRUN |
| Preflight answered with status 505 | NOTRUN |
| /fetch/api/basic/text-utf8.html (30/30, 100.00%, 1.30% of total) | OK |
| UTF-16 without BOM decoded as UTF-8 (Request object) | PASS |
| UTF-16 without BOM decoded as UTF-8 (Response object) | PASS |
| UTF-16 without BOM decoded as UTF-8 with Request.text() | PASS |
| UTF-16 without BOM decoded as UTF-8 with Response.text() | PASS |
| UTF-16 without BOM decoded as UTF-8 with fetched data (UTF-16 charset) | PASS |
| UTF-16 without BOM decoded as UTF-8 with fetched data (UTF-8 charset) | PASS |
| UTF-16BE with BOM decoded as UTF-8 (Request object) | PASS |
| UTF-16BE with BOM decoded as UTF-8 (Response object) | PASS |
| UTF-16BE with BOM decoded as UTF-8 with Request.text() | PASS |
| UTF-16BE with BOM decoded as UTF-8 with Response.text() | PASS |
| UTF-16BE with BOM decoded as UTF-8 with fetched data (UTF-16 charset) | PASS |
| UTF-16BE with BOM decoded as UTF-8 with fetched data (UTF-8 charset) | PASS |
| UTF-16LE with BOM decoded as UTF-8 (Request object) | PASS |
| UTF-16LE with BOM decoded as UTF-8 (Response object) | PASS |
| UTF-16LE with BOM decoded as UTF-8 with Request.text() | PASS |
| UTF-16LE with BOM decoded as UTF-8 with Response.text() | PASS |
| UTF-16LE with BOM decoded as UTF-8 with fetched data (UTF-16 charset) | PASS |
| UTF-16LE with BOM decoded as UTF-8 with fetched data (UTF-8 charset) | PASS |
| UTF-8 with BOM (Request object) | PASS |
| UTF-8 with BOM (Response object) | PASS |
| UTF-8 with BOM with Request.text() | PASS |
| UTF-8 with BOM with Response.text() | PASS |
| UTF-8 with BOM with fetched data (UTF-16 charset) | PASS |
| UTF-8 with BOM with fetched data (UTF-8 charset) | PASS |
| UTF-8 without BOM (Request object) | PASS |
| UTF-8 without BOM (Response object) | PASS |
| UTF-8 without BOM with Request.text() | PASS |
| UTF-8 without BOM with Response.text() | PASS |
| UTF-8 without BOM with fetched data (UTF-16 charset) | PASS |
| UTF-8 without BOM with fetched data (UTF-8 charset) | PASS |
| /fetch/content-encoding/bad-gzip-body.any.html (6/6, 100.00%, 0.26% of total) | OK |
| Consuming the body of a resource with bad gzip content with arrayBuffer() should reject | PASS |
| Consuming the body of a resource with bad gzip content with blob() should reject | PASS |
| Consuming the body of a resource with bad gzip content with formData() should reject | PASS |
| Consuming the body of a resource with bad gzip content with json() should reject | PASS |
| Consuming the body of a resource with bad gzip content with text() should reject | PASS |
| Fetching a resource with bad gzip content should still resolve | PASS |
| /fetch/security/embedded-credentials.tentative.sub.html (6/6, 100.00%, 0.26% of total) | TIMEOUT |
| Embedded credentials are treated as network errors in frames. | FAIL |
| Embedded credentials are treated as network errors in new windows. | TIMEOUT |
| Embedded credentials are treated as network errors. | FAIL |
| Embedded credentials matching the top-level are not treated as network errors for relative URLs. | FAIL |
| Embedded credentials matching the top-level are not treated as network errors for same-origin URLs. | FAIL |
| Embedded credentials matching the top-level are treated as network errors for cross-origin URLs. | FAIL |
| /fetch/api/request/request-cache-no-store.html (8/8, 100.00%, 0.35% of total) | OK |
| RequestCache "no-store" mode does not check the cache for previously cached content and goes to the network regardless with Etag and fresh response | PASS |
| RequestCache "no-store" mode does not check the cache for previously cached content and goes to the network regardless with Etag and stale response | PASS |
| RequestCache "no-store" mode does not check the cache for previously cached content and goes to the network regardless with Last-Modified and fresh response | PASS |
| RequestCache "no-store" mode does not check the cache for previously cached content and goes to the network regardless with Last-Modified and stale response | PASS |
| RequestCache "no-store" mode does not store the response in the cache with Etag and fresh response | PASS |
| RequestCache "no-store" mode does not store the response in the cache with Etag and stale response | PASS |
| RequestCache "no-store" mode does not store the response in the cache with Last-Modified and fresh response | PASS |
| RequestCache "no-store" mode does not store the response in the cache with Last-Modified and stale response | PASS |
| /fetch/api/redirect/redirect-to-dataurl.any.html (5/5, 100.00%, 0.22% of total) | OK |
| Testing data URL loading after cross-origin redirection (cors mode) | PASS |
| Testing data URL loading after cross-origin redirection (no-cors mode) | FAIL |
| Testing data URL loading after same-origin redirection (cors mode) | PASS |
| Testing data URL loading after same-origin redirection (no-cors mode) | FAIL |
| Testing data URL loading after same-origin redirection (same-origin mode) | FAIL |
| /fetch/security/dangling-markup-mitigation-data-url.tentative.sub.html (14/14, 100.00%, 0.61% of total) | OK |
| <iframe id="dangling"\n src=" data:text/html,\n <img\n onload='window.parent.postMessage("loaded", "*");'\n onerror='window.parent.postMessage("error", "*");'\n src='http://webapitests2018.ctawave.org:8000/images/gr een-256x256.png?<'>\n ">\n </iframe> | FAIL |
| <iframe id="dangling"\n src=" data:text/html,\n <img\n onload='window.parent.postMessage("loaded", "*");'\n onerror='window.parent.postMessage("error", "*");'\n src='http://webapitests2018.ctawave.org:8000/images/gr een-256x256.png?<'>\n ">\n </iframe> | FAIL |
| <iframe id="dangling"\n src="\ndata:text/html,\n <img\n onload='window.parent.postMessage("loaded", "*");'\n onerror='window.parent.postMessage("error", "*");'\n src='http://webapitests2018.ctawave.org:8000/images/gr een-256x256.png?<'>\n ">\n </iframe> | FAIL |
| <iframe id="dangling"\n src="\rdata:text/html,\n <img\n onload='window.parent.postMessage("loaded", "*");'\n onerror='window.parent.postMessage("error", "*");'\n src='http://webapitests2018.ctawave.org:8000/images/gr een-256x256.png?<'>\n ">\n </iframe> | FAIL |
| <iframe id="dangling"\n src="\tdata:text/html,\n <img\n onload='window.parent.postMessage("loaded", "*");'\n onerror='window.parent.postMessage("error", "*");'\n src='http://webapitests2018.ctawave.org:8000/images/gr een-256x256.png?<'>\n ">\n </iframe> | FAIL |
| <iframe id="dangling"\n src="data:text/html,\n <img\n onload='window.parent.postMessage("loaded", "*");'\n onerror='window.parent.postMessage("error", "*");'\n src='http://webapitests2018.ctawave.org:8000/images/gr een-256x256.png'>\n ">\n </iframe> | PASS |
| <iframe id="dangling"\n src="data:text/html,\n <img\n onload='window.parent.postMessage("loaded", "*");'\n onerror='window.parent.postMessage("error", "*");'\n src='http://webapitests2018.ctawave.org:8000/images/gr een-256x256.png?&amp;lt;'>\n ">\n </iframe> | PASS |
| <iframe id="dangling"\n src="data:text/html,\n <img\n onload='window.parent.postMessage("loaded", "*");'\n onerror='window.parent.postMessage("error", "*");'\n src='http://webapitests2018.ctawave.org:8000/images/gr een-256x256.png?<'>\n ">\n </iframe> | FAIL |
| <iframe id="dangling"\n src="data:text/html,\n <img\n onload='window.parent.postMessage("loaded", "*");'\n onerror='window.parent.postMessage("error", "*");'\n src='http://webapitests2018.ctawave.org:8000/images/green-256x256.png?&amp;%2310;<'>\n ">\n </iframe> | PASS |
| <iframe id="dangling"\n src="data:text/html,\n <img\n onload='window.parent.postMessage("loaded", "*");'\n onerror='window.parent.postMessage("error", "*");'\n src='http://webapitests2018.ctawave.org:8000/images/green-256x256.png?<'>\n ">\n </iframe> | PASS |
| <img id="dangling" src="data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="> | PASS |
| <img id="dangling" src="data:image/png;base64,i VBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="> | PASS |
| <img id="dangling" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="> | PASS |
| <img id="dangling" src="data:image/svg+xml;utf8,\n <svg width='1' height='1' xmlns='http://www.w3.org/2000/svg'>\n <rect width='100%' height='100%' fill='rebeccapurple'/>\n <rect x='10%' y='10%' width='80%' height='80%' fill='lightgreen'/>\n </svg>"> | PASS |
| /fetch/api/response/response-stream-with-broken-then.any.html (6/6, 100.00%, 0.26% of total) | OK |
| Attempt to inject 8.2 via Object.prototype.then. | FAIL |
| Attempt to inject undefined via Object.prototype.then. | FAIL |
| Attempt to inject value: undefined via Object.prototype.then. | FAIL |
| Attempt to inject {done: false, value: bye} via Object.prototype.then. | FAIL |
| intercepting arraybuffer to body readable stream conversion via Object.prototype.then should not be possible | FAIL |
| intercepting arraybuffer to text conversion via Object.prototype.then should not be possible | PASS |
| /fetch/api/abort/keepalive.html (2/2, 100.00%, 0.09% of total) | OK |
| aborting a detached keepalive fetch should not do anything | PASS |
| aborting a keepalive fetch should work | PASS |
| /fetch/sec-metadata/style.tentative.https.sub.html (3/3, 100.00%, 0.13% of total) | TIMEOUT |
| Cross-Site st |