{
  "results": [
    {
      "test": "/service-workers/cache-storage/window/cache-add.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Cache.add called with no arguments",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.add called with relative URL specified as a string",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.add called with non-HTTP/HTTPS URL",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.add called with Request object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.add called with POST request",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.add called twice with the same Request object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.add with request with null body (not consumed)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.add with 206 response",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.addAll with 206 response",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.add with request that results in a status of 404",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.add with request that results in a status of 500",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.addAll with no arguments",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.addAll with a mix of valid and undefined arguments",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.addAll with an empty array",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.addAll with string URL arguments",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.addAll with Request arguments",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.addAll with a mix of succeeding and failing requests",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.addAll called with the same Request object specified twice",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.addAll should succeed when entries differ by vary header",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: object \"InvalidStateError: Cache.addAll(): duplicate requests (https://webapitests2018.ctawave.org:8443/service-workers/cache-storage/resources/vary.py?vary=x-shape)\""
        },
        {
          "name": "Cache.addAll should reject when entries are duplicate by vary header",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.addAll should reject when one entry has a vary header matching another entry",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/referer.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Verify the referer",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/claim-using-registration.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Test worker claims client which is using another registration",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Test for the waiting worker claims a client which is using the the same registration",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/fetch-request-xhr.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "initialize global state",
          "status": "PASS",
          "message": null
        },
        {
          "name": "event.request has the expected headers for same-origin GET.",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: object \"Error: assert_array_equals: event.request has the expected headers for same-origin GET. lengths differ, expected 1 got 2\""
        },
        {
          "name": "event.request has the expected headers for same-origin POST.",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: object \"Error: assert_array_equals: event.request has the expected headers for same-origin POST. lengths differ, expected 2 got 4\""
        },
        {
          "name": "event.request has the expected headers for cross-origin GET.",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: object \"Error: assert_array_equals: event.request has the expected headers for cross-origin GET. lengths differ, expected 1 got 2\""
        },
        {
          "name": "event.request has the expected headers for cross-origin POST.",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: object \"Error: assert_array_equals: event.request has the expected headers for cross-origin POST. lengths differ, expected 2 got 4\""
        },
        {
          "name": "FetchEvent#request.body contains XHR request data (string)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "FetchEvent#request.body contains XHR request data (blob)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "FetchEvent#request.method is set to XHR method",
          "status": "PASS",
          "message": null
        },
        {
          "name": "XHR using OPTIONS method",
          "status": "PASS",
          "message": null
        },
        {
          "name": "XHR with form data",
          "status": "PASS",
          "message": null
        },
        {
          "name": "XHR with mode/credentials set",
          "status": "PASS",
          "message": null
        },
        {
          "name": "XHR to data URL",
          "status": "PASS",
          "message": null
        },
        {
          "name": "restore global state",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/websocket.https.html",
      "status": "TIMEOUT",
      "message": null,
      "subtests": [
        {
          "name": "Verify WebSocket handshake channel does not get intercepted",
          "status": "TIMEOUT",
          "message": "Test timed out"
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/clients-matchall-exact-controller.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Test Clients.matchAll() with exact controller",
          "status": "FAIL",
          "message": "assert_array_equals: property 0, expected \"visible\" but got \"hidden\""
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/fetch-request-xhr-sync-on-worker.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Verify SyncXHR on Worker is intercepted",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/registration-script-url.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Script URL including URL-encoded slash",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Script URL including uppercase URL-encoded slash",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Script URL including URL-encoded backslash",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Script URL including uppercase URL-encoded backslash",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Script URL is a data URL",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Script URL including self-reference",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Script URL including parent-reference",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/cache-storage/serviceworker/cache-put.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Cache.put",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put called with simple Request and Response",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put called with Request and Response from fetch()",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put with Request without a body",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put with Response without a body",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put with a Response containing an empty URL",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put with an empty response body",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put with synthetic 206 response",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put with HTTP 206 response",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put with HTTP 500 response",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put called twice with matching Requests and different Responses",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put called twice with request URLs that differ only by a fragment",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put with a string request",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put with an invalid response",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put with a non-HTTP/HTTPS request",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put with a relative URL",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put with a non-GET request",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put with a null response",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put with a POST request",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put with a used response body",
          "status": "PASS",
          "message": null
        },
        {
          "name": "getReader() after Cache.put",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put with a VARY:* Response",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put with an embedded VARY:* Response",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put should store Response.redirect() correctly",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put called with simple Request and blob Response",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/fetch-response-taint.https.html",
      "status": "TIMEOUT",
      "message": null,
      "subtests": [
        {
          "name": "initialize global state",
          "status": "TIMEOUT",
          "message": "Test timed out"
        },
        {
          "name": "fetching url:\"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?\" mode:\"same-origin\" credentials:\"omit\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?\" mode:\"same-origin\" credentials:\"same-origin\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?\" mode:\"same-origin\" credentials:\"include\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?\" mode:\"no-cors\" credentials:\"omit\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?\" mode:\"no-cors\" credentials:\"same-origin\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?\" mode:\"no-cors\" credentials:\"include\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?\" mode:\"cors\" credentials:\"omit\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?\" mode:\"cors\" credentials:\"same-origin\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?\" mode:\"cors\" credentials:\"include\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url:\"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?\" mode:\"same-origin\" credentials:\"omit\" should fail.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url:\"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?\" mode:\"same-origin\" credentials:\"same-origin\" should fail.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url:\"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?\" mode:\"same-origin\" credentials:\"include\" should fail.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?\" mode:\"no-cors\" credentials:\"omit\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?\" mode:\"no-cors\" credentials:\"same-origin\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?\" mode:\"no-cors\" credentials:\"include\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url:\"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?\" mode:\"cors\" credentials:\"omit\" should fail.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url:\"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?\" mode:\"cors\" credentials:\"same-origin\" should fail.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url:\"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?\" mode:\"cors\" credentials:\"include\" should fail.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?ACAOrigin=*\" mode:\"cors\" credentials:\"omit\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?ACAOrigin=*\" mode:\"cors\" credentials:\"same-origin\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url:\"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?ACAOrigin=*\" mode:\"cors\" credentials:\"include\" should fail.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?ACAOrigin=https://webapitests2018.ctawave.org:8443&ACACredentials=true\" mode:\"cors\" credentials:\"include\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&\" mode:\"same-origin\" credentials:\"omit\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&\" mode:\"same-origin\" credentials:\"same-origin\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&\" mode:\"same-origin\" credentials:\"include\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&\" mode:\"no-cors\" credentials:\"omit\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&\" mode:\"no-cors\" credentials:\"same-origin\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&\" mode:\"no-cors\" credentials:\"include\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&\" mode:\"cors\" credentials:\"omit\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&\" mode:\"cors\" credentials:\"same-origin\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&\" mode:\"cors\" credentials:\"include\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url:\"https://www1.webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&\" mode:\"same-origin\" credentials:\"omit\" should fail.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url:\"https://www1.webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&\" mode:\"same-origin\" credentials:\"same-origin\" should fail.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url:\"https://www1.webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&\" mode:\"same-origin\" credentials:\"include\" should fail.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://www1.webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&\" mode:\"no-cors\" credentials:\"omit\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://www1.webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&\" mode:\"no-cors\" credentials:\"same-origin\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://www1.webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&\" mode:\"no-cors\" credentials:\"include\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://www1.webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&\" mode:\"cors\" credentials:\"omit\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://www1.webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&\" mode:\"cors\" credentials:\"same-origin\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://www1.webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&\" mode:\"cors\" credentials:\"include\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=same-origin&\" mode:\"same-origin\" credentials:\"omit\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=same-origin&\" mode:\"same-origin\" credentials:\"same-origin\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=same-origin&\" mode:\"same-origin\" credentials:\"include\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=same-origin&\" mode:\"no-cors\" credentials:\"omit\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=same-origin&\" mode:\"no-cors\" credentials:\"same-origin\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=same-origin&\" mode:\"no-cors\" credentials:\"include\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=same-origin&\" mode:\"cors\" credentials:\"omit\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=same-origin&\" mode:\"cors\" credentials:\"same-origin\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=same-origin&\" mode:\"cors\" credentials:\"include\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url:\"https://www1.webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=same-origin&\" mode:\"same-origin\" credentials:\"omit\" should fail.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url:\"https://www1.webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=same-origin&\" mode:\"same-origin\" credentials:\"same-origin\" should fail.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url:\"https://www1.webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=same-origin&\" mode:\"same-origin\" credentials:\"include\" should fail.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://www1.webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=same-origin&\" mode:\"no-cors\" credentials:\"omit\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://www1.webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=same-origin&\" mode:\"no-cors\" credentials:\"same-origin\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://www1.webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=same-origin&\" mode:\"no-cors\" credentials:\"include\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://www1.webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=same-origin&\" mode:\"cors\" credentials:\"omit\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://www1.webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=same-origin&\" mode:\"cors\" credentials:\"same-origin\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://www1.webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=same-origin&\" mode:\"cors\" credentials:\"include\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url:\"https://webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&\" mode:\"same-origin\" credentials:\"omit\" should fail.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url:\"https://webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&\" mode:\"same-origin\" credentials:\"same-origin\" should fail.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url:\"https://webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&\" mode:\"same-origin\" credentials:\"include\" should fail.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url:\"https://webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&\" mode:\"no-cors\" credentials:\"omit\" should fail.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url:\"https://webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&\" mode:\"no-cors\" credentials:\"same-origin\" should fail.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url:\"https://webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&\" mode:\"no-cors\" credentials:\"include\" should fail.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url:\"https://webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&\" mode:\"cors\" credentials:\"omit\" should fail.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url:\"https://webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&\" mode:\"cors\" credentials:\"same-origin\" should fail.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url:\"https://webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&\" mode:\"cors\" credentials:\"include\" should fail.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url:\"https://www1.webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&\" mode:\"same-origin\" credentials:\"omit\" should fail.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url:\"https://www1.webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&\" mode:\"same-origin\" credentials:\"same-origin\" should fail.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url:\"https://www1.webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&\" mode:\"same-origin\" credentials:\"include\" should fail.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url:\"https://www1.webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&\" mode:\"no-cors\" credentials:\"omit\" should fail.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url:\"https://www1.webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&\" mode:\"no-cors\" credentials:\"same-origin\" should fail.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url:\"https://www1.webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&\" mode:\"no-cors\" credentials:\"include\" should fail.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url:\"https://www1.webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&\" mode:\"cors\" credentials:\"omit\" should fail.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url:\"https://www1.webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&\" mode:\"cors\" credentials:\"same-origin\" should fail.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url:\"https://www1.webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=same-origin&credentials=omit&\" mode:\"cors\" credentials:\"include\" should fail.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url:\"https://webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=no-cors&credentials=omit&\" mode:\"same-origin\" credentials:\"omit\" should fail.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url:\"https://webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=no-cors&credentials=omit&\" mode:\"same-origin\" credentials:\"same-origin\" should fail.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url:\"https://webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=no-cors&credentials=omit&\" mode:\"same-origin\" credentials:\"include\" should fail.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=no-cors&credentials=omit&\" mode:\"no-cors\" credentials:\"omit\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=no-cors&credentials=omit&\" mode:\"no-cors\" credentials:\"same-origin\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=no-cors&credentials=omit&\" mode:\"no-cors\" credentials:\"include\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url:\"https://webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=no-cors&credentials=omit&\" mode:\"cors\" credentials:\"omit\" should fail.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url:\"https://webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=no-cors&credentials=omit&\" mode:\"cors\" credentials:\"same-origin\" should fail.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url:\"https://webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=no-cors&credentials=omit&\" mode:\"cors\" credentials:\"include\" should fail.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url:\"https://www1.webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=no-cors&credentials=omit&\" mode:\"same-origin\" credentials:\"omit\" should fail.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url:\"https://www1.webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=no-cors&credentials=omit&\" mode:\"same-origin\" credentials:\"same-origin\" should fail.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url:\"https://www1.webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=no-cors&credentials=omit&\" mode:\"same-origin\" credentials:\"include\" should fail.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://www1.webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=no-cors&credentials=omit&\" mode:\"no-cors\" credentials:\"omit\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://www1.webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=no-cors&credentials=omit&\" mode:\"no-cors\" credentials:\"same-origin\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://www1.webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=no-cors&credentials=omit&\" mode:\"no-cors\" credentials:\"include\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url:\"https://www1.webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=no-cors&credentials=omit&\" mode:\"cors\" credentials:\"omit\" should fail.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url:\"https://www1.webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=no-cors&credentials=omit&\" mode:\"cors\" credentials:\"same-origin\" should fail.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url:\"https://www1.webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3F&mode=no-cors&credentials=omit&\" mode:\"cors\" credentials:\"include\" should fail.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url:\"https://webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3D*&mode=cors&credentials=omit&\" mode:\"same-origin\" credentials:\"omit\" should fail.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url:\"https://webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3D*&mode=cors&credentials=omit&\" mode:\"same-origin\" credentials:\"same-origin\" should fail.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url:\"https://webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3D*&mode=cors&credentials=omit&\" mode:\"same-origin\" credentials:\"include\" should fail.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3D*&mode=cors&credentials=omit&\" mode:\"no-cors\" credentials:\"omit\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3D*&mode=cors&credentials=omit&\" mode:\"no-cors\" credentials:\"same-origin\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3D*&mode=cors&credentials=omit&\" mode:\"no-cors\" credentials:\"include\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3D*&mode=cors&credentials=omit&\" mode:\"cors\" credentials:\"omit\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3D*&mode=cors&credentials=omit&\" mode:\"cors\" credentials:\"same-origin\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3D*&mode=cors&credentials=omit&\" mode:\"cors\" credentials:\"include\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url:\"https://www1.webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3D*&mode=cors&credentials=omit&\" mode:\"same-origin\" credentials:\"omit\" should fail.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url:\"https://www1.webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3D*&mode=cors&credentials=omit&\" mode:\"same-origin\" credentials:\"same-origin\" should fail.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url:\"https://www1.webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3D*&mode=cors&credentials=omit&\" mode:\"same-origin\" credentials:\"include\" should fail.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://www1.webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3D*&mode=cors&credentials=omit&\" mode:\"no-cors\" credentials:\"omit\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://www1.webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3D*&mode=cors&credentials=omit&\" mode:\"no-cors\" credentials:\"same-origin\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://www1.webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3D*&mode=cors&credentials=omit&\" mode:\"no-cors\" credentials:\"include\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://www1.webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3D*&mode=cors&credentials=omit&\" mode:\"cors\" credentials:\"omit\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://www1.webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3D*&mode=cors&credentials=omit&\" mode:\"cors\" credentials:\"same-origin\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://www1.webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3D*&mode=cors&credentials=omit&\" mode:\"cors\" credentials:\"include\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url:\"https://webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%26ACACredentials%3Dtrue&mode=cors&credentials=include&\" mode:\"same-origin\" credentials:\"omit\" should fail.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url:\"https://webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%26ACACredentials%3Dtrue&mode=cors&credentials=include&\" mode:\"same-origin\" credentials:\"same-origin\" should fail.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url:\"https://webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%26ACACredentials%3Dtrue&mode=cors&credentials=include&\" mode:\"same-origin\" credentials:\"include\" should fail.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%26ACACredentials%3Dtrue&mode=cors&credentials=include&\" mode:\"no-cors\" credentials:\"omit\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%26ACACredentials%3Dtrue&mode=cors&credentials=include&\" mode:\"no-cors\" credentials:\"same-origin\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%26ACACredentials%3Dtrue&mode=cors&credentials=include&\" mode:\"no-cors\" credentials:\"include\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%26ACACredentials%3Dtrue&mode=cors&credentials=include&\" mode:\"cors\" credentials:\"omit\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%26ACACredentials%3Dtrue&mode=cors&credentials=include&\" mode:\"cors\" credentials:\"same-origin\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%26ACACredentials%3Dtrue&mode=cors&credentials=include&\" mode:\"cors\" credentials:\"include\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url:\"https://www1.webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%26ACACredentials%3Dtrue&mode=cors&credentials=include&\" mode:\"same-origin\" credentials:\"omit\" should fail.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url:\"https://www1.webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%26ACACredentials%3Dtrue&mode=cors&credentials=include&\" mode:\"same-origin\" credentials:\"same-origin\" should fail.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url:\"https://www1.webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%26ACACredentials%3Dtrue&mode=cors&credentials=include&\" mode:\"same-origin\" credentials:\"include\" should fail.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://www1.webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%26ACACredentials%3Dtrue&mode=cors&credentials=include&\" mode:\"no-cors\" credentials:\"omit\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://www1.webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%26ACACredentials%3Dtrue&mode=cors&credentials=include&\" mode:\"no-cors\" credentials:\"same-origin\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://www1.webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%26ACACredentials%3Dtrue&mode=cors&credentials=include&\" mode:\"no-cors\" credentials:\"include\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://www1.webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%26ACACredentials%3Dtrue&mode=cors&credentials=include&\" mode:\"cors\" credentials:\"omit\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://www1.webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%26ACACredentials%3Dtrue&mode=cors&credentials=include&\" mode:\"cors\" credentials:\"same-origin\" should succeed.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "fetching url:\"https://www1.webapitests2018.ctawave.org:8443/?url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%26ACACredentials%3Dtrue&mode=cors&credentials=include&\" mode:\"cors\" credentials:\"include\" should succeed.",
          "status": "NOTRUN",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/cache-storage/window/cache-delete.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Cache.delete with no arguments",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.delete called with a string URL",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.delete called with a Request object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.delete called with a HEAD request",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.delete supports ignoreVary",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.delete with a non-existent entry",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.delete with ignoreSearch option (request with search parameters)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.delete with ignoreSearch option (when it is specified as false)",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/ServiceWorkerGlobalScope/close.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "ServiceWorkerGlobalScope: close operation",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerGlobalScope close operation",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/update-after-navigation-fetch-event.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Update should be triggered after a navigation (no fetch event worker).",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Update should be triggered after a navigation (fetch event worker).",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Update should be triggered after a navigation (network error).",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/embed-and-object-are-not-intercepted.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "initialize global state",
          "status": "PASS",
          "message": null
        },
        {
          "name": "requests for EMBED elements of embedded HTML content should not be intercepted by service workers",
          "status": "PASS",
          "message": null
        },
        {
          "name": "requests for OBJECT elements of embedded HTML content should not be intercepted by service workers",
          "status": "PASS",
          "message": null
        },
        {
          "name": "requests for EMBED elements of an image should not be intercepted by service workers",
          "status": "PASS",
          "message": null
        },
        {
          "name": "requests for OBJECT elements of an image should not be intercepted by service workers",
          "status": "PASS",
          "message": null
        },
        {
          "name": "restore global state",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/update-after-navigation-redirect.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "service workers are updated on redirects during navigation",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/cache-storage/window/cache-match.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Cache.match with no matching entries",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match with URL",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match with Request",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match with multiple cache hits",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match with new Request",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match with HEAD",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match with ignoreSearch option (request with no search parameters)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match with ignoreSearch option (request with search parameter)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match supports ignoreMethod",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match supports ignoreVary",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match with URL containing fragment",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match with string fragment \"http\" as query",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match with responses containing \"Vary\" header",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match with Request and Response objects with different URLs",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match invoked multiple times for the same Request/Response",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match blob should be sliceable",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match with POST Request",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match with a non-2xx Response",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match with a network error Response",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache produces large Responses that can be cloned and read correctly.",
          "status": "PASS",
          "message": null
        },
        {
          "name": "cors-exposed header should be stored correctly.",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: object \"TypeError: Failed to fetch\""
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/update-recovery.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Recover from a bad service worker by updating after a failed navigation.",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: \"expected bad iframe should not fire a load event!\""
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/ServiceWorkerGlobalScope/postmessage.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Post loopback messages",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Post messages among service workers",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/fetch-event-respond-with-response-body-with-invalid-chunk.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Response with a ReadableStream having non-Uint8Array chunks should be transferred as errored",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/multiple-update.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Trigger multiple updates.",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/fetch-mixed-content-to-outscope.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Verify Mixed content of fetch() in a Service Worker",
          "status": "FAIL",
          "message": "assert_equals: expected \"finish\" but got \"FAIL(2)finish\""
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/update-result.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "ServiceWorkerRegistration.update() should resolve a registration object",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/cache-storage/serviceworker/cache-add.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Cache.add and Cache.addAll",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.add called with no arguments",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.add called with relative URL specified as a string",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.add called with non-HTTP/HTTPS URL",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.add called with Request object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.add called with POST request",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.add called twice with the same Request object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.add with request with null body (not consumed)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.add with 206 response",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.addAll with 206 response",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.add with request that results in a status of 404",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.add with request that results in a status of 500",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.addAll with no arguments",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.addAll with a mix of valid and undefined arguments",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.addAll with an empty array",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.addAll with string URL arguments",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.addAll with Request arguments",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.addAll with a mix of succeeding and failing requests",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.addAll called with the same Request object specified twice",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.addAll should succeed when entries differ by vary header",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.addAll should reject when entries are duplicate by vary header",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.addAll should reject when one entry has a vary header matching another entry",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/fetch-request-xhr-sync.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Verify SyncXHR is intercepted",
          "status": "FAIL",
          "message": "assert_equals: HTTP response status code for intercepted request expected 200 but got 404"
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/invalid-header.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Verify the response of FetchEvent using XMLHttpRequest",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/navigation-preload/request-headers.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Navigation Preload request headers.",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/registration-events.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Registration: events",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/fetch-frame-resource.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Basic type response could be loaded in the iframe.",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CORS type response could be loaded in the iframe.",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: object \"TypeError: Cannot read property 'jsonpResult' of null\""
        },
        {
          "name": "Opaque type response could not be loaded in the iframe.",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Basic type response could be loaded in the new window.",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: object \"TypeError: Cannot read property 'jsonpResult' of null\""
        },
        {
          "name": "CORS type response could be loaded in the new window.",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: object \"TypeError: Cannot read property 'jsonpResult' of null\""
        },
        {
          "name": "Opaque type response could not be loaded in the new window.",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/redirected-response.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "initialize global state (service worker registration and caches)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "mode: \"follow\", non-intercepted request, no server redirect",
          "status": "PASS",
          "message": null
        },
        {
          "name": "mode: \"follow\", non-intercepted request",
          "status": "PASS",
          "message": null
        },
        {
          "name": "mode: \"manual\", non-intercepted request",
          "status": "PASS",
          "message": null
        },
        {
          "name": "mode: \"error\", non-intercepted request",
          "status": "PASS",
          "message": null
        },
        {
          "name": "mode: \"follow\", no mode change, no server redirect",
          "status": "PASS",
          "message": null
        },
        {
          "name": "mode: \"follow\", no mode change",
          "status": "PASS",
          "message": null
        },
        {
          "name": "mode: \"error\", mode change: \"follow\"",
          "status": "PASS",
          "message": null
        },
        {
          "name": "mode: \"manual\", mode change: \"follow\"",
          "status": "PASS",
          "message": null
        },
        {
          "name": "mode: \"follow\", mode change: \"manual\"",
          "status": "PASS",
          "message": null
        },
        {
          "name": "mode: \"error\", mode change: \"manual\"",
          "status": "PASS",
          "message": null
        },
        {
          "name": "mode: \"manual\", no mode change",
          "status": "PASS",
          "message": null
        },
        {
          "name": "mode: \"follow\", generated redirect response",
          "status": "PASS",
          "message": null
        },
        {
          "name": "mode: \"error\", generated redirect response",
          "status": "PASS",
          "message": null
        },
        {
          "name": "mode: \"manual\", generated redirect response",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Fetch should follow the redirect response 20 times",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Fetch should not follow the redirect response 21 times.",
          "status": "PASS",
          "message": null
        },
        {
          "name": "The URL for the service worker redirected request should be propagated to response.",
          "status": "PASS",
          "message": null
        },
        {
          "name": "restore global state (service worker registration)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "restore global state (caches)",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/fetch-canvas-tainting-video-with-range-request.https.html",
      "status": "TIMEOUT",
      "message": null,
      "subtests": [
        {
          "name": "range responses from single origin (same-origin)",
          "status": "TIMEOUT",
          "message": "Test timed out"
        },
        {
          "name": "range responses from multiple origins (cross-origin first)",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "range responses from single origin with both opaque and non-opaque responses",
          "status": "NOTRUN",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/navigation-preload/broken-chunked-encoding.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "FetchEvent#preloadResponse resolves even if the body is sent with broken chunked encoding.",
          "status": "PASS",
          "message": null
        },
        {
          "name": "FetchEvent#preloadResponse resolves even if the body is sent with broken chunked encoding with some delays",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/registration-scope.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Scope including URL-encoded slash",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Scope including URL-encoded backslash",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Scope including URL-encoded multibyte characters",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Scope including non-escaped multibyte characters",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Scope including self-reference",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Scope including parent-reference",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Scope including consecutive slashes",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Scope URL is same-origin filesystem: URL",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/webvtt-cross-origin.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "initialize global state",
          "status": "PASS",
          "message": null
        },
        {
          "name": "same-origin text track should load",
          "status": "PASS",
          "message": null
        },
        {
          "name": "cross-origin text track with no-cors request should not load",
          "status": "PASS",
          "message": null
        },
        {
          "name": "cross-origin text track with rejected cors request should not load",
          "status": "PASS",
          "message": null
        },
        {
          "name": "cross-origin text track with approved cors request should not load",
          "status": "PASS",
          "message": null
        },
        {
          "name": "same-origin text track that redirects same-origin should load",
          "status": "PASS",
          "message": null
        },
        {
          "name": "same-origin text track that redirects cross-origin should not load",
          "status": "PASS",
          "message": null
        },
        {
          "name": "same-origin text track that redirects to a cross-origin text track with rejected cors should not load",
          "status": "PASS",
          "message": null
        },
        {
          "name": "same-origin text track that redirects to a cross-origin text track with approved cors should not load",
          "status": "PASS",
          "message": null
        },
        {
          "name": "restore global state",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/oninstall-script-error.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "install handler throws an error",
          "status": "PASS",
          "message": null
        },
        {
          "name": "install handler throws an error, error handler does not cancel",
          "status": "PASS",
          "message": null
        },
        {
          "name": "install handler dispatches an event that throws an error",
          "status": "PASS",
          "message": null
        },
        {
          "name": "install handler throws an error in the waitUntil",
          "status": "PASS",
          "message": null
        },
        {
          "name": "install handler throws an error that is cancelled",
          "status": "PASS",
          "message": null
        },
        {
          "name": "install handler throws an error and prevents default",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/install-event-type.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "install event type",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/fetch-request-css-base-url.https.html",
      "status": "TIMEOUT",
      "message": null,
      "subtests": [
        {
          "name": "global setup",
          "status": "PASS",
          "message": null
        },
        {
          "name": "base URL when service worker does respondWith(fetch(responseUrl)).",
          "status": "TIMEOUT",
          "message": "Test timed out"
        },
        {
          "name": "base URL when service worker does respondWith(new Response()).",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "cleanup global state",
          "status": "NOTRUN",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/clients-matchall.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Test Clients.matchAll()",
          "status": "FAIL",
          "message": "assert_array_equals: property 0, expected \"visible\" but got \"hidden\""
        }
      ]
    },
    {
      "test": "/service-workers/cache-storage/window/cache-put.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Cache.put called with simple Request and Response",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put called with Request and Response from fetch()",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put with Request without a body",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put with Response without a body",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put with a Response containing an empty URL",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put with an empty response body",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put with synthetic 206 response",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put with HTTP 206 response",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put with HTTP 500 response",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put called twice with matching Requests and different Responses",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put called twice with request URLs that differ only by a fragment",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put with a string request",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put with an invalid response",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put with a non-HTTP/HTTPS request",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put with a relative URL",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put with a non-GET request",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put with a null response",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put with a POST request",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put with a used response body",
          "status": "PASS",
          "message": null
        },
        {
          "name": "getReader() after Cache.put",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put with a VARY:* Response",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put with an embedded VARY:* Response",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put should store Response.redirect() correctly",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put called with simple Request and blob Response",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put called with simple Request and form data Response",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/cache-storage/serviceworker/cache-abort.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Cache Storage: Abort",
          "status": "PASS",
          "message": null
        },
        {
          "name": "put() on an already-aborted request should reject with AbortError",
          "status": "PASS",
          "message": null
        },
        {
          "name": "put() synchronously followed by abort should reject with AbortError",
          "status": "PASS",
          "message": null
        },
        {
          "name": "put() followed by abort after headers received should reject with AbortError",
          "status": "PASS",
          "message": null
        },
        {
          "name": "add() on an already-aborted request should reject with AbortError",
          "status": "PASS",
          "message": null
        },
        {
          "name": "add() synchronously followed by abort should reject with AbortError",
          "status": "PASS",
          "message": null
        },
        {
          "name": "add() followed by abort after headers received should reject with AbortError",
          "status": "PASS",
          "message": null
        },
        {
          "name": "addAll() on an already-aborted request should reject with AbortError",
          "status": "PASS",
          "message": null
        },
        {
          "name": "addAll() synchronously followed by abort should reject with AbortError",
          "status": "PASS",
          "message": null
        },
        {
          "name": "addAll() followed by abort after headers received should reject with AbortError",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/fetch-event.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "global setup",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Service Worker headers in the request of a fetch event",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Service Worker responds to fetch event with string",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Service Worker responds to fetch event using request fragment with string",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Service Worker responds to fetch event with blob body",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Service Worker responds to fetch event with the referrer URL",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Service Worker responds to fetch event with an existing client id",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Service Worker responds to fetch event with the correct resulting client id",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Service Worker does not respond to fetch event",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Service Worker responds to fetch event with null response body",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Service Worker fetches other file in fetch event",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Service Worker responds to fetch event with POST form",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Service Worker falls back to network in fetch event with POST form",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Multiple calls of respondWith must throw InvalidStateErrors",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Service Worker event.respondWith must set the used flag",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Service Worker should expose FetchEvent URL fragments.",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Service Worker responds to fetch event with the correct cache types",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Service Worker should intercept EventSource",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Service Worker responds to fetch event with the correct integrity_metadata",
          "status": "FAIL",
          "message": "assert_equals: integrity expected \"gs0nqru8KbsrIt5YToQqS9fYao4GQJXtcId610g7cCU=\" but got \"\""
        },
        {
          "name": "FetchEvent#body is a string",
          "status": "PASS",
          "message": null
        },
        {
          "name": "FetchEvent#body is a string and is passed to network fallback",
          "status": "PASS",
          "message": null
        },
        {
          "name": "FetchEvent#body is a blob",
          "status": "PASS",
          "message": null
        },
        {
          "name": "FetchEvent#body is a blob and is passed to network fallback",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Service Worker responds to fetch event with the correct keepalive value",
          "status": "PASS",
          "message": null
        },
        {
          "name": "FetchEvent#request.isReloadNavigation is true (location.reload())",
          "status": "FAIL",
          "message": "assert_equals: expected \"method = GET, isReloadNavigation = false\" but got \"method = GET, isReloadNavigation = undefined\""
        },
        {
          "name": "FetchEvent#request.isReloadNavigation is true (history.go(0))",
          "status": "FAIL",
          "message": "assert_equals: expected \"method = GET, isReloadNavigation = false\" but got \"method = GET, isReloadNavigation = undefined\""
        },
        {
          "name": "FetchEvent#request.isReloadNavigation is true (POST + location.reload())",
          "status": "FAIL",
          "message": "assert_equals: expected \"method = GET, isReloadNavigation = false\" but got \"method = GET, isReloadNavigation = undefined\""
        },
        {
          "name": "FetchEvent#request.isReloadNavigation is true (with history traversal)",
          "status": "FAIL",
          "message": "assert_equals: expected \"method = GET, isReloadNavigation = false\" but got \"method = GET, isReloadNavigation = undefined\""
        },
        {
          "name": "FetchEvent#request.isHistoryNavigation is true (with history.go(-1))",
          "status": "PASS",
          "message": null
        },
        {
          "name": "FetchEvent#request.isHistoryNavigation is true (with history.go(1))",
          "status": "PASS",
          "message": null
        },
        {
          "name": "FetchEvent#request.isHistoryNavigation is false (with history.go(0))",
          "status": "PASS",
          "message": null
        },
        {
          "name": "FetchEvent#request.isHistoryNavigation is false (with location.reload)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "FetchEvent#request.isHistoryNavigation is true (with history.go(-2))",
          "status": "PASS",
          "message": null
        },
        {
          "name": "FetchEvent#request.isHistoryNavigation is true (with history.go(2))",
          "status": "PASS",
          "message": null
        },
        {
          "name": "FetchEvent#request.isHistoryNavigation is true (POST + history.go(-1))",
          "status": "PASS",
          "message": null
        },
        {
          "name": "restore global state",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/cache-storage/worker/cache-abort.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "put() on an already-aborted request should reject with AbortError",
          "status": "PASS",
          "message": null
        },
        {
          "name": "put() synchronously followed by abort should reject with AbortError",
          "status": "PASS",
          "message": null
        },
        {
          "name": "put() followed by abort after headers received should reject with AbortError",
          "status": "PASS",
          "message": null
        },
        {
          "name": "add() on an already-aborted request should reject with AbortError",
          "status": "PASS",
          "message": null
        },
        {
          "name": "add() synchronously followed by abort should reject with AbortError",
          "status": "PASS",
          "message": null
        },
        {
          "name": "add() followed by abort after headers received should reject with AbortError",
          "status": "PASS",
          "message": null
        },
        {
          "name": "addAll() on an already-aborted request should reject with AbortError",
          "status": "PASS",
          "message": null
        },
        {
          "name": "addAll() synchronously followed by abort should reject with AbortError",
          "status": "PASS",
          "message": null
        },
        {
          "name": "addAll() followed by abort after headers received should reject with AbortError",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/claim-affect-other-registration.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "claim() should affect the originally controlling registration.",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/update-registration-with-type.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Update the registration with a different script type (classic => module).",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: object \"ReferenceError: guid is not defined\""
        },
        {
          "name": "Update the registration with a different script type (module => classic).",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: object \"ReferenceError: guid is not defined\""
        },
        {
          "name": "Update the registration with a different script type (classic => module) and with a same main script.",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: object \"NotSupportedError: type 'module' in RegistrationOptions is not implemented yet.See https://crbug.com/824647 for details.\""
        },
        {
          "name": "Update the registration with a different script type (module => classic) and with a same main script.",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: object \"NotSupportedError: type 'module' in RegistrationOptions is not implemented yet.See https://crbug.com/824647 for details.\""
        },
        {
          "name": "Does not update the registration with the same script type and the same main script.",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: object \"NotSupportedError: type 'module' in RegistrationOptions is not implemented yet.See https://crbug.com/824647 for details.\""
        },
        {
          "name": "Update the registration with a different script type (classic => module) and with a same main script. Expect evaluation failed.",
          "status": "FAIL",
          "message": "assert_throws: Registering with invalid evaluation should be failed. function \"function() { throw e }\" threw object \"NotSupportedError: type 'module' in RegistrationOptions is not implemented yet.See https://crbug.com/824647 for details.\" (\"NotSupportedError\") expected object \"TypeError\" (\"TypeError\")"
        },
        {
          "name": "Update the registration with a different script type (module => classic) and with a same main script. Expect evaluation failed.",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: object \"NotSupportedError: type 'module' in RegistrationOptions is not implemented yet.See https://crbug.com/824647 for details.\""
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/service-worker-csp-script.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "CSP test for script-src in ServiceWorkerGlobalScope",
          "status": "PASS",
          "message": null
        },
        {
          "name": "importScripts test for script-src",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Fetch test for script-src",
          "status": "FAIL",
          "message": "assert_unreached: unexpected rejection: assert_unreached: fetch should not fail. Reached unreachable code Reached unreachable code"
        },
        {
          "name": "Redirected fetch test for script-src",
          "status": "FAIL",
          "message": "assert_unreached: unexpected rejection: assert_unreached: Redirected fetch should not fail. Reached unreachable code Reached unreachable code"
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/uncontrolled-page.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Fetch events should not go through uncontrolled page.",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/postmessage-to-client.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "postMessage from ServiceWorker to Client.",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/resource-timing.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Controlled resource loads",
          "status": "FAIL",
          "message": "assert_equals: Network fallback cross-origin image expected 1 but got 0"
        },
        {
          "name": "Non-controlled resource loads",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/interfaces-window.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "test setup (worker registration)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "navigator.serviceWorker is not available in a data: iframe",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorker interface: existence and properties of interface object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorker interface object length",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorker interface object name",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorker interface: existence and properties of interface prototype object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorker interface: existence and properties of interface prototype object's \"constructor\" property",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorker interface: existence and properties of interface prototype object's @@unscopables property",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorker interface: attribute scriptURL",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorker interface: attribute state",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorker interface: operation postMessage(any, [object Object])",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorker interface: attribute onstatechange",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorker must be primary interface of window.registrationInstance.installing",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Stringification of window.registrationInstance.installing",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorker interface: window.registrationInstance.installing must inherit property \"scriptURL\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorker interface: window.registrationInstance.installing must inherit property \"state\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorker interface: window.registrationInstance.installing must inherit property \"postMessage(any, [object Object])\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorker interface: calling postMessage(any, [object Object]) on window.registrationInstance.installing with too few arguments must throw TypeError",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorker interface: window.registrationInstance.installing must inherit property \"onstatechange\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerRegistration interface: existence and properties of interface object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerRegistration interface object length",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerRegistration interface object name",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerRegistration interface: existence and properties of interface prototype object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerRegistration interface: existence and properties of interface prototype object's \"constructor\" property",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerRegistration interface: existence and properties of interface prototype object's @@unscopables property",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerRegistration interface: attribute installing",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerRegistration interface: attribute waiting",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerRegistration interface: attribute active",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerRegistration interface: attribute scope",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerRegistration interface: attribute updateViaCache",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerRegistration interface: operation update()",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerRegistration interface: operation unregister()",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerRegistration interface: attribute onupdatefound",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerRegistration must be primary interface of window.registrationInstance",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Stringification of window.registrationInstance",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerRegistration interface: window.registrationInstance must inherit property \"installing\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerRegistration interface: window.registrationInstance must inherit property \"waiting\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerRegistration interface: window.registrationInstance must inherit property \"active\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerRegistration interface: window.registrationInstance must inherit property \"scope\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerRegistration interface: window.registrationInstance must inherit property \"updateViaCache\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerRegistration interface: window.registrationInstance must inherit property \"update()\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerRegistration interface: window.registrationInstance must inherit property \"unregister()\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerRegistration interface: window.registrationInstance must inherit property \"onupdatefound\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerGlobalScope interface: existence and properties of interface object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Client interface: existence and properties of interface object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "WindowClient interface: existence and properties of interface object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Clients interface: existence and properties of interface object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache interface: existence and properties of interface object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache interface object length",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache interface object name",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache interface: existence and properties of interface prototype object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache interface: existence and properties of interface prototype object's \"constructor\" property",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache interface: existence and properties of interface prototype object's @@unscopables property",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache interface: operation match(RequestInfo, CacheQueryOptions)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache interface: operation matchAll(RequestInfo, CacheQueryOptions)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache interface: operation add(RequestInfo)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache interface: operation addAll([object Object])",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache interface: operation put(RequestInfo, Response)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache interface: operation delete(RequestInfo, CacheQueryOptions)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache interface: operation keys(RequestInfo, CacheQueryOptions)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage interface: existence and properties of interface object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage interface object length",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage interface object name",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage interface: existence and properties of interface prototype object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage interface: existence and properties of interface prototype object's \"constructor\" property",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage interface: existence and properties of interface prototype object's @@unscopables property",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage interface: operation match(RequestInfo, MultiCacheQueryOptions)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage interface: operation has(DOMString)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage interface: operation open(DOMString)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage interface: operation delete(DOMString)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage interface: operation keys()",
          "status": "PASS",
          "message": null
        },
        {
          "name": "WorkerGlobalScope interface: existence and properties of interface object",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/fetch-mixed-content-to-inscope.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Verify Mixed content of fetch() in a Service Worker",
          "status": "FAIL",
          "message": "assert_equals: expected \"finish\" but got \"FAIL(2)finish\""
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/clients-matchall-client-types.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Verify matchAll() with window client type",
          "status": "FAIL",
          "message": "assert_array_equals: property 0, expected \"visible\" but got \"hidden\""
        },
        {
          "name": "Verify matchAll() with {window, sharedworker, worker} client types",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: object \"Error: wait_for_state must be passed a ServiceWorker\""
        }
      ]
    },
    {
      "test": "/service-workers/cache-storage/common.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Window sees cache puts by Worker",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/multiple-register.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Subsequent registrations resolve to the same registration object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Subsequent registrations from a different iframe resolve to the different registration object but they refer to the same registration and workers",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Concurrent registrations resolve to the same registration object",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/fetch-canvas-tainting-video-cache.https.html",
      "status": "TIMEOUT",
      "message": null,
      "subtests": [
        {
          "name": "initialize global state",
          "status": "TIMEOUT",
          "message": "Test timed out"
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&reject\" with crossOrigin \"\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&reject\" with crossOrigin \"anonymous\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&reject\" with crossOrigin \"use-credentials\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&ignore\" with crossOrigin \"\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&ignore\" with crossOrigin \"\" should be TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&ignore\" with crossOrigin \"anonymous\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&ACAOrigin=https://webapitests2018.ctawave.org:8443&ignore\" with crossOrigin \"anonymous\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&ignore\" with crossOrigin \"use-credentials\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&ACAOrigin=https://webapitests2018.ctawave.org:8443&ignore\" with crossOrigin \"use-credentials\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&ACAOrigin=https://webapitests2018.ctawave.org:8443&ACACredentials=true&ignore\" with crossOrigin \"use-credentials\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&Auth&ignore\" with crossOrigin \"\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&Auth&ignore\" with crossOrigin \"\" should be TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&Auth&ignore\" with crossOrigin \"anonymous\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&Auth&ignore\" with crossOrigin \"use-credentials\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&Auth&ACAOrigin=https://webapitests2018.ctawave.org:8443&ignore\" with crossOrigin \"use-credentials\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&Auth&ACAOrigin=https://webapitests2018.ctawave.org:8443&ACACredentials=true&ignore\" with crossOrigin \"use-credentials\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&mode=same-origin&url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26cache%3Dtrue\" with crossOrigin \"\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&mode=same-origin&url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26cache%3Dtrue\" with crossOrigin \"anonymous\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&mode=same-origin&url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26cache%3Dtrue\" with crossOrigin \"use-credentials\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&mode=same-origin&url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26cache%3Dtrue\" with crossOrigin \"\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&mode=same-origin&url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26cache%3Dtrue\" with crossOrigin \"anonymous\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&mode=same-origin&url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26cache%3Dtrue\" with crossOrigin \"use-credentials\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&mode=no-cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26cache%3Dtrue\" with crossOrigin \"\" should be TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&mode=no-cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26cache%3Dtrue\" with crossOrigin \"anonymous\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&mode=no-cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26cache%3Dtrue\" with crossOrigin \"use-credentials\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&mode=no-cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26cache%3Dtrue\" with crossOrigin \"\" should be TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&mode=no-cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26cache%3Dtrue\" with crossOrigin \"anonymous\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&mode=no-cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26cache%3Dtrue\" with crossOrigin \"use-credentials\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&mode=cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26cache%3Dtrue%26ACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443\" with crossOrigin \"\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&mode=cors&credentials=same-origin&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26cache%3Dtrue%26ACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443\" with crossOrigin \"\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&mode=cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26cache%3Dtrue%26ACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443\" with crossOrigin \"anonymous\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&mode=cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26cache%3Dtrue%26ACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443\" with crossOrigin \"use-credentials\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&mode=cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26cache%3Dtrue%26ACACredentials%3Dtrue%26ACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443\" with crossOrigin \"use-credentials\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&mode=cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26cache%3Dtrue%26ACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443\" with crossOrigin \"\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&mode=cors&credentials=same-origin&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26cache%3Dtrue%26ACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443\" with crossOrigin \"\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&mode=cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26cache%3Dtrue%26ACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443\" with crossOrigin \"anonymous\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&mode=cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26cache%3Dtrue%26ACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443\" with crossOrigin \"use-credentials\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&cache=true&mode=cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26cache%3Dtrue%26ACACredentials%3Dtrue%26ACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443\" with crossOrigin \"use-credentials\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/cache-storage/worker/cache-add.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Cache.add called with no arguments",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.add called with relative URL specified as a string",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.add called with non-HTTP/HTTPS URL",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.add called with Request object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.add called with POST request",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.add called twice with the same Request object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.add with request with null body (not consumed)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.add with 206 response",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.addAll with 206 response",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.add with request that results in a status of 404",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.add with request that results in a status of 500",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.addAll with no arguments",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.addAll with a mix of valid and undefined arguments",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.addAll with an empty array",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.addAll with string URL arguments",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.addAll with Request arguments",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.addAll with a mix of succeeding and failing requests",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.addAll called with the same Request object specified twice",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.addAll should succeed when entries differ by vary header",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: object \"InvalidStateError: Cache.addAll(): duplicate requests (https://webapitests2018.ctawave.org:8443/service-workers/cache-storage/resources/vary.py?vary=x-shape)\""
        },
        {
          "name": "Cache.addAll should reject when entries are duplicate by vary header",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.addAll should reject when one entry has a vary header matching another entry",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/ServiceWorkerGlobalScope/update.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Update a registration on ServiceWorkerGlobalScope",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/register-default-scope.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "default scope",
          "status": "PASS",
          "message": null
        },
        {
          "name": "undefined scope",
          "status": "PASS",
          "message": null
        },
        {
          "name": "null scope",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/cache-storage/serviceworker/cache-keys-attributes-for-service-worker.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Request.IsReloadNavigation should persist.",
          "status": "FAIL",
          "message": "assert_equals: expected \"original: false, stored: false\" but got \"original: undefined, stored: undefined\""
        },
        {
          "name": "Request.IsHistoryNavigation should persist.",
          "status": "FAIL",
          "message": "assert_equals: expected \"original: true, stored: true\" but got \"original: true, stored: false\""
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/claim-worker-fetch.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "fetch() in Worker should be intercepted after the client is claimed.",
          "status": "PASS",
          "message": null
        },
        {
          "name": "fetch() in nested Worker should be intercepted after the client is claimed.",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/fetch-event-respond-with-body-loaded-in-chunk.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Respond by chunks with a Response being loaded",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/active.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "active is set",
          "status": "PASS",
          "message": null
        },
        {
          "name": "The ServiceWorker objects returned from active attribute getter that represent the same service worker are the same objects",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/import-scripts-mime-types.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Global setup",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Fetch importScripts tests from service worker",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Importing script with no MIME type ",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Importing script with bad MIME type text/plain",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Importing script with valid JavaScript MIME type application/ecmascript",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Importing script with valid JavaScript MIME type application/javascript",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Importing script with valid JavaScript MIME type application/x-ecmascript",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Importing script with valid JavaScript MIME type application/x-javascript",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Importing script with valid JavaScript MIME type text/ecmascript",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Importing script with valid JavaScript MIME type text/javascript",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Importing script with valid JavaScript MIME type text/javascript1.0",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Importing script with valid JavaScript MIME type text/javascript1.1",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Importing script with valid JavaScript MIME type text/javascript1.2",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Importing script with valid JavaScript MIME type text/javascript1.3",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Importing script with valid JavaScript MIME type text/javascript1.4",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Importing script with valid JavaScript MIME type text/javascript1.5",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Importing script with valid JavaScript MIME type text/jscript",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Importing script with valid JavaScript MIME type text/livescript",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Importing script with valid JavaScript MIME type text/x-ecmascript",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Importing script with valid JavaScript MIME type text/x-javascript",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/clients-get-client-types.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Test Clients.get() with window and worker clients",
          "status": "FAIL",
          "message": "assert_array_equals: Window client property 0, expected \"visible\" but got \"hidden\""
        }
      ]
    },
    {
      "test": "/service-workers/cache-storage/window/cache-storage-keys.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "CacheStorage keys",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/fetch-event-within-sw.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Service worker intercepts requests from window",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Service worker does not intercept fetch/cache requests within service worker",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/fetch-request-no-freshness-headers.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "The headers of FetchEvent shouldn't contain freshness headers.",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/cache-storage/serviceworker/cache-match.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Cache.match",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match with no matching entries",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match with URL",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match with Request",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match with multiple cache hits",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match with new Request",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match with HEAD",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match with ignoreSearch option (request with no search parameters)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match with ignoreSearch option (request with search parameter)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match supports ignoreMethod",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match supports ignoreVary",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match with URL containing fragment",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match with string fragment \"http\" as query",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match with responses containing \"Vary\" header",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match with Request and Response objects with different URLs",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match invoked multiple times for the same Request/Response",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match blob should be sliceable",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match with POST Request",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match with a non-2xx Response",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match with a network error Response",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache produces large Responses that can be cloned and read correctly.",
          "status": "PASS",
          "message": null
        },
        {
          "name": "cors-exposed header should be stored correctly.",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: object \"TypeError: Failed to fetch\""
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/serviceworker-message-event-historical.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Test MessageEvent supplants ServiceWorkerMessageEvent.",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/skip-waiting.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Test skipWaiting with both active and waiting workers",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/fetch-request-resources.https.html",
      "status": "TIMEOUT",
      "message": null,
      "subtests": [
        {
          "name": "Verify FetchEvent for resources.",
          "status": "TIMEOUT",
          "message": "Test timed out"
        },
        {
          "name": "Image load (url:https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/dummy?test1 cross_origin:)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Image load (url:https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/dummy?test2 cross_origin:)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CSS load (url:https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/dummy?test3 cross_origin:)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CSS load (url:https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/dummy?test4 cross_origin:)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Image load (url:https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/dummy?test5 cross_origin:anonymous)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Image load (url:https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/dummy?test6 cross_origin:use-credentials)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Image load (url:https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/dummy?test7 cross_origin:)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Image load (url:https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/dummy?test8 cross_origin:anonymous)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Image load (url:https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/dummy?test9 cross_origin:use-credentials)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Script load (url:https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/dummy?test10 cross_origin:)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Script load (url:https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/dummy?test11 cross_origin:anonymous)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Script load (url:https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/dummy?test12 cross_origin:use-credentials)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Script load (url:https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/dummy?test13 cross_origin:)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Script load (url:https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/dummy?test14 cross_origin:anonymous)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Script load (url:https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/dummy?test15 cross_origin:use-credentials)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CSS load (url:https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/dummy?test16 cross_origin:)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CSS load (url:https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/dummy?test17 cross_origin:anonymous)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CSS load (url:https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/dummy?test18 cross_origin:use-credentials)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CSS load (url:https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/dummy?test19 cross_origin:)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CSS load (url:https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/dummy?test20 cross_origin:anonymous)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CSS load (url:https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/dummy?test21 cross_origin:use-credentials)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "FontFace load (url:https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/dummy?test22)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "FontFace load (url:https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/dummy?test23)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Script load (url:https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/dummy?test24)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Script load (url:https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/dummy?test25)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Script load (url:https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/dummy?test26)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Script load (url:https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/dummy?test27)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Script load (url:https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/dummy?test28)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Script load (url:https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/dummy?test29)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CSS load (url:https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/dummy?test30)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CSS load (url:https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/dummy?test31)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CSS load (url:https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/dummy?test32)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CSS load (url:https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/dummy?test33)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CSS load (url:https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/dummy?test34)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CSS load (url:https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/dummy?test35)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "fetch (url:https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/dummy?test36 mode:same-origin credentials:omit)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "fetch (url:https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/dummy?test37 mode:same-origin credentials:same-origin)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "fetch (url:https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/dummy?test38 mode:same-origin credentials:include)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "fetch (url:https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/dummy?test39 mode:no-cors credentials:omit)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "fetch (url:https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/dummy?test40 mode:no-cors credentials:same-origin)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "fetch (url:https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/dummy?test41 mode:no-cors credentials:include)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "fetch (url:https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/dummy?test42 mode:cors credentials:omit)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "fetch (url:https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/dummy?test43 mode:cors credentials:same-origin)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "fetch (url:https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/dummy?test44 mode:cors credentials:include)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "fetch (url:https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/dummy?test45 mode:no-cors credentials:omit)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "fetch (url:https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/dummy?test46 mode:no-cors credentials:same-origin)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "fetch (url:https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/dummy?test47 mode:no-cors credentials:include)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "fetch (url:https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/dummy?test48 mode:cors credentials:omit)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "fetch (url:https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/dummy?test49 mode:cors credentials:same-origin)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "fetch (url:https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/dummy?test50 mode:cors credentials:include)",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/installing.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "installing is set",
          "status": "FAIL",
          "message": "assert_equals: controller expected null but got object \"[object ServiceWorker]\""
        },
        {
          "name": "The ServiceWorker objects returned from installing attribute getter that represent the same service worker are the same objects",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/ServiceWorkerGlobalScope/extendable-message-event-constructor.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "ServiceWorkerGlobalScope: ExtendableMessageEvent Constructor",
          "status": "PASS",
          "message": null
        },
        {
          "name": "no initializer specified",
          "status": "PASS",
          "message": null
        },
        {
          "name": "`bubbles` is specified",
          "status": "PASS",
          "message": null
        },
        {
          "name": "`cancelable` is specified",
          "status": "PASS",
          "message": null
        },
        {
          "name": "`data` is specified",
          "status": "PASS",
          "message": null
        },
        {
          "name": "`origin` is specified",
          "status": "PASS",
          "message": null
        },
        {
          "name": "`lastEventId` is specified",
          "status": "PASS",
          "message": null
        },
        {
          "name": "`source` is specified",
          "status": "PASS",
          "message": null
        },
        {
          "name": "`ports` is specified",
          "status": "PASS",
          "message": null
        },
        {
          "name": "all initial values are specified",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/rejections.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Rejections are DOMExceptions",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/import-scripts-resource-map.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "import the same script URL multiple times",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/registration-iframe.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "register method should use the \"relevant global object\" to parse its scriptURL and scope - normal case",
          "status": "PASS",
          "message": null
        },
        {
          "name": "register method should use the \"relevant global object\" to parse its scriptURL and scope - error case",
          "status": "PASS",
          "message": null
        },
        {
          "name": "A scope url should start with the given script url",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/fetch-canvas-tainting-double-write.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "canvas is tainted after writing both a non-opaque image and an opaque image from the same URL",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: \"failed to load: https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE\""
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/claim-shared-worker-fetch.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "fetch() in SharedWorker should be intercepted after the client is claimed.",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/cache-storage/serviceworker/cache-storage-match.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "CacheStorage.match",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorageMatch with no cache name provided",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorageMatch from one of many caches",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorageMatch from one of many caches by name",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorageMatch a string request",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorageMatch a HEAD request",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorageMatch with no cached entry",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorageMatch with no caches available but name provided",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorageMatch with empty cache name provided",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorageMatch supports ignoreSearch",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match supports ignoreMethod",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorageMatch supports ignoreVary",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/ServiceWorkerGlobalScope/service-worker-error-event.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Error handlers inside serviceworker should see the attributes of ErrorEvent",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/unregister-then-register.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Unregister then register resolves to a new value",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Unregister then register resolves to the original value if the registration is in use.",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Reloading the last controlled iframe after unregistration should ensure the deletion of the registration",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Unregister then register does not affect existing controllee",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Unregister then register resurrects the registration",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/skip-waiting-installed.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Test skipWaiting when a installed worker is waiting",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/fetch-event-respond-with-stops-propagation.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "respondWith() invokes stopImmediatePropagation()",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/fetch-header-visibility.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Visibility of defaulted headers during interception",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: \"withUA FAIL - expected \\\"custom_ua\\\", got \\\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3640.0 Safari/537.36\\\"\""
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/clients-matchall-order.https.html",
      "status": "TIMEOUT",
      "message": null,
      "subtests": [
        {
          "name": "Clients.matchAll() returns non-focused controlled windows in creation order.",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Clients.matchAll() returns controlled windows in focus order.  Case 1.",
          "status": "TIMEOUT",
          "message": "Test timed out"
        },
        {
          "name": "Clients.matchAll() returns controlled windows in focus order.  Case 2.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "Clients.matchAll() returns non-focused uncontrolled windows in creation order.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "Clients.matchAll() returns uncontrolled windows in focus order.  Case 1.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "Clients.matchAll() returns uncontrolled windows in focus order.  Case 2.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "Clients.matchAll() returns controlled windows and frames in focus order.",
          "status": "NOTRUN",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/update-missing-import-scripts.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Initialize global state",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Update service worker with new script that's missing importScripts()",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/service-worker-csp-connect.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "CSP test for connect-src in ServiceWorkerGlobalScope",
          "status": "PASS",
          "message": null
        },
        {
          "name": "importScripts test for connect-src",
          "status": "FAIL",
          "message": "assert_false: Importing the other origins script should not fail. expected false got true"
        },
        {
          "name": "Fetch test for connect-src",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Redirected fetch test for connect-src",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/cache-storage/serviceworker/credentials.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Cache API matching includes credentials",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/clients-get-cross-origin.https.html",
      "status": "TIMEOUT",
      "message": null,
      "subtests": [
        {
          "name": "Test Clients.get() cross origin",
          "status": "TIMEOUT",
          "message": "Test timed out"
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/fetch-request-fallback.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "initialize global state",
          "status": "PASS",
          "message": null
        },
        {
          "name": "The SW must intercept the request for a main resource.",
          "status": "PASS",
          "message": null
        },
        {
          "name": "The SW must intercept the request of same origin XHR.",
          "status": "PASS",
          "message": null
        },
        {
          "name": "The SW must intercept the request of CORS-unsupported other origin XHR.",
          "status": "PASS",
          "message": null
        },
        {
          "name": "The SW must intercept the request of CORS-supported other origin XHR.",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: object \"Error\""
        },
        {
          "name": "The SW must intercept only the first request of redirected XHR.",
          "status": "FAIL",
          "message": "assert_object_equals: property \"url\" expected object \"[object Object]\" got object \"[object Object]\""
        },
        {
          "name": "The SW must intercept only the first request for XHR which is redirected to CORS-unsupported other origin.",
          "status": "PASS",
          "message": null
        },
        {
          "name": "The SW must intercept only the first request for XHR which is redirected to CORS-supported other origin.",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: object \"Error\""
        },
        {
          "name": "The SW must intercept the request for image.",
          "status": "FAIL",
          "message": "assert_object_equals: property \"url\" expected object \"[object Object]\" got object \"[object Object]\""
        },
        {
          "name": "The SW must intercept the request for other origin image.",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: object \"Error\""
        },
        {
          "name": "The SW must intercept the request for CORS-unsupported other origin image.",
          "status": "FAIL",
          "message": "assert_object_equals: property \"mode\" expected object \"[object Object]\" got object \"[object Object]\""
        },
        {
          "name": "The SW must intercept the request for CORS-supported other origin image.",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: object \"Error\""
        },
        {
          "name": "The SW must intercept only the first request for redirected image resource.",
          "status": "FAIL",
          "message": "assert_object_equals: property \"url\" expected object \"[object Object]\" got object \"[object Object]\""
        },
        {
          "name": "The SW must intercept only the first request for image resource which is redirected to other origin.",
          "status": "FAIL",
          "message": "assert_unreached: SW fallbacked image request which is redirected to other origin should succeed. Reached unreachable code"
        },
        {
          "name": "The SW must intercept only the first request for image resource which is redirected to CORS-unsupported other origin.",
          "status": "FAIL",
          "message": "assert_object_equals: property \"mode\" expected object \"[object Object]\" got object \"[object Object]\""
        },
        {
          "name": "The SW must intercept only the first request for image resource which is redirected to CORS-supported other origin.",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: object \"Error\""
        },
        {
          "name": "restore global state",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/register-same-scope-different-script-url.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Register different scripts concurrently",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Register then register new script URL",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Register then register new script URL that 404s",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Register then register new script that does not install",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Register same-scope new script url effect on controller",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/registration-updateviacache.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "register-with-updateViaCache-undefined",
          "status": "PASS",
          "message": null
        },
        {
          "name": "register-with-updateViaCache-imports",
          "status": "PASS",
          "message": null
        },
        {
          "name": "register-with-updateViaCache-all",
          "status": "PASS",
          "message": null
        },
        {
          "name": "register-with-updateViaCache-none",
          "status": "PASS",
          "message": null
        },
        {
          "name": "register-with-updateViaCache-undefined-then-undefined",
          "status": "PASS",
          "message": null
        },
        {
          "name": "register-with-updateViaCache-undefined-then-imports",
          "status": "PASS",
          "message": null
        },
        {
          "name": "register-with-updateViaCache-undefined-then-all",
          "status": "PASS",
          "message": null
        },
        {
          "name": "register-with-updateViaCache-undefined-then-none",
          "status": "PASS",
          "message": null
        },
        {
          "name": "register-with-updateViaCache-imports-then-undefined",
          "status": "PASS",
          "message": null
        },
        {
          "name": "register-with-updateViaCache-imports-then-imports",
          "status": "PASS",
          "message": null
        },
        {
          "name": "register-with-updateViaCache-imports-then-all",
          "status": "PASS",
          "message": null
        },
        {
          "name": "register-with-updateViaCache-imports-then-none",
          "status": "PASS",
          "message": null
        },
        {
          "name": "register-with-updateViaCache-all-then-undefined",
          "status": "PASS",
          "message": null
        },
        {
          "name": "register-with-updateViaCache-all-then-imports",
          "status": "PASS",
          "message": null
        },
        {
          "name": "register-with-updateViaCache-all-then-all",
          "status": "PASS",
          "message": null
        },
        {
          "name": "register-with-updateViaCache-all-then-none",
          "status": "PASS",
          "message": null
        },
        {
          "name": "register-with-updateViaCache-none-then-undefined",
          "status": "PASS",
          "message": null
        },
        {
          "name": "register-with-updateViaCache-none-then-imports",
          "status": "PASS",
          "message": null
        },
        {
          "name": "register-with-updateViaCache-none-then-all",
          "status": "PASS",
          "message": null
        },
        {
          "name": "register-with-updateViaCache-none-then-none",
          "status": "PASS",
          "message": null
        },
        {
          "name": "access-updateViaCache-after-unregister-undefined",
          "status": "PASS",
          "message": null
        },
        {
          "name": "access-updateViaCache-after-unregister-imports",
          "status": "PASS",
          "message": null
        },
        {
          "name": "access-updateViaCache-after-unregister-all",
          "status": "PASS",
          "message": null
        },
        {
          "name": "access-updateViaCache-after-unregister-none",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/cache-storage/worker/cache-match.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Cache.match with no matching entries",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match with URL",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match with Request",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match with multiple cache hits",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match with new Request",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match with HEAD",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match with ignoreSearch option (request with no search parameters)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match with ignoreSearch option (request with search parameter)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match supports ignoreMethod",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match supports ignoreVary",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match with URL containing fragment",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match with string fragment \"http\" as query",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match with responses containing \"Vary\" header",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match with Request and Response objects with different URLs",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match invoked multiple times for the same Request/Response",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match blob should be sliceable",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match with POST Request",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match with a non-2xx Response",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match with a network error Response",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache produces large Responses that can be cloned and read correctly.",
          "status": "PASS",
          "message": null
        },
        {
          "name": "cors-exposed header should be stored correctly.",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: object \"TypeError: Failed to fetch\""
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/activate-event-after-install-state-change.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "installed event should be fired before activating service worker",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/cache-storage/window/cache-keys.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Cache.keys() called on an empty cache",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.keys with no matching entries",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.keys with URL",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.keys with Request",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.keys with new Request",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.keys with ignoreSearch option (request with no search parameters)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.keys with ignoreSearch option (request with search parameters)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.keys supports ignoreMethod",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.keys supports ignoreVary",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.keys with URL containing fragment",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.keys with string fragment \"http\" as query",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.keys without parameters",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.keys without parameters and VARY entries",
          "status": "FAIL",
          "message": "assert_equals: Cache.keys without parameters should match all entries. expected 3 but got 1"
        },
        {
          "name": "Cache.keys with a HEAD Request",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/fetch-request-css-images.https.html",
      "status": "TIMEOUT",
      "message": null,
      "subtests": [
        {
          "name": "Verify FetchEvent for css image (backgroundImage).",
          "status": "TIMEOUT",
          "message": "Test timed out"
        },
        {
          "name": "Verify FetchEvent for css image (shapeOutside).",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "Verify FetchEvent for css image-set (backgroundImage).",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "Verify FetchEvent for css image-set (shapeOutside).",
          "status": "NOTRUN",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/serviceworkerobject-scripturl.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Verify the scriptURL property: relative",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Verify the scriptURL property: with-fragment",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Verify the scriptURL property: with-query",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Verify the scriptURL property: absolute",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/worker-client-id.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Verify workers have a unique client id separate from their owning documents window",
          "status": "FAIL",
          "message": "assert_not_equals: frame and worker client ids should be different got disallowed value \"18cacbdf-aebb-4ba6-873c-ebcfc41f476c\""
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/fetch-event-respond-with-argument.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "respondWith() takes either a Response or a promise that resolves with a Response. Other values should raise a network error.",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/navigation-preload/chunked-encoding.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Navigation Preload must work with chunked encoding.",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/navigate-window.https.html",
      "status": "TIMEOUT",
      "message": null,
      "subtests": [
        {
          "name": "Clients.matchAll() should not show an old window as controlled after it navigates.",
          "status": "TIMEOUT",
          "message": "Test timed out"
        },
        {
          "name": "Clients.matchAll() should not show an old window after it navigates.",
          "status": "NOTRUN",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/cache-storage/worker/cache-put.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Cache.put called with simple Request and Response",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put called with Request and Response from fetch()",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put with Request without a body",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put with Response without a body",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put with a Response containing an empty URL",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put with an empty response body",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put with synthetic 206 response",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put with HTTP 206 response",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put with HTTP 500 response",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put called twice with matching Requests and different Responses",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put called twice with request URLs that differ only by a fragment",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put with a string request",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put with an invalid response",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put with a non-HTTP/HTTPS request",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put with a relative URL",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put with a non-GET request",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put with a null response",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put with a POST request",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put with a used response body",
          "status": "PASS",
          "message": null
        },
        {
          "name": "getReader() after Cache.put",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put with a VARY:* Response",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put with an embedded VARY:* Response",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put should store Response.redirect() correctly",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.put called with simple Request and blob Response",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/clients-get.https.html",
      "status": "TIMEOUT",
      "message": null,
      "subtests": [
        {
          "name": "Test Clients.get()",
          "status": "FAIL",
          "message": "assert_array_equals: property 0, expected \"visible\" but got \"hidden\""
        },
        {
          "name": "Test successful Clients.get(FetchEvent.resultingClientId)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Test unsuccessful Clients.get(FetchEvent.resultingClientId)",
          "status": "TIMEOUT",
          "message": "Test timed out"
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/unregister.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Unregister twice",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Register then unregister",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/sandboxed-iframe-navigator-serviceworker.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Accessing navigator.serviceWorker in normal iframe should not throw.",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Accessing navigator.serviceWorker in sandboxed iframe should throw.",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Accessing navigator.serviceWorker in sandboxed iframe with allow-same-origin flag should not throw.",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Switching iframe sandbox attribute while loading the iframe",
          "status": "FAIL",
          "message": "assert_equals: expected \"navigator.serviceWorker failed: SecurityError\" but got \"ok\""
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/service-worker-header.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "A request to fetch service worker main script should have Service-Worker header and imported scripts should not have one",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/websocket-in-service-worker.https.html",
      "status": "TIMEOUT",
      "message": null,
      "subtests": [
        {
          "name": "Verify WebSockets can be created in a Service Worker",
          "status": "TIMEOUT",
          "message": "Test timed out"
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/claim-fetch.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "fetch() should be intercepted after the client is claimed.",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/multi-globals/url-parsing.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "register should use the relevant global of the object it was called on to resolve the script URL and the default scope URL",
          "status": "PASS",
          "message": null
        },
        {
          "name": "register should use the relevant global of the object it was called on to resolve the script URL and the given scope URL",
          "status": "PASS",
          "message": null
        },
        {
          "name": "getRegistration should use the relevant global of the object it was called on to resolve the script URL",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/immutable-prototype-serviceworker.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "worker prototype chain should be immutable",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/registration-mime-types.https.html",
      "status": "TIMEOUT",
      "message": null,
      "subtests": [
        {
          "name": "Registering script with no MIME type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Registering script with bad MIME type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Registering script that imports script with no MIME type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Registering script that imports script with bad MIME type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Registering script with good MIME type application/ecmascript",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Registering script that imports script with good MIME type application/ecmascript",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Registering script with good MIME type application/javascript",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Registering script that imports script with good MIME type application/javascript",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Registering script with good MIME type application/x-ecmascript",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Registering script that imports script with good MIME type application/x-ecmascript",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Registering script with good MIME type application/x-javascript",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Registering script that imports script with good MIME type application/x-javascript",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Registering script with good MIME type text/ecmascript",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Registering script that imports script with good MIME type text/ecmascript",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Registering script with good MIME type text/javascript",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Registering script that imports script with good MIME type text/javascript",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Registering script with good MIME type text/javascript1.0",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Registering script that imports script with good MIME type text/javascript1.0",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Registering script with good MIME type text/javascript1.1",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Registering script that imports script with good MIME type text/javascript1.1",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Registering script with good MIME type text/javascript1.2",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Registering script that imports script with good MIME type text/javascript1.2",
          "status": "TIMEOUT",
          "message": "Test timed out"
        },
        {
          "name": "Registering script with good MIME type text/javascript1.3",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "Registering script that imports script with good MIME type text/javascript1.3",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "Registering script with good MIME type text/javascript1.4",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "Registering script that imports script with good MIME type text/javascript1.4",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "Registering script with good MIME type text/javascript1.5",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "Registering script that imports script with good MIME type text/javascript1.5",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "Registering script with good MIME type text/jscript",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "Registering script that imports script with good MIME type text/jscript",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "Registering script with good MIME type text/livescript",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "Registering script that imports script with good MIME type text/livescript",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "Registering script with good MIME type text/x-ecmascript",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "Registering script that imports script with good MIME type text/x-ecmascript",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "Registering script with good MIME type text/x-javascript",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "Registering script that imports script with good MIME type text/x-javascript",
          "status": "NOTRUN",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/referrer-policy-header.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Initialize global state (service worker registration)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Referrer for a main resource redirected with referrer-policy (origin) should only have origin.",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Referrer for fetch requests initiated from a service worker with referrer-policy (origin) should only have origin.",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Remove registration as a cleanup",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/fetch-event-respond-with-custom-response.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Subresource built from a string",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Subresource built from a blob",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Subresource built from a buffer",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Subresource built from a buffer-view",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Subresource built from form-data",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Subresource built from search-params",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Navigation resource built from a string",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Navigation resource built from a blob",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Navigation resource built from a buffer",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Navigation resource built from a buffer-view",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Navigation resource built from search-params",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/fetch-csp.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Verify CSP control of fetch() in a Service Worker",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/extendable-event-waituntil.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Test install event waitUntil fulfilled",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Test ExtendableEvent multiple waitUntil fulfilled.",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Test ExtendableEvent waitUntil reject precedence.",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Test activate event waitUntil fulfilled",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Test install event waitUntil rejected",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Test activate event waitUntil rejected.",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/sandboxed-iframe-fetch-event.https.html",
      "status": "TIMEOUT",
      "message": null,
      "subtests": [
        {
          "name": "Prepare a service worker.",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Prepare a normal iframe.",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Prepare an iframe sandboxed by <iframe sandbox=\"allow-scripts\">.",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Prepare an iframe sandboxed by <iframe sandbox=\"allow-scripts allow-same-origin\">.",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Prepare an iframe sandboxed by CSP HTTP header with allow-scripts.",
          "status": "FAIL",
          "message": "assert_false: Service worker should NOT control the sandboxed page expected false got true"
        },
        {
          "name": "Prepare an iframe sandboxed by CSP HTTP header with allow-scripts and allow-same-origin.",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Fetch request from a normal iframe",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Fetch request from a worker in a normal iframe",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Request for an iframe in the normal iframe",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Request for an sandboxed iframe with allow-scripts flag in the normal iframe",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Request for an sandboxed iframe with allow-scripts and allow-same-origin flag in the normal iframe",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Fetch request from iframe sandboxed by an attribute with allow-scripts flag",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Fetch request from a worker in iframe sandboxed by an attribute with allow-scripts flag",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Request for an iframe in the iframe sandboxed by an attribute with allow-scripts flag",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Request for an sandboxed iframe with allow-scripts flag in the iframe sandboxed by an attribute with allow-scripts flag",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Request for an sandboxed iframe with allow-scripts and allow-same-origin flag in the iframe sandboxed by an attribute with allow-scripts flag",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Fetch request from iframe sandboxed by an attribute with allow-scripts and allow-same-origin flag",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Fetch request from a worker in iframe sandboxed by an attribute with allow-scripts and allow-same-origin flag",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Request for an iframe in the iframe sandboxed by an attribute with allow-scripts and allow-same-origin flag",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Request for an sandboxed iframe with allow-scripts flag in the iframe sandboxed by attribute with allow-scripts and allow-same-origin flag",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Request for an sandboxed iframe with allow-scripts and allow-same-origin flag in the iframe sandboxed by attribute with allow-scripts and allow-same-origin flag",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Fetch request from iframe sandboxed by CSP HTTP header with allow-scripts flag",
          "status": "FAIL",
          "message": "assert_equals: The request should NOT be handled by SW. expected 0 but got 1"
        },
        {
          "name": "Request for an iframe in the iframe sandboxed by CSP HTTP header with allow-scripts flag",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Request for an sandboxed iframe with allow-scripts flag in the iframe sandboxed by CSP HTTP header with allow-scripts flag",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Request for an sandboxed iframe with allow-scripts and allow-same-origin flag in the iframe sandboxed by CSP HTTP header with allow-scripts flag",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Fetch request from iframe sandboxed by CSP HTTP header with allow-scripts and allow-same-origin flag",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Request for an iframe in the iframe sandboxed by CSP HTTP header with allow-scripts and allow-same-origin flag",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Request for an sandboxed iframe with allow-scripts flag in the iframe sandboxed by CSP HTTP header with allow-scripts and allow-same-origin flag",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Request for an sandboxed iframe with allow-scripts and allow-same-origin flag in the iframe sandboxed by CSP HTTP header with allow-scripts and allow-same-origin flag",
          "status": "TIMEOUT",
          "message": "Test timed out"
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/update.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Update a registration.",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/fetch-audio-tainting.https.html",
      "status": "TIMEOUT",
      "message": null,
      "subtests": [
        {
          "name": "Verify CORS XHR of fetch() in a Service Worker",
          "status": "TIMEOUT",
          "message": "Test timed out"
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/registration-end-to-end.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Registration: end-to-end",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/fetch-cors-exposed-header-names.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "CORS-exposed header names for a response from sw",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: object \"TypeError: Failed to fetch\""
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/update-not-allowed.https.html",
      "status": "TIMEOUT",
      "message": null,
      "subtests": [
        {
          "name": "ServiceWorkerRegistration.update() from client throws while installing service worker.",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerRegistration.update() from installing service worker throws.",
          "status": "TIMEOUT",
          "message": "Test timed out"
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/registration-service-worker-attributes.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "installing/waiting/active after registration",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/update-on-navigation.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "The active service worker in charge of a navigation load should not be terminated as part of updating the registration",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/local-url-inherit-controller.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Same-origin blob URL iframe should inherit service worker controller.",
          "status": "FAIL",
          "message": "assert_equals: blob URL iframe should inherit controller expected (string) \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/local-url-inherit-controller-worker.js\" but got (object) null"
        },
        {
          "name": "Same-origin blob URL iframe should intercept fetch().",
          "status": "FAIL",
          "message": "assert_equals: blob URL iframe should intercept fetch expected \"intercepted\" but got \"Hello world\\n\""
        },
        {
          "name": "Same-origin blob URL worker should inherit service worker controller.",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: \"Uncaught TypeError: Cannot read property 'controller' of undefined\""
        },
        {
          "name": "Same-origin blob URL worker should intercept fetch().",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Data URL iframe should not intercept fetch().",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Data URL worker should not inherit service worker controller.",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: \"Uncaught TypeError: Cannot read property 'controller' of undefined\""
        },
        {
          "name": "Data URL worker should not intercept fetch().",
          "status": "FAIL",
          "message": "assert_equals: data URL worker should not intercept fetch expected \"\" but got \"intercepted\""
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/dedicated-worker-service-worker-interception.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Top-level module loading should be intercepted by a service worker.",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: object \"TypeError: Failed to construct 'Worker': Module scripts are not supported on DedicatedWorker yet. You can try the feature with '--enable-experimental-web-platform-features' flag (see https://crbug.com/680046)\""
        },
        {
          "name": "Static import should be intercepted by a service worker.",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: object \"TypeError: Failed to construct 'Worker': Module scripts are not supported on DedicatedWorker yet. You can try the feature with '--enable-experimental-web-platform-features' flag (see https://crbug.com/680046)\""
        },
        {
          "name": "Dynamic import should be intercepted by a service worker.",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: object \"TypeError: Failed to construct 'Worker': Module scripts are not supported on DedicatedWorker yet. You can try the feature with '--enable-experimental-web-platform-features' flag (see https://crbug.com/680046)\""
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/navigation-preload/redirect.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Navigation Preload redirect response.",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Navigation Preload no-location redirect response.",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Navigation Preload no-location redirect response with body.",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Navigation Preload redirect to the same scope.",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/request-end-to-end.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Test FetchEvent.request passed to onfetch",
          "status": "FAIL",
          "message": "assert_equals: Default User-Agent header should not be passed to onfetch event. expected (undefined) undefined but got (string) \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3640.0 Safari/537.36\""
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/register-wait-forever-in-install-worker.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "register worker that calls waitUntil with a promise that never resolves in oninstall",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: object \"TypeError: Cannot read property 'scriptURL' of null\""
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/synced-state.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "worker objects for the same entity have the same state",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/fetch-canvas-tainting-image.https.html",
      "status": "TIMEOUT",
      "message": null,
      "subtests": [
        {
          "name": "initialize global state",
          "status": "TIMEOUT",
          "message": "Test timed out"
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&reject\" with crossOrigin \"\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&reject\" with crossOrigin \"anonymous\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&reject\" with crossOrigin \"use-credentials\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&ignore\" with crossOrigin \"\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&ignore\" with crossOrigin \"\" should be TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&ignore\" with crossOrigin \"anonymous\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&ACAOrigin=https://webapitests2018.ctawave.org:8443&ignore\" with crossOrigin \"anonymous\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&ignore\" with crossOrigin \"use-credentials\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&ACAOrigin=https://webapitests2018.ctawave.org:8443&ignore\" with crossOrigin \"use-credentials\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&ACAOrigin=https://webapitests2018.ctawave.org:8443&ACACredentials=true&ignore\" with crossOrigin \"use-credentials\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&Auth&ignore\" with crossOrigin \"\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&Auth&ignore\" with crossOrigin \"\" should be TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&Auth&ignore\" with crossOrigin \"anonymous\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&Auth&ignore\" with crossOrigin \"use-credentials\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&Auth&ACAOrigin=https://webapitests2018.ctawave.org:8443&ignore\" with crossOrigin \"use-credentials\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&Auth&ACAOrigin=https://webapitests2018.ctawave.org:8443&ACACredentials=true&ignore\" with crossOrigin \"use-credentials\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&mode=same-origin&url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE\" with crossOrigin \"\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&mode=same-origin&url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE\" with crossOrigin \"anonymous\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&mode=same-origin&url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE\" with crossOrigin \"use-credentials\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&mode=same-origin&url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE\" with crossOrigin \"\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&mode=same-origin&url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE\" with crossOrigin \"anonymous\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&mode=same-origin&url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE\" with crossOrigin \"use-credentials\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&mode=no-cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE\" with crossOrigin \"\" should be TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&mode=no-cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE\" with crossOrigin \"anonymous\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&mode=no-cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE\" with crossOrigin \"use-credentials\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&mode=no-cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE\" with crossOrigin \"\" should be TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&mode=no-cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE\" with crossOrigin \"anonymous\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&mode=no-cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE\" with crossOrigin \"use-credentials\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&mode=cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26ACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443\" with crossOrigin \"\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&mode=cors&credentials=same-origin&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26ACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443\" with crossOrigin \"\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&mode=cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26ACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443\" with crossOrigin \"anonymous\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&mode=cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26ACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443\" with crossOrigin \"use-credentials\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&mode=cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26ACACredentials%3Dtrue%26ACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443\" with crossOrigin \"use-credentials\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&mode=cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26ACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443\" with crossOrigin \"\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&mode=cors&credentials=same-origin&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26ACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443\" with crossOrigin \"\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&mode=cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26ACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443\" with crossOrigin \"anonymous\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&mode=cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26ACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443\" with crossOrigin \"use-credentials\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&mode=cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26ACACredentials%3Dtrue%26ACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443\" with crossOrigin \"use-credentials\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/cache-storage/serviceworker/cache-keys.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Cache.keys",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.keys() called on an empty cache",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.keys with no matching entries",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.keys with URL",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.keys with Request",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.keys with new Request",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.keys with ignoreSearch option (request with no search parameters)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.keys with ignoreSearch option (request with search parameters)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.keys supports ignoreMethod",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.keys supports ignoreVary",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.keys with URL containing fragment",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.keys with string fragment \"http\" as query",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.keys without parameters",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.keys without parameters and VARY entries",
          "status": "FAIL",
          "message": "assert_equals: Cache.keys without parameters should match all entries. expected 3 but got 1"
        },
        {
          "name": "Cache.keys with a HEAD Request",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/activation.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "loss of controllees triggers activation",
          "status": "PASS",
          "message": null
        },
        {
          "name": "finishing a request triggers activation",
          "status": "PASS",
          "message": null
        },
        {
          "name": "skipWaiting bypasses no controllee requirement",
          "status": "PASS",
          "message": null
        },
        {
          "name": "finishing a request triggers unregister",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/windowclient-navigate.https.html",
      "status": "TIMEOUT",
      "message": null,
      "subtests": [
        {
          "name": "normal",
          "status": "TIMEOUT",
          "message": "Test timed out"
        },
        {
          "name": "blank url",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "in scope but not controlled test on installing worker",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "in scope but not controlled test on active worker",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "out of scope",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "cross orgin url",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "invalid url (http://[example.com])",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "invalid url (view-source://example.com)",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "invalid url (file:///)",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "invalid url (about:blank)",
          "status": "NOTRUN",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/claim-with-redirect.https.html",
      "status": "TIMEOUT",
      "message": null,
      "subtests": [
        {
          "name": "Claim works after redirection to another origin",
          "status": "TIMEOUT",
          "message": "Test timed out"
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/fetch-event-redirect.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "initialize global state",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Non-navigation, manual redirect, cors mode Request redirected to same-origin without credentials should succeed opaqueredirect interception and response should not be redirected",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Non-navigation, manual redirect, cors mode Request redirected to no-cors without credentials should succeed opaqueredirect interception and response should not be redirected",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Non-navigation, manual redirect, cors mode Request redirected to cors without credentials should succeed opaqueredirect interception and response should not be redirected",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Non-navigation, manual redirect, same-origin mode Request redirected to same-origin without credentials should succeed opaqueredirect interception and response should not be redirected",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Non-navigation, manual redirect, same-origin mode Request redirected to no-cors without credentials should succeed opaqueredirect interception and response should not be redirected",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Non-navigation, manual redirect, same-origin mode Request redirected to cors without credentials should succeed opaqueredirect interception and response should not be redirected",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Non-navigation, manual redirect, no-cors mode Request redirected to same-origin without credentials should succeed opaqueredirect interception and response should not be redirected",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Non-navigation, manual redirect, no-cors mode Request redirected to no-cors without credentials should succeed opaqueredirect interception and response should not be redirected",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Non-navigation, manual redirect, no-cors mode Request redirected to cors without credentials should succeed opaqueredirect interception and response should not be redirected",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Non-navigation, manual redirect, cors mode Request redirected to same-origin with credentials should succeed opaqueredirect interception and response should not be redirected",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Non-navigation, manual redirect, cors mode Request redirected to no-cors with credentials should succeed opaqueredirect interception and response should not be redirected",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Non-navigation, manual redirect, cors mode Request redirected to cors with credentials should succeed opaqueredirect interception and response should not be redirected",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Non-navigation, manual redirect, same-origin mode Request redirected to same-origin with credentials should succeed opaqueredirect interception and response should not be redirected",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Non-navigation, manual redirect, same-origin mode Request redirected to no-cors with credentials should succeed opaqueredirect interception and response should not be redirected",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Non-navigation, manual redirect, same-origin mode Request redirected to cors with credentials should succeed opaqueredirect interception and response should not be redirected",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Non-navigation, manual redirect, no-cors mode Request redirected to same-origin with credentials should succeed opaqueredirect interception and response should not be redirected",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Non-navigation, manual redirect, no-cors mode Request redirected to no-cors with credentials should succeed opaqueredirect interception and response should not be redirected",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Non-navigation, manual redirect, no-cors mode Request redirected to cors with credentials should succeed opaqueredirect interception and response should not be redirected",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Non-navigation, follow redirect, cors mode Request redirected to same-origin without credentials should succeed interception and response should be redirected",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Non-navigation, follow redirect, cors mode Request redirected to no-cors without credentials should fail interception and response should not be redirected",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Non-navigation, follow redirect, cors mode Request redirected to cors without credentials should succeed interception and response should be redirected",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: object \"TypeError: Failed to fetch\""
        },
        {
          "name": "Non-navigation, follow redirect, same-origin mode Request redirected to same-origin without credentials should succeed interception and response should be redirected",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Non-navigation, follow redirect, same-origin mode Request redirected to no-cors without credentials should fail interception and response should not be redirected",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Non-navigation, follow redirect, same-origin mode Request redirected to cors without credentials should fail interception and response should not be redirected",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Non-navigation, follow redirect, no-cors mode Request redirected to same-origin without credentials should succeed interception and response should be redirected",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Non-navigation, follow redirect, no-cors mode Request redirected to no-cors without credentials should succeed interception and response should not be redirected",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: object \"TypeError: Failed to fetch\""
        },
        {
          "name": "Non-navigation, follow redirect, no-cors mode Request redirected to cors without credentials should succeed interception and response should not be redirected",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: object \"TypeError: Failed to fetch\""
        },
        {
          "name": "Non-navigation, follow redirect, cors mode Request redirected to same-origin with credentials should succeed interception and response should be redirected",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: object \"TypeError: Failed to fetch\""
        },
        {
          "name": "Non-navigation, follow redirect, cors mode Request redirected to no-cors with credentials should fail interception and response should not be redirected",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Non-navigation, follow redirect, cors mode Request redirected to cors with credentials should fail interception and response should be redirected",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Non-navigation, follow redirect, same-origin mode Request redirected to same-origin with credentials should succeed interception and response should be redirected",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: object \"TypeError: Failed to fetch\""
        },
        {
          "name": "Non-navigation, follow redirect, same-origin mode Request redirected to no-cors with credentials should fail interception and response should not be redirected",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Non-navigation, follow redirect, same-origin mode Request redirected to cors with credentials should fail interception and response should not be redirected",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Non-navigation, follow redirect, no-cors mode Request redirected to same-origin with credentials should succeed interception and response should be redirected",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: object \"TypeError: Failed to fetch\""
        },
        {
          "name": "Non-navigation, follow redirect, no-cors mode Request redirected to no-cors with credentials should succeed interception and response should not be redirected",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: object \"TypeError: Failed to fetch\""
        },
        {
          "name": "Non-navigation, follow redirect, no-cors mode Request redirected to cors with credentials should succeed interception and response should not be redirected",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: object \"TypeError: Failed to fetch\""
        },
        {
          "name": "Non-navigation, error redirect, cors mode Request redirected to same-origin without credentials should fail interception and response should not be redirected",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Non-navigation, error redirect, cors mode Request redirected to no-cors without credentials should fail interception and response should not be redirected",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Non-navigation, error redirect, cors mode Request redirected to cors without credentials should fail interception and response should not be redirected",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Non-navigation, error redirect, same-origin mode Request redirected to same-origin without credentials should fail interception and response should not be redirected",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Non-navigation, error redirect, same-origin mode Request redirected to no-cors without credentials should fail interception and response should not be redirected",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Non-navigation, error redirect, same-origin mode Request redirected to cors without credentials should fail interception and response should not be redirected",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Non-navigation, error redirect, no-cors mode Request redirected to same-origin without credentials should fail interception and response should not be redirected",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Non-navigation, error redirect, no-cors mode Request redirected to no-cors without credentials should fail interception and response should not be redirected",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Non-navigation, error redirect, no-cors mode Request redirected to cors without credentials should fail interception and response should not be redirected",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Non-navigation, error redirect, cors mode Request redirected to same-origin with credentials should fail interception and response should not be redirected",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Non-navigation, error redirect, cors mode Request redirected to no-cors with credentials should fail interception and response should not be redirected",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Non-navigation, error redirect, cors mode Request redirected to cors with credentials should fail interception and response should not be redirected",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Non-navigation, error redirect, same-origin mode Request redirected to same-origin with credentials should fail interception and response should not be redirected",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Non-navigation, error redirect, same-origin mode Request redirected to no-cors with credentials should fail interception and response should not be redirected",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Non-navigation, error redirect, same-origin mode Request redirected to cors with credentials should fail interception and response should not be redirected",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Non-navigation, error redirect, no-cors mode Request redirected to same-origin with credentials should fail interception and response should not be redirected",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Non-navigation, error redirect, no-cors mode Request redirected to no-cors with credentials should fail interception and response should not be redirected",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Non-navigation, error redirect, no-cors mode Request redirected to cors with credentials should fail interception and response should not be redirected",
          "status": "PASS",
          "message": null
        },
        {
          "name": "restore global state",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/unregister-then-register-new-script.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Registering a new script URL while an unregistered registration is in use",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Registering a new script URL that 404s does resurrect an unregistered registration",
          "status": "FAIL",
          "message": "assert_unreached: unexpected rejection: Cannot read property 'scriptURL' of null Reached unreachable code"
        },
        {
          "name": "Registering a new script URL that fails to install does resurrect an unregistered registration",
          "status": "FAIL",
          "message": "assert_unreached: unexpected rejection: Cannot read property 'scriptURL' of null Reached unreachable code"
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/skip-waiting-using-registration.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Test skipWaiting while a client is using the registration",
          "status": "PASS",
          "message": null
        },
        {
          "name": "skipWaiting",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/onactivate-script-error.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "activate handler throws an error",
          "status": "PASS",
          "message": null
        },
        {
          "name": "activate handler throws an error, error handler does not cancel",
          "status": "PASS",
          "message": null
        },
        {
          "name": "activate handler dispatches an event that throws an error",
          "status": "PASS",
          "message": null
        },
        {
          "name": "activate handler throws an error that is cancelled",
          "status": "PASS",
          "message": null
        },
        {
          "name": "activate handler throws an error and prevents default",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/navigation-preload/get-state.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "getState",
          "status": "PASS",
          "message": null
        },
        {
          "name": "getState from a worker",
          "status": "PASS",
          "message": null
        },
        {
          "name": "no active worker",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/cache-storage/worker/cache-keys.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Cache.keys() called on an empty cache",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.keys with no matching entries",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.keys with URL",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.keys with Request",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.keys with new Request",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.keys with ignoreSearch option (request with no search parameters)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.keys with ignoreSearch option (request with search parameters)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.keys supports ignoreMethod",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.keys supports ignoreVary",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.keys with URL containing fragment",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.keys with string fragment \"http\" as query",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.keys without parameters",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.keys without parameters and VARY entries",
          "status": "FAIL",
          "message": "assert_equals: Cache.keys without parameters should match all entries. expected 3 but got 1"
        },
        {
          "name": "Cache.keys with a HEAD Request",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/ServiceWorkerGlobalScope/extendable-message-event.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Post an extendable message from a top-level client",
          "status": "FAIL",
          "message": "assert_equals: event `source` property `visibilityState` expected \"visible\" but got \"hidden\""
        },
        {
          "name": "Post an extendable message from a nested client",
          "status": "FAIL",
          "message": "assert_equals: event `source` property `visibilityState` expected \"visible\" but got \"hidden\""
        },
        {
          "name": "Post loopback extendable messages",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Post extendable messages among service workers",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/cache-storage/window/sandboxed-iframes.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Sandboxed iframe with allow-same-origin is allowed access",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Sandboxed iframe without allow-same-origin is denied access",
          "status": "FAIL",
          "message": "assert_equals: Access should be denied if sandbox lacks allow-same-origin expected \"denied\" but got \"unexpecteddenied\""
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/fetch-event-network-error.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Rejecting the fetch event or using preventDefault() causes a network error",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/ServiceWorkerGlobalScope/registration-attribute.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Verify registration attributes on ServiceWorkerGlobalScope",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Verify registration attributes on ServiceWorkerGlobalScope of the newer worker",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/navigation-timing.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Service worker controlled navigation timing",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Service worker controlled navigation timing network fallback",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Service worker controlled navigation timing redirect",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/fetch-canvas-tainting-video.https.html",
      "status": "TIMEOUT",
      "message": null,
      "subtests": [
        {
          "name": "initialize global state",
          "status": "TIMEOUT",
          "message": "Test timed out"
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&reject\" with crossOrigin \"\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&reject\" with crossOrigin \"anonymous\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&reject\" with crossOrigin \"use-credentials\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&ignore\" with crossOrigin \"\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&ignore\" with crossOrigin \"\" should be TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&ignore\" with crossOrigin \"anonymous\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&ACAOrigin=https://webapitests2018.ctawave.org:8443&ignore\" with crossOrigin \"anonymous\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&ignore\" with crossOrigin \"use-credentials\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&ACAOrigin=https://webapitests2018.ctawave.org:8443&ignore\" with crossOrigin \"use-credentials\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&ACAOrigin=https://webapitests2018.ctawave.org:8443&ACACredentials=true&ignore\" with crossOrigin \"use-credentials\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&Auth&ignore\" with crossOrigin \"\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&Auth&ignore\" with crossOrigin \"\" should be TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&Auth&ignore\" with crossOrigin \"anonymous\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&Auth&ignore\" with crossOrigin \"use-credentials\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&Auth&ACAOrigin=https://webapitests2018.ctawave.org:8443&ignore\" with crossOrigin \"use-credentials\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&Auth&ACAOrigin=https://webapitests2018.ctawave.org:8443&ACACredentials=true&ignore\" with crossOrigin \"use-credentials\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&mode=same-origin&url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO\" with crossOrigin \"\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&mode=same-origin&url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO\" with crossOrigin \"anonymous\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&mode=same-origin&url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO\" with crossOrigin \"use-credentials\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&mode=same-origin&url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO\" with crossOrigin \"\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&mode=same-origin&url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO\" with crossOrigin \"anonymous\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&mode=same-origin&url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO\" with crossOrigin \"use-credentials\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&mode=no-cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO\" with crossOrigin \"\" should be TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&mode=no-cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO\" with crossOrigin \"anonymous\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&mode=no-cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO\" with crossOrigin \"use-credentials\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&mode=no-cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO\" with crossOrigin \"\" should be TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&mode=no-cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO\" with crossOrigin \"anonymous\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&mode=no-cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO\" with crossOrigin \"use-credentials\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&mode=cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26ACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443\" with crossOrigin \"\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&mode=cors&credentials=same-origin&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26ACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443\" with crossOrigin \"\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&mode=cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26ACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443\" with crossOrigin \"anonymous\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&mode=cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26ACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443\" with crossOrigin \"use-credentials\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&mode=cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26ACACredentials%3Dtrue%26ACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443\" with crossOrigin \"use-credentials\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&mode=cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26ACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443\" with crossOrigin \"\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&mode=cors&credentials=same-origin&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26ACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443\" with crossOrigin \"\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&mode=cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26ACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443\" with crossOrigin \"anonymous\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&mode=cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26ACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443\" with crossOrigin \"use-credentials\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?VIDEO&mode=cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FVIDEO%26ACACredentials%3Dtrue%26ACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443\" with crossOrigin \"use-credentials\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/cache-storage/serviceworker/cache-storage.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "CacheStorage",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage.open",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage.delete dooms, but does not delete immediately",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage.open with an empty name",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage.open with no arguments",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage.has with existing cache",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage.has with nonexistent cache",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage.open with existing cache",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage.delete with existing cache",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage.delete with nonexistent cache",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage names are DOMStrings not USVStrings",
          "status": "FAIL",
          "message": "assert_true: keys should include cache with bad name expected true got false"
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/controller-on-reload.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "controller is set upon reload after registration",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/cache-storage/window/cache-storage-match.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "CacheStorageMatch with no cache name provided",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorageMatch from one of many caches",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorageMatch from one of many caches by name",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorageMatch a string request",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorageMatch a HEAD request",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorageMatch with no cached entry",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorageMatch with no caches available but name provided",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorageMatch with empty cache name provided",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorageMatch supports ignoreSearch",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match supports ignoreMethod",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorageMatch supports ignoreVary",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/cache-storage/serviceworker/cache-storage-keys.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "CacheStorage.keys",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage keys",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/fetch-canvas-tainting-image-cache.https.html",
      "status": "TIMEOUT",
      "message": null,
      "subtests": [
        {
          "name": "initialize global state",
          "status": "TIMEOUT",
          "message": "Test timed out"
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&reject\" with crossOrigin \"\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&reject\" with crossOrigin \"anonymous\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&reject\" with crossOrigin \"use-credentials\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&ignore\" with crossOrigin \"\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&ignore\" with crossOrigin \"\" should be TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&ignore\" with crossOrigin \"anonymous\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&ACAOrigin=https://webapitests2018.ctawave.org:8443&ignore\" with crossOrigin \"anonymous\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&ignore\" with crossOrigin \"use-credentials\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&ACAOrigin=https://webapitests2018.ctawave.org:8443&ignore\" with crossOrigin \"use-credentials\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&ACAOrigin=https://webapitests2018.ctawave.org:8443&ACACredentials=true&ignore\" with crossOrigin \"use-credentials\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&Auth&ignore\" with crossOrigin \"\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&Auth&ignore\" with crossOrigin \"\" should be TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&Auth&ignore\" with crossOrigin \"anonymous\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&Auth&ignore\" with crossOrigin \"use-credentials\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&Auth&ACAOrigin=https://webapitests2018.ctawave.org:8443&ignore\" with crossOrigin \"use-credentials\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&Auth&ACAOrigin=https://webapitests2018.ctawave.org:8443&ACACredentials=true&ignore\" with crossOrigin \"use-credentials\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&mode=same-origin&url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26cache%3Dtrue\" with crossOrigin \"\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&mode=same-origin&url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26cache%3Dtrue\" with crossOrigin \"anonymous\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&mode=same-origin&url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26cache%3Dtrue\" with crossOrigin \"use-credentials\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&mode=same-origin&url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26cache%3Dtrue\" with crossOrigin \"\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&mode=same-origin&url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26cache%3Dtrue\" with crossOrigin \"anonymous\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&mode=same-origin&url=https%3A%2F%2Fwebapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26cache%3Dtrue\" with crossOrigin \"use-credentials\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&mode=no-cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26cache%3Dtrue\" with crossOrigin \"\" should be TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&mode=no-cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26cache%3Dtrue\" with crossOrigin \"anonymous\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&mode=no-cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26cache%3Dtrue\" with crossOrigin \"use-credentials\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&mode=no-cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26cache%3Dtrue\" with crossOrigin \"\" should be TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&mode=no-cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26cache%3Dtrue\" with crossOrigin \"anonymous\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&mode=no-cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26cache%3Dtrue\" with crossOrigin \"use-credentials\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&mode=cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26cache%3Dtrue%26ACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443\" with crossOrigin \"\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&mode=cors&credentials=same-origin&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26cache%3Dtrue%26ACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443\" with crossOrigin \"\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&mode=cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26cache%3Dtrue%26ACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443\" with crossOrigin \"anonymous\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&mode=cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26cache%3Dtrue%26ACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443\" with crossOrigin \"use-credentials\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&mode=cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26cache%3Dtrue%26ACACredentials%3Dtrue%26ACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443\" with crossOrigin \"use-credentials\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&mode=cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26cache%3Dtrue%26ACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443\" with crossOrigin \"\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&mode=cors&credentials=same-origin&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26cache%3Dtrue%26ACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443\" with crossOrigin \"\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&mode=cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26cache%3Dtrue%26ACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443\" with crossOrigin \"anonymous\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&mode=cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26cache%3Dtrue%26ACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443\" with crossOrigin \"use-credentials\" should be LOAD_ERROR",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "url \"https://www1.webapitests2018.ctawave.org:8443/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&cache=true&mode=cors&url=https%3A%2F%2Fwww1.webapitests2018.ctawave.org%3A8443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26cache%3Dtrue%26ACACredentials%3Dtrue%26ACAOrigin%3Dhttps%3A%2F%2Fwebapitests2018.ctawave.org%3A8443\" with crossOrigin \"use-credentials\" should be NOT_TAINTED",
          "status": "NOTRUN",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/fetch-event-throws-after-respond-with.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Fetch event handler throws after a successful respondWith()",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/ready.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "ready returns the same Promise object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ready returns a Promise object in the context of the related document",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ready on a controlled document",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ready on a potential controlled document",
          "status": "FAIL",
          "message": "assert_equals: uncontrolled document should not have a controller expected null but got object \"[object ServiceWorker]\""
        },
        {
          "name": "ready on an iframe whose parent registers a new service worker",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ready on an iframe that installs a new service worker",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ready after a longer matched registration registered",
          "status": "FAIL",
          "message": "assert_equals: controller should be null expected null but got object \"[object ServiceWorker]\""
        },
        {
          "name": "access ready after it has been resolved",
          "status": "PASS",
          "message": null
        },
        {
          "name": "access ready on uninstalling registration that is resurrected",
          "status": "FAIL",
          "message": "assert_not_equals: ready promise should resolve before timeout got disallowed value null"
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/interfaces-sw.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Interfaces and attributes in ServiceWorkerGlobalScope",
          "status": "PASS",
          "message": null
        },
        {
          "name": "test setup (cache creation)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Event constructors",
          "status": "FAIL",
          "message": "assert_equals: FetchEvent.isReload should not exist expected (undefined) undefined but got (boolean) false"
        },
        {
          "name": "xhr is not exposed",
          "status": "PASS",
          "message": null
        },
        {
          "name": "URL.createObjectURL is not exposed",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorker interface: existence and properties of interface object",
          "status": "FAIL",
          "message": "assert_own_property: self does not have own property \"ServiceWorker\" expected property \"ServiceWorker\" missing"
        },
        {
          "name": "ServiceWorker interface object length",
          "status": "FAIL",
          "message": "assert_own_property: self does not have own property \"ServiceWorker\" expected property \"ServiceWorker\" missing"
        },
        {
          "name": "ServiceWorker interface object name",
          "status": "FAIL",
          "message": "assert_own_property: self does not have own property \"ServiceWorker\" expected property \"ServiceWorker\" missing"
        },
        {
          "name": "ServiceWorker interface: existence and properties of interface prototype object",
          "status": "FAIL",
          "message": "assert_own_property: self does not have own property \"ServiceWorker\" expected property \"ServiceWorker\" missing"
        },
        {
          "name": "ServiceWorker interface: existence and properties of interface prototype object's \"constructor\" property",
          "status": "FAIL",
          "message": "assert_own_property: self does not have own property \"ServiceWorker\" expected property \"ServiceWorker\" missing"
        },
        {
          "name": "ServiceWorker interface: existence and properties of interface prototype object's @@unscopables property",
          "status": "FAIL",
          "message": "assert_own_property: self does not have own property \"ServiceWorker\" expected property \"ServiceWorker\" missing"
        },
        {
          "name": "ServiceWorker interface: attribute scriptURL",
          "status": "FAIL",
          "message": "assert_own_property: self does not have own property \"ServiceWorker\" expected property \"ServiceWorker\" missing"
        },
        {
          "name": "ServiceWorker interface: attribute state",
          "status": "FAIL",
          "message": "assert_own_property: self does not have own property \"ServiceWorker\" expected property \"ServiceWorker\" missing"
        },
        {
          "name": "ServiceWorker interface: operation postMessage(any, [object Object])",
          "status": "FAIL",
          "message": "assert_own_property: self does not have own property \"ServiceWorker\" expected property \"ServiceWorker\" missing"
        },
        {
          "name": "ServiceWorker interface: attribute onstatechange",
          "status": "FAIL",
          "message": "assert_own_property: self does not have own property \"ServiceWorker\" expected property \"ServiceWorker\" missing"
        },
        {
          "name": "ServiceWorkerRegistration interface: existence and properties of interface object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerRegistration interface object length",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerRegistration interface object name",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerRegistration interface: existence and properties of interface prototype object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerRegistration interface: existence and properties of interface prototype object's \"constructor\" property",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerRegistration interface: existence and properties of interface prototype object's @@unscopables property",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerRegistration interface: attribute installing",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerRegistration interface: attribute waiting",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerRegistration interface: attribute active",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerRegistration interface: attribute scope",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerRegistration interface: attribute updateViaCache",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerRegistration interface: operation update()",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerRegistration interface: operation unregister()",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerRegistration interface: attribute onupdatefound",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerRegistration must be primary interface of self.registration",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Stringification of self.registration",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerRegistration interface: self.registration must inherit property \"installing\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerRegistration interface: self.registration must inherit property \"waiting\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerRegistration interface: self.registration must inherit property \"active\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerRegistration interface: self.registration must inherit property \"scope\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerRegistration interface: self.registration must inherit property \"updateViaCache\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerRegistration interface: self.registration must inherit property \"update()\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerRegistration interface: self.registration must inherit property \"unregister()\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerRegistration interface: self.registration must inherit property \"onupdatefound\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerGlobalScope interface: existence and properties of interface object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerGlobalScope interface object length",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerGlobalScope interface object name",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerGlobalScope interface: existence and properties of interface prototype object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to a new value via Object.setPrototypeOf should throw a TypeError",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to a new value via __proto__ should throw a TypeError",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to a new value via Reflect.setPrototypeOf should return false",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to its original value via Object.setPrototypeOf should not throw",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to its original value via __proto__ should not throw",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to its original value via Reflect.setPrototypeOf should return true",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerGlobalScope interface: existence and properties of interface prototype object's \"constructor\" property",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerGlobalScope interface: existence and properties of interface prototype object's @@unscopables property",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerGlobalScope interface: attribute clients",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerGlobalScope interface: attribute registration",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerGlobalScope interface: operation skipWaiting()",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerGlobalScope interface: attribute oninstall",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerGlobalScope interface: attribute onactivate",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerGlobalScope interface: attribute onfetch",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerGlobalScope interface: attribute onmessage",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerGlobalScope interface: attribute onmessageerror",
          "status": "FAIL",
          "message": "assert_own_property: The global object must have a property \"onmessageerror\" expected property \"onmessageerror\" missing"
        },
        {
          "name": "ServiceWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of global platform object - setting to a new value via Object.setPrototypeOf should throw a TypeError",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of global platform object - setting to a new value via __proto__ should throw a TypeError",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of global platform object - setting to a new value via Reflect.setPrototypeOf should return false",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of global platform object - setting to its original value via Object.setPrototypeOf should not throw",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of global platform object - setting to its original value via __proto__ should not throw",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of global platform object - setting to its original value via Reflect.setPrototypeOf should return true",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerGlobalScope must be primary interface of self",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Stringification of self",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerGlobalScope interface: self must inherit property \"clients\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerGlobalScope interface: self must inherit property \"registration\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerGlobalScope interface: self must inherit property \"skipWaiting()\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerGlobalScope interface: self must inherit property \"oninstall\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerGlobalScope interface: self must inherit property \"onactivate\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerGlobalScope interface: self must inherit property \"onfetch\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerGlobalScope interface: self must inherit property \"onmessage\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "ServiceWorkerGlobalScope interface: self must inherit property \"onmessageerror\" with the proper type",
          "status": "FAIL",
          "message": "assert_own_property: expected property \"onmessageerror\" missing"
        },
        {
          "name": "Client interface: existence and properties of interface object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Client interface object length",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Client interface object name",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Client interface: existence and properties of interface prototype object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Client interface: existence and properties of interface prototype object's \"constructor\" property",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Client interface: existence and properties of interface prototype object's @@unscopables property",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Client interface: attribute url",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Client interface: attribute frameType",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Client interface: attribute id",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Client interface: attribute type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Client interface: operation postMessage(any, [object Object])",
          "status": "PASS",
          "message": null
        },
        {
          "name": "WindowClient interface: existence and properties of interface object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "WindowClient interface object length",
          "status": "PASS",
          "message": null
        },
        {
          "name": "WindowClient interface object name",
          "status": "PASS",
          "message": null
        },
        {
          "name": "WindowClient interface: existence and properties of interface prototype object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "WindowClient interface: existence and properties of interface prototype object's \"constructor\" property",
          "status": "PASS",
          "message": null
        },
        {
          "name": "WindowClient interface: existence and properties of interface prototype object's @@unscopables property",
          "status": "PASS",
          "message": null
        },
        {
          "name": "WindowClient interface: attribute visibilityState",
          "status": "PASS",
          "message": null
        },
        {
          "name": "WindowClient interface: attribute focused",
          "status": "PASS",
          "message": null
        },
        {
          "name": "WindowClient interface: attribute ancestorOrigins",
          "status": "FAIL",
          "message": "assert_true: The prototype object must have a property \"ancestorOrigins\" expected true got false"
        },
        {
          "name": "WindowClient interface: operation focus()",
          "status": "PASS",
          "message": null
        },
        {
          "name": "WindowClient interface: operation navigate(USVString)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Clients interface: existence and properties of interface object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Clients interface object length",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Clients interface object name",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Clients interface: existence and properties of interface prototype object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Clients interface: existence and properties of interface prototype object's \"constructor\" property",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Clients interface: existence and properties of interface prototype object's @@unscopables property",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Clients interface: operation get(DOMString)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Clients interface: operation matchAll(ClientQueryOptions)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Clients interface: operation openWindow(USVString)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Clients interface: operation claim()",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Clients must be primary interface of self.clients",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Stringification of self.clients",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Clients interface: self.clients must inherit property \"get(DOMString)\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Clients interface: calling get(DOMString) on self.clients with too few arguments must throw TypeError",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Clients interface: self.clients must inherit property \"matchAll(ClientQueryOptions)\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Clients interface: calling matchAll(ClientQueryOptions) on self.clients with too few arguments must throw TypeError",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Clients interface: self.clients must inherit property \"openWindow(USVString)\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Clients interface: calling openWindow(USVString) on self.clients with too few arguments must throw TypeError",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Clients interface: self.clients must inherit property \"claim()\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache interface: existence and properties of interface object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache interface object length",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache interface object name",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache interface: existence and properties of interface prototype object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache interface: existence and properties of interface prototype object's \"constructor\" property",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache interface: existence and properties of interface prototype object's @@unscopables property",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache interface: operation match(RequestInfo, CacheQueryOptions)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache interface: operation matchAll(RequestInfo, CacheQueryOptions)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache interface: operation add(RequestInfo)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache interface: operation addAll([object Object])",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache interface: operation put(RequestInfo, Response)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache interface: operation delete(RequestInfo, CacheQueryOptions)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache interface: operation keys(RequestInfo, CacheQueryOptions)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache must be primary interface of self.cacheInstance",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Stringification of self.cacheInstance",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache interface: self.cacheInstance must inherit property \"match(RequestInfo, CacheQueryOptions)\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache interface: calling match(RequestInfo, CacheQueryOptions) on self.cacheInstance with too few arguments must throw TypeError",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache interface: self.cacheInstance must inherit property \"matchAll(RequestInfo, CacheQueryOptions)\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache interface: calling matchAll(RequestInfo, CacheQueryOptions) on self.cacheInstance with too few arguments must throw TypeError",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache interface: self.cacheInstance must inherit property \"add(RequestInfo)\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache interface: calling add(RequestInfo) on self.cacheInstance with too few arguments must throw TypeError",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache interface: self.cacheInstance must inherit property \"addAll([object Object])\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache interface: calling addAll([object Object]) on self.cacheInstance with too few arguments must throw TypeError",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache interface: self.cacheInstance must inherit property \"put(RequestInfo, Response)\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache interface: calling put(RequestInfo, Response) on self.cacheInstance with too few arguments must throw TypeError",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache interface: self.cacheInstance must inherit property \"delete(RequestInfo, CacheQueryOptions)\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache interface: calling delete(RequestInfo, CacheQueryOptions) on self.cacheInstance with too few arguments must throw TypeError",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache interface: self.cacheInstance must inherit property \"keys(RequestInfo, CacheQueryOptions)\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache interface: calling keys(RequestInfo, CacheQueryOptions) on self.cacheInstance with too few arguments must throw TypeError",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage interface: existence and properties of interface object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage interface object length",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage interface object name",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage interface: existence and properties of interface prototype object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage interface: existence and properties of interface prototype object's \"constructor\" property",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage interface: existence and properties of interface prototype object's @@unscopables property",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage interface: operation match(RequestInfo, MultiCacheQueryOptions)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage interface: operation has(DOMString)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage interface: operation open(DOMString)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage interface: operation delete(DOMString)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage interface: operation keys()",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage must be primary interface of self.caches",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Stringification of self.caches",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage interface: self.caches must inherit property \"match(RequestInfo, MultiCacheQueryOptions)\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage interface: calling match(RequestInfo, MultiCacheQueryOptions) on self.caches with too few arguments must throw TypeError",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage interface: self.caches must inherit property \"has(DOMString)\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage interface: calling has(DOMString) on self.caches with too few arguments must throw TypeError",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage interface: self.caches must inherit property \"open(DOMString)\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage interface: calling open(DOMString) on self.caches with too few arguments must throw TypeError",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage interface: self.caches must inherit property \"delete(DOMString)\" with the proper type",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage interface: calling delete(DOMString) on self.caches with too few arguments must throw TypeError",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage interface: self.caches must inherit property \"keys()\" with the proper type",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/clients-matchall-on-evaluation.https.html",
      "status": "TIMEOUT",
      "message": null,
      "subtests": [
        {
          "name": "Test Clients.matchAll() on script evaluation",
          "status": "TIMEOUT",
          "message": "Test timed out"
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/update-after-oneday.https.html",
      "status": "TIMEOUT",
      "message": null,
      "subtests": [
        {
          "name": "Update should be triggered after a functional event when last update time is over 24 hours",
          "status": "TIMEOUT",
          "message": "Test timed out"
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/registration-security-error.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Registering same scope as the script directory without the last slash",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Registration scope outside the script directory",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Registering scope outside domain",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Registering script outside domain",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Registering redirected script",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Scope including parent-reference and not under the script directory",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Script URL including consecutive slashes",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Script URL is same-origin filesystem: URL",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/appcache-ordering-main.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "serviceworkers take priority over appcaches",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/fetch-waits-for-activate.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Fetch events should wait for the activate event to complete.",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/client-id.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Client.id returns the client's ID.",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/activation-after-registration.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "activation occurs after registration",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/cache-storage/worker/cache-matchAll.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Cache.matchAll with no matching entries",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.matchAll with URL",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.matchAll with Request",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.matchAll with new Request",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.matchAll with HEAD",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.matchAll with ignoreSearch option (request with no search parameters)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.matchAll with ignoreSearch option (request with search parameters)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.matchAll supports ignoreMethod",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.matchAll supports ignoreVary",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.matchAll with URL containing fragment",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.matchAll with string fragment \"http\" as query",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.matchAll without parameters",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.matchAll with responses containing \"Vary\" header",
          "status": "FAIL",
          "message": "assert_equals: Cache.matchAll should match the entire header if a vary header is present in both the query and cached requests. expected 1 but got 0"
        },
        {
          "name": "Cache.matchAll with multiple vary pairs",
          "status": "FAIL",
          "message": "assert_equals: Cache.matchAll should support multiple vary request/response pairs. expected 3 but got 1"
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/respond-with-body-accessed-response.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "initialize global state",
          "status": "PASS",
          "message": null
        },
        {
          "name": "test: type=basic",
          "status": "PASS",
          "message": null
        },
        {
          "name": "test: type=opaque",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: \"Failed to load url:TestRequest?type=opaque\""
        },
        {
          "name": "test: type=default",
          "status": "PASS",
          "message": null
        },
        {
          "name": "test: type=basic&clone=1",
          "status": "PASS",
          "message": null
        },
        {
          "name": "test: type=opaque&clone=1",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: \"Failed to load url:TestRequest?type=opaque&clone=1\""
        },
        {
          "name": "test: type=default&clone=1",
          "status": "PASS",
          "message": null
        },
        {
          "name": "test: type=basic&clone=2",
          "status": "PASS",
          "message": null
        },
        {
          "name": "test: type=opaque&clone=2",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: \"Failed to load url:TestRequest?type=opaque&clone=2\""
        },
        {
          "name": "test: type=default&clone=2",
          "status": "PASS",
          "message": null
        },
        {
          "name": "test: type=basic&passThroughCache=true",
          "status": "PASS",
          "message": null
        },
        {
          "name": "test: type=opaque&passThroughCache=true",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: \"Failed to load url:TestRequest?type=opaque&passThroughCache=true\""
        },
        {
          "name": "test: type=default&passThroughCache=true",
          "status": "PASS",
          "message": null
        },
        {
          "name": "test: type=basic&clone=1&passThroughCache=true",
          "status": "PASS",
          "message": null
        },
        {
          "name": "test: type=opaque&clone=1&passThroughCache=true",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: \"Failed to load url:TestRequest?type=opaque&clone=1&passThroughCache=true\""
        },
        {
          "name": "test: type=default&clone=1&passThroughCache=true",
          "status": "PASS",
          "message": null
        },
        {
          "name": "test: type=basic&clone=2&passThroughCache=true",
          "status": "PASS",
          "message": null
        },
        {
          "name": "test: type=opaque&clone=2&passThroughCache=true",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: \"Failed to load url:TestRequest?type=opaque&clone=2&passThroughCache=true\""
        },
        {
          "name": "test: type=default&clone=2&passThroughCache=true",
          "status": "PASS",
          "message": null
        },
        {
          "name": "restore global state",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/fetch-request-css-cross-origin.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "setup global state",
          "status": "PASS",
          "message": null
        },
        {
          "name": "MIME checking of CSS resources fetched via service worker when Content-Type is not set.",
          "status": "FAIL",
          "message": "assert_equals: The color must be overridden by cross origin CSS. expected \"rgb(0, 0, 255)\" but got \"rgb(255, 0, 0)\""
        },
        {
          "name": "Same-origin policy for access to CSS resources fetched via service worker",
          "status": "FAIL",
          "message": "assert_throws: function \"() => {\n    f.contentDocument.styleSheets[0].cssRules[0].cssText;\n  }\" threw object \"TypeError: Cannot read property 'cssText' of undefined\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
        },
        {
          "name": "cleanup global state",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/registration-script.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Registering invalid chunked encoding script",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Registering invalid chunked encoding script with flush",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Registering script including parse error",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Registering script including undefined error",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Registering script including uncaught exception",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Registering script importing malformed script",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Registering non-existent script",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Registering script importing non-existent script",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Registering script including caught exception",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/skip-waiting-without-using-registration.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Test skipWaiting while a client is not being controlled",
          "status": "PASS",
          "message": null
        },
        {
          "name": "skipWaiting",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/fetch-cors-xhr.https.html",
      "status": "TIMEOUT",
      "message": null,
      "subtests": [
        {
          "name": "Verify CORS XHR of fetch() in a Service Worker",
          "status": "TIMEOUT",
          "message": "Test timed out"
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/registration-basic.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Registering normal scope",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Registering scope with fragment",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Registering same scope as the script directory",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/fetch-event-respond-with-readable-stream.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Subresource built from a ReadableStream",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Main resource built from a ReadableStream",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Subresource built from a ReadableStream - delayed",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Main resource built from a ReadableStream - delayed",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Subresource built from a ReadableStream - fetch stream",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Main resource built from a ReadableStream - fetch stream",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/cache-storage/worker/cache-storage.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "CacheStorage.open",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage.delete dooms, but does not delete immediately",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage.open with an empty name",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage.open with no arguments",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage.has with existing cache",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage.has with nonexistent cache",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage.open with existing cache",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage.delete with existing cache",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage.delete with nonexistent cache",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage names are DOMStrings not USVStrings",
          "status": "FAIL",
          "message": "assert_true: keys should include cache with bad name expected true got false"
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/postmessage-blob-url.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "postMessage Blob URL to a ServiceWorker",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/indexeddb.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Verify Indexed DB operation in a Service Worker",
          "status": "PASS",
          "message": null
        },
        {
          "name": "clean up: registration",
          "status": "PASS",
          "message": null
        },
        {
          "name": "clean up: database",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/cache-storage/serviceworker/cache-matchAll.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Cache.matchAll",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.matchAll with no matching entries",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.matchAll with URL",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.matchAll with Request",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.matchAll with new Request",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.matchAll with HEAD",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.matchAll with ignoreSearch option (request with no search parameters)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.matchAll with ignoreSearch option (request with search parameters)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.matchAll supports ignoreMethod",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.matchAll supports ignoreVary",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.matchAll with URL containing fragment",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.matchAll with string fragment \"http\" as query",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.matchAll without parameters",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.matchAll with responses containing \"Vary\" header",
          "status": "FAIL",
          "message": "assert_equals: Cache.matchAll should match the entire header if a vary header is present in both the query and cached requests. expected 1 but got 0"
        },
        {
          "name": "Cache.matchAll with multiple vary pairs",
          "status": "FAIL",
          "message": "assert_equals: Cache.matchAll should support multiple vary request/response pairs. expected 3 but got 1"
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/navigation-redirect-to-http.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Verify Service Worker can receive HTTP opaqueredirect response.",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/update-bytecheck.https.html",
      "status": "TIMEOUT",
      "message": null,
      "subtests": [
        {
          "name": "Test(cors: false, main: default, imported: default)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Test(cors: false, main: default, imported: time)",
          "status": "TIMEOUT",
          "message": "Test timed out"
        },
        {
          "name": "Test(cors: false, main: time, imported: default)",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "Test(cors: false, main: time, imported: time)",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "Test(cors: true, main: default, imported: default)",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "Test(cors: true, main: default, imported: time)",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "Test(cors: true, main: time, imported: default)",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "Test(cors: true, main: time, imported: time)",
          "status": "NOTRUN",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/fetch-event-after-navigation-within-page.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Service Worker should respond to fetch event after the hash changes",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Service Worker should respond to fetch event after the pushState",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/resource-timing-cross-origin.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Test that timing allow check fails when service worker changes origin from same to cross origin.",
          "status": "FAIL",
          "message": "assert_unreached: unexpected rejection: assert_equals: expected 1 but got 0 Reached unreachable code"
        }
      ]
    },
    {
      "test": "/service-workers/cache-storage/window/cache-storage.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "CacheStorage.open",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage.delete dooms, but does not delete immediately",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage.open with an empty name",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage.open with no arguments",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage.has with existing cache",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage.has with nonexistent cache",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage.open with existing cache",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage.delete with existing cache",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage.delete with nonexistent cache",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorage names are DOMStrings not USVStrings",
          "status": "FAIL",
          "message": "assert_true: keys should include cache with bad name expected true got false"
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/worker-interception-redirect.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "initialize global state",
          "status": "PASS",
          "message": null
        },
        {
          "name": "request to sw1 scope gets network redirect to sw2 scope",
          "status": "FAIL",
          "message": "assert_equals: expected \"the shared worker script was served from network\" but got \"sw2 saw the request for the worker script\""
        },
        {
          "name": "request to sw1 scope gets network redirect to out-of-scope",
          "status": "FAIL",
          "message": "assert_equals: expected \"sw1 saw importScripts from the worker\" but got \"importScripts: served from network\""
        },
        {
          "name": "request to sw1 scope gets service-worker redirect to sw2 scope",
          "status": "PASS",
          "message": null
        },
        {
          "name": "request to sw1 scope gets service-worker redirect to out-of-scope",
          "status": "FAIL",
          "message": "assert_equals: expected \"sw1 saw importScripts from the worker\" but got \"importScripts: served from network\""
        },
        {
          "name": "cleanup global state",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/postmessage.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "postMessage to a ServiceWorker (and back via MessagePort)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "postMessage a transferable ArrayBuffer between ServiceWorker and Client",
          "status": "PASS",
          "message": null
        },
        {
          "name": "postMessage a transferable ArrayBuffer between ServiceWorker and Client over MessagePort",
          "status": "PASS",
          "message": null
        },
        {
          "name": "postMessage with dictionary a transferable ArrayBuffer between ServiceWorker and Client",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/extendable-event-async-waituntil.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Test calling waitUntil in a different task without an existing extension throws",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Test calling waitUntil in a different microtask without an existing extension throws",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Test calling waitUntil in a different task with an existing extension succeeds",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Test calling waitUntil with an existing extension promise handler succeeds",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Test calling waitUntil at the end of the microtask turn throws",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Test calling waitUntil after the current extension expired in a different task fails",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Test calling waitUntil on a script constructed ExtendableEvent throws exception",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Test calling waitUntil asynchronously with pending respondWith promise.",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Test calling waitUntil synchronously inside microtask of respondWith promise.",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Test calling waitUntil asynchronously inside microtask of respondWith promise.",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/controller-on-disconnect.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "controller is cleared on disconnected window",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/import-scripts-updated-flag.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "initialize global state",
          "status": "PASS",
          "message": null
        },
        {
          "name": "import script previously imported at worker evaluation time",
          "status": "PASS",
          "message": null
        },
        {
          "name": "import script previously imported at worker install time",
          "status": "PASS",
          "message": null
        },
        {
          "name": "import script not previously imported",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Tests for importScripts: import scripts updated flag",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/navigation-redirect-body.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Navigation redirection must clear body",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/invalid-blobtype.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Verify the response of FetchEvent using XMLHttpRequest",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/navigation-redirect.https.html",
      "status": "TIMEOUT",
      "message": null,
      "subtests": [
        {
          "name": "initialize global state",
          "status": "TIMEOUT",
          "message": "Test timed out"
        },
        {
          "name": "Normal redirect to same-origin scope.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "Normal redirect to same-origin scope with a hash fragment.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "Normal redirect to same-origin scope with different hash fragments.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "Normal redirect to other-origin scope.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "SW-fallbacked redirect to same-origin out-scope.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "SW-fallbacked redirect to same-origin same-scope.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "SW-fallbacked redirect to same-origin same-scope with a hash fragment.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "SW-fallbacked redirect to same-origin same-scope with different hash fragments.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "SW-fallbacked redirect to same-origin other-scope.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "SW-fallbacked redirect to other-origin out-scope.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "SW-fallbacked redirect to other-origin in-scope.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "SW-fallbacked redirect to other-origin and back to same-origin.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "SW-generated redirect to same-origin out-scope.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "SW-generated redirect to same-origin out-scope with a hash fragment.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "SW-generated redirect to same-origin out-scope with different hash fragments.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "SW-generated redirect to same-origin same-scope.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "SW-generated redirect to same-origin other-scope.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "SW-generated redirect to other-origin out-scope.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "SW-generated redirect to other-origin in-scope.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "SW-fetched redirect to same-origin out-scope.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "SW-fetched redirect to same-origin same-scope.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "SW-fetched redirect to same-origin other-scope.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "SW-fetched redirect to other-origin out-scope.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "SW-fetched redirect to other-origin in-scope.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "SW-fetched response from different URL, same-origin same-scope.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "Redirect to same-origin out-scope with opaque redirect response.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "Redirect to same-origin same-scope with opaque redirect response.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "Redirect to same-origin other-scope with opaque redirect response.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "Redirect to other-origin out-scope with opaque redirect response.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "Redirect to other-origin in-scope with opaque redirect response.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "No location redirect response.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "Redirect to same-origin out-scope with opaque redirect response which is passed through Cache.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "Redirect to same-origin same-scope with opaque redirect response which is passed through Cache.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "Redirect to same-origin other-scope with opaque redirect response which is passed through Cache.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "Redirect to other-origin out-scope with opaque redirect response which is passed through Cache.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "Redirect to other-origin in-scope with opaque redirect response which is passed through Cache.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "No location redirect response via Cache.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "clean up global state",
          "status": "NOTRUN",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/worker-in-sandboxed-iframe-by-csp-fetch-event.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Prepare a service worker.",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Prepare an iframe sandboxed by CSP HTTP header with allow-scripts.",
          "status": "FAIL",
          "message": "assert_false: Service worker should NOT control the sandboxed page expected false got true"
        },
        {
          "name": "Prepare an iframe sandboxed by CSP HTTP header with allow-scripts and allow-same-origin.",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Fetch request from a worker in iframe sandboxed by CSP HTTP header allow-scripts flag",
          "status": "FAIL",
          "message": "assert_equals: The request should NOT be handled by SW. expected 0 but got 1"
        },
        {
          "name": "Fetch request from a worker in iframe sandboxed by CSP HTTP header with allow-scripts and allow-same-origin flag",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/fetch-request-redirect.https.html",
      "status": "TIMEOUT",
      "message": null,
      "subtests": [
        {
          "name": "Verify redirect mode of Fetch API and ServiceWorker FetchEvent.",
          "status": "TIMEOUT",
          "message": "Test timed out"
        },
        {
          "name": "Verify redirected of Response(Fetch API) and ServiceWorker FetchEvent.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "Verify redirected of Response(Fetch API), Cache API and ServiceWorker FetchEvent.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "Normal XHR should succeed. - default",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Redirected XHR should succeed. - default",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Redirected XHR with Request.redirect=follow should succeed. - default",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Redirected XHR with Request.redirect=error should fail. - default",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Redirected XHR with Request.redirect=manual should fail. - default",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Normal image resource should be loaded. - default",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Redirected image resource should be loaded. - default",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Loading redirected image with Request.redirect=follow should succeed. - default",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Loading redirected image with Request.redirect=error should fail. - default",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Loading redirected image with Request.redirect=manual should fail. - default",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/ServiceWorkerGlobalScope/unregister.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Unregister on script evaluation",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Unregister on installing event",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Unregister on activate event",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Unregister controlling service worker",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/cache-storage/window/cache-abort.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "put() on an already-aborted request should reject with AbortError",
          "status": "PASS",
          "message": null
        },
        {
          "name": "put() synchronously followed by abort should reject with AbortError",
          "status": "PASS",
          "message": null
        },
        {
          "name": "put() followed by abort after headers received should reject with AbortError",
          "status": "PASS",
          "message": null
        },
        {
          "name": "add() on an already-aborted request should reject with AbortError",
          "status": "PASS",
          "message": null
        },
        {
          "name": "add() synchronously followed by abort should reject with AbortError",
          "status": "PASS",
          "message": null
        },
        {
          "name": "add() followed by abort after headers received should reject with AbortError",
          "status": "PASS",
          "message": null
        },
        {
          "name": "addAll() on an already-aborted request should reject with AbortError",
          "status": "PASS",
          "message": null
        },
        {
          "name": "addAll() synchronously followed by abort should reject with AbortError",
          "status": "PASS",
          "message": null
        },
        {
          "name": "addAll() followed by abort after headers received should reject with AbortError",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/import-scripts-redirect.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "importScripts() supports redirects",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: object \"TypeError: Failed to register a ServiceWorker: ServiceWorker script evaluation failed\""
        },
        {
          "name": "importScripts() supports redirects and can be updated",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: object \"TypeError: Failed to register a ServiceWorker: ServiceWorker script evaluation failed\""
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/ServiceWorkerGlobalScope/isSecureContext.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Setting up tests",
          "status": "PASS",
          "message": null
        },
        {
          "name": "isSecureContext",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/cache-storage/worker/cache-storage-match.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "CacheStorageMatch with no cache name provided",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorageMatch from one of many caches",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorageMatch from one of many caches by name",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorageMatch a string request",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorageMatch a HEAD request",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorageMatch with no cached entry",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorageMatch with no caches available but name provided",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorageMatch with empty cache name provided",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorageMatch supports ignoreSearch",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.match supports ignoreMethod",
          "status": "PASS",
          "message": null
        },
        {
          "name": "CacheStorageMatch supports ignoreVary",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/navigation-preload/navigationPreload.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "The navigationPreload attribute must return service worker registration's NavigationPreloadManager object.",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/navigation-preload/resource-timing.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Navigation Preload Resource Timing.",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/mime-sniffing.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "The response from service worker should be correctly MIME siniffed.",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/unregister-controller.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Unregister does not affect existing controller",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Unregister prevents control of subsequent navigations",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Unregister prevents new controllee even if registration is still in use",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/iso-latin1-header.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Verify the response of FetchEvent using XMLHttpRequest",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/cache-storage/window/cache-matchAll.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Cache.matchAll with no matching entries",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.matchAll with URL",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.matchAll with Request",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.matchAll with new Request",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.matchAll with HEAD",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.matchAll with ignoreSearch option (request with no search parameters)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.matchAll with ignoreSearch option (request with search parameters)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.matchAll supports ignoreMethod",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.matchAll supports ignoreVary",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.matchAll with URL containing fragment",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.matchAll with string fragment \"http\" as query",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.matchAll without parameters",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.matchAll with responses containing \"Vary\" header",
          "status": "FAIL",
          "message": "assert_equals: Cache.matchAll should match the entire header if a vary header is present in both the query and cached requests. expected 1 but got 0"
        },
        {
          "name": "Cache.matchAll with multiple vary pairs",
          "status": "FAIL",
          "message": "assert_equals: Cache.matchAll should support multiple vary request/response pairs. expected 3 but got 1"
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/postmessage-msgport-to-client.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "postMessage MessagePorts from ServiceWorker to Client",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/fetch-event-referrer-policy.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Service Worker responds to fetch event with the referrer policy",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: object \"TypeError: Failed to fetch\""
        },
        {
          "name": "Service Worker should respond to fetch with the default referrer policy",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Service Worker should respond to fetch with the referrer URL when a member of RequestInit is present - Default Referrer",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/state.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Service Worker state property and \"statechange\" event",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/opaque-response-preloaded.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Opaque responses should not be reused for XHRs, loading case",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Opaque responses should not be reused for XHRs, done case",
          "status": "FAIL",
          "message": "assert_equals: expected \"PASS\" but got \"FAIL: preload failed unexpectedly\""
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/shared-worker-controlled.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Verify subresource loads in SharedWorker are controlled by a Service Worker",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Verify SharedWorker construction is controlled by a Service Worker",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Verify importScripts from SharedWorker is controlled by a Service Worker",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/cache-storage/worker/cache-delete.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Cache.delete with no arguments",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.delete called with a string URL",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.delete called with a Request object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.delete called with a HEAD request",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.delete supports ignoreVary",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.delete with a non-existent entry",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.delete with ignoreSearch option (request with search parameters)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.delete with ignoreSearch option (when it is specified as false)",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/skip-waiting-without-client.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Test single skipWaiting() when no client attached",
          "status": "PASS",
          "message": null
        },
        {
          "name": "skipWaiting",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/http-to-https-redirect-and-register.https.html",
      "status": "TIMEOUT",
      "message": null,
      "subtests": [
        {
          "name": "register on a secure page after redirect from an non-secure url",
          "status": "TIMEOUT",
          "message": "Test timed out"
        },
        {
          "name": "register on a non-secure page after redirect from an non-secure url",
          "status": "NOTRUN",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/postmessage-from-waiting-serviceworker.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Client.postMessage() from waiting serviceworker.",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/about-blank-replacement.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Initial about:blank is controlled, exposed to clients.matchAll(), and matches final Client.",
          "status": "FAIL",
          "message": "assert_false: result: failure: could not find about:blank client expected false got true"
        },
        {
          "name": "Initial about:blank modified by parent is controlled, exposed to clients.matchAll(), and matches final Client.",
          "status": "FAIL",
          "message": "assert_false: result: failure: could not find about:blank client expected false got true"
        },
        {
          "name": "Popup initial about:blank is controlled, exposed to clients.matchAll(), and matches final Client.",
          "status": "FAIL",
          "message": "assert_false: result: failure: could not find about:blank client expected false got true"
        },
        {
          "name": "Initial about:blank is controlled, exposed to clients.matchAll(), and final Client is not controlled by a service worker.",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Simple about:blank is controlled and is exposed to clients.matchAll().",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: object \"TypeError: Cannot read property 'scriptURL' of null\""
        },
        {
          "name": "Nested about:srcdoc is controlled and is exposed to clients.matchAll().",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: object \"TypeError: Cannot read property 'scriptURL' of null\""
        },
        {
          "name": "Dynamic about:blank is controlled and is exposed to clients.matchAll().",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: object \"TypeError: Cannot read property 'scriptURL' of null\""
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/import-module-scripts.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Static import.",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: object \"NotSupportedError: type 'module' in RegistrationOptions is not implemented yet.See https://crbug.com/824647 for details.\""
        },
        {
          "name": "Nested static import.",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: object \"NotSupportedError: type 'module' in RegistrationOptions is not implemented yet.See https://crbug.com/824647 for details.\""
        },
        {
          "name": "Static import and then dynamic import.",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: object \"NotSupportedError: type 'module' in RegistrationOptions is not implemented yet.See https://crbug.com/824647 for details.\""
        },
        {
          "name": "Dynamic import.",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: object \"NotSupportedError: type 'module' in RegistrationOptions is not implemented yet.See https://crbug.com/824647 for details.\""
        },
        {
          "name": "Nested dynamic import.",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: object \"NotSupportedError: type 'module' in RegistrationOptions is not implemented yet.See https://crbug.com/824647 for details.\""
        },
        {
          "name": "Dynamic import and then static import.",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: object \"NotSupportedError: type 'module' in RegistrationOptions is not implemented yet.See https://crbug.com/824647 for details.\""
        },
        {
          "name": "eval(import()).",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: object \"NotSupportedError: type 'module' in RegistrationOptions is not implemented yet.See https://crbug.com/824647 for details.\""
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/getregistration.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "getRegistration",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Register then getRegistration",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Register then getRegistration with a URL having a fragment",
          "status": "PASS",
          "message": null
        },
        {
          "name": "getRegistration with a cross origin URL",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Register then Unregister then getRegistration",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/fetch-event-respond-with-readable-stream-chunk.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Respond by chunks with a Response built from a ReadableStream",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/Service-Worker-Allowed-header.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Registering within Service-Worker-Allowed path",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Registering within Service-Worker-Allowed path (absolute URL)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Registering within Service-Worker-Allowed path with parent reference",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Registering outside Service-Worker-Allowed path",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Registering outside Service-Worker-Allowed path with parent reference",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Service-Worker-Allowed is cross-origin to script, registering on a normally allowed scope",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Service-Worker-Allowed is cross-origin to script, registering on a normally disallowed scope",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Service-Worker-Allowed is cross-origin to page, same-origin to script",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/performance-timeline.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Test Performance Timeline API in Service Worker",
          "status": "PASS",
          "message": null
        },
        {
          "name": "empty service worker fetch event included in performance timings",
          "status": "PASS",
          "message": null
        },
        {
          "name": "User Timing",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Resource Timing",
          "status": "FAIL",
          "message": "assert_equals: expected \"bufferfull\" but got \"Hello world\\n\""
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/fetch-request-html-imports.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Verify the FetchEvent for HTMLImports",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/clients-matchall-include-uncontrolled.https.html",
      "status": "ERROR",
      "message": "Uncaught Error: assert_array_equals: property 0, expected \"visible\" but got \"hidden\"",
      "subtests": [
        {
          "name": "Verify matchAll() with windows respect includeUncontrolled",
          "status": "TIMEOUT",
          "message": "Test timed out"
        },
        {
          "name": "Verify matchAll() with shared workers respect includeUncontrolled",
          "status": "NOTRUN",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/worker-interception.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Verify worker script from uncontrolled document is intercepted by Service Worker",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: undefined"
        },
        {
          "name": "Verify worker script intercepted by same-origin response succeeds",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: undefined"
        },
        {
          "name": "Verify worker script intercepted by cors response fails",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Verify worker script intercepted by no-cors cross-origin response fails",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Verify worker loads from controlled document are intercepted by Service Worker",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/navigation-preload/empty-preload-response-body.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Navigation Preload empty response body.",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/multipart-image.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "initialize global state",
          "status": "PASS",
          "message": null
        },
        {
          "name": "same-origin multipart image via SW should be readable",
          "status": "PASS",
          "message": null
        },
        {
          "name": "cross-origin multipart image via SW with approved CORS should be readable",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: object \"NetworkError: load failed\""
        },
        {
          "name": "cross-origin multipart image with no-cors via SW should not be readable",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: object \"NetworkError: load failed\""
        },
        {
          "name": "cross-origin multipart image via SW with rejected CORS should fail to load",
          "status": "PASS",
          "message": null
        },
        {
          "name": "restore global state",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/postmessage-to-client-message-queue.https.html",
      "status": "TIMEOUT",
      "message": null,
      "subtests": [
        {
          "name": "Messages from ServiceWorker to Client only received after DOMContentLoaded event.",
          "status": "TIMEOUT",
          "message": "Test timed out"
        },
        {
          "name": "Messages from ServiceWorker to Client only received after calling startMessages().",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "Messages from ServiceWorker to Client only received after setting onmessage.",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "Microtasks run before dispatching messages after calling startMessages().",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "Microtasks run before dispatching messages after setting onmessage.",
          "status": "NOTRUN",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/getregistrations.https.html",
      "status": "TIMEOUT",
      "message": null,
      "subtests": [
        {
          "name": "registrations are not returned following unregister",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Register then getRegistrations",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Register multiple times then getRegistrations",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Register then Unregister then getRegistrations",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Register then Unregister with controlled frame then getRegistrations",
          "status": "PASS",
          "message": null
        },
        {
          "name": "getRegistrations promise resolves only with same origin registrations.",
          "status": "TIMEOUT",
          "message": "Test timed out"
        }
      ]
    },
    {
      "test": "/service-workers/cache-storage/worker/cache-storage-keys.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "CacheStorage keys",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/service-worker-csp-default.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "CSP test for default-src in ServiceWorkerGlobalScope",
          "status": "PASS",
          "message": null
        },
        {
          "name": "importScripts test for default-src",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Fetch test for default-src",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Redirected fetch test for default-src",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/waiting.https.html",
      "status": "TIMEOUT",
      "message": null,
      "subtests": [
        {
          "name": "waiting is set after installation",
          "status": "TIMEOUT",
          "message": "Test timed out"
        },
        {
          "name": "The ServiceWorker objects returned from waiting attribute getter that represent the same service worker are the same objects",
          "status": "NOTRUN",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/controller-with-no-fetch-event-handler.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "global setup",
          "status": "PASS",
          "message": null
        },
        {
          "name": "cross-origin request, no-cors mode",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: object \"TypeError: Failed to fetch\""
        },
        {
          "name": "cross-origin request, cors denied",
          "status": "PASS",
          "message": null
        },
        {
          "name": "cross-origin request, cors approved",
          "status": "FAIL",
          "message": "promise_test: Unhandled rejection with value: object \"TypeError: Failed to fetch\""
        },
        {
          "name": "cleanup global state",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/fetch-response-xhr.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Verify the response of FetchEvent using XMLHttpRequest",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/controller-on-load.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "controller is set for a controlled document",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/claim-not-using-registration.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Test claim client which is not using registration",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Test claim client when there's a longer-matched registration not already used by the page",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/cache-storage/serviceworker/cache-delete.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Cache.delete",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.delete with no arguments",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.delete called with a string URL",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.delete called with a Request object",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.delete called with a HEAD request",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.delete supports ignoreVary",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.delete with a non-existent entry",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.delete with ignoreSearch option (request with search parameters)",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Cache.delete with ignoreSearch option (when it is specified as false)",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/fetch-event-respond-with-partial-stream.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "respondWith() streams data to an intercepted fetch()",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/fetch-event-async-respond-with.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Calling respondWith asynchronously throws an exception",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/client-navigate.https.html",
      "status": "TIMEOUT",
      "message": null,
      "subtests": [
        {
          "name": "Frame location should update on successful navigation",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Frame location should not be accessible after redirect",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Frame location should not be accessible after cross-origin navigation",
          "status": "TIMEOUT",
          "message": "Test timed out"
        },
        {
          "name": "Frame location should not update on failed about:blank navigation",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "Frame location should not update on failed mixed-content navigation",
          "status": "NOTRUN",
          "message": null
        },
        {
          "name": "Return value should be instance of WindowClient",
          "status": "PASS",
          "message": null
        },
        {
          "name": "Redirecting to another origin should resolve with null",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/detached-context.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "accessing a ServiceWorkerRegistration from a removed iframe",
          "status": "FAIL",
          "message": "assert_equals: expected (string) \"activated\" but got (undefined) undefined"
        },
        {
          "name": "accessing a ServiceWorker object from a removed iframe",
          "status": "PASS",
          "message": null
        },
        {
          "name": "accessing navigator.serviceWorker on a detached iframe",
          "status": "PASS",
          "message": null
        },
        {
          "name": "accessing navigator on a removed frame",
          "status": "PASS",
          "message": null
        },
        {
          "name": "accessing navigator.serviceWorker on a removed about:blank frame",
          "status": "PASS",
          "message": null
        }
      ]
    },
    {
      "test": "/service-workers/service-worker/register-closed-window.https.html",
      "status": "OK",
      "message": null,
      "subtests": [
        {
          "name": "Call register() on ServiceWorkerContainer owned by closed window.",
          "status": "PASS",
          "message": null
        }
      ]
    }
  ]
}