{
  "ua": [
    "Ed18"
  ],
  "results": {
    "/content-security-policy/generic/cspro-not-enforced-in-worker.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Check that inline is allowed since the inherited policy is report only": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Check that eval is allowed since the inherited policy is report only": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/navigation/to-javascript-url-frame-src.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "<iframe src='javascript:...'> not blocked by 'frame-src'": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/navigate-to/form-allowed.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Test that the child iframe navigation is allowed": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/generic/duplicate-directive.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting alerts: [\"PASS (1/1)\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/generic/304-response-should-update-csp.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Test that the first frame uses nonce abc": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test that the first frame does not use nonce def": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test that the second frame uses nonce def": {
          "stNum": 2,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test that the second frame does not use nonce abc": {
          "stNum": 3,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/inheritance/iframe-srcdoc-inheritance.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "First image should be blocked": {
          "stNum": 0,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        },
        "Second image should be blocked": {
          "stNum": 1,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        }
      }
    },
    "/content-security-policy/reporting/report-cross-origin-no-cookies.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Image should not load": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Violation report status OK.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test report cookies.": {
          "stNum": 2,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/img-src/img-src-host-partial-wildcard-allowed.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "img src matches correctly partial wildcard host csp directive": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/embedded-enforcement/subsumption_algorithm-strict_dynamic.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "'strict-dynamic' is ineffective for `style-src`.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "'strict-dynamic' is ineffective for `img-src`.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "'strict-dynamic' is ineffective for `frame-src`.": {
          "stNum": 2,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "'strict-dynamic' is ineffective for `child-src`.": {
          "stNum": 3,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "'strict-dynamic' is effective only for `script-src`.": {
          "stNum": 4,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"() => {\n        var x = i.contentWindow.location.href;\n      }\" threw object \"Error: Permission denied\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "'strict-dynamic' is proper handled for finding effective policy.": {
          "stNum": 5,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"() => {\n        var x = i.contentWindow.location.href;\n      }\" threw object \"Error: Permission denied\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "'strict-dynamic' makes host source expressions ineffective.": {
          "stNum": 6,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "'strict-dynamic' makes scheme source expressions ineffective.": {
          "stNum": 7,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "'strict-dynamic' makes 'self' ineffective.": {
          "stNum": 8,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "'strict-dynamic' makes 'unsafe-inline' ineffective.": {
          "stNum": 9,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "'strict-dynamic' has to be allowed by required csp if it is present in returned csp.": {
          "stNum": 10,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"() => {\n        var x = i.contentWindow.location.href;\n      }\" threw object \"Error: Permission denied\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/navigate-to/meta-refresh-blocked.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Test that the child iframe navigation is not allowed": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"fail\" but got \"success\""
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Violation report status OK.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: No such report. expected \"\" but got \"false\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/blob/self-doesnt-match-blob.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"violated-directive=worker-src\",\"TEST COMPLETE\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: unexpected log: violated-directive=child-src 'self' Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/reporting/report-uri-effective-directive.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Violation report status OK.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_true: violated-directive value of  \"default-src 'self'\" did not match script-src. expected true got false"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/frame-ancestors/frame-ancestors-none-block.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "A 'frame-ancestors' CSP directive with a value 'none' should block rendering.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: The IFrame should have been blocked (or cross-origin). It wasn't. Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/connect-src/connect-src-eventsource-redirect-to-blocked.sub.html": {
      "byUA": {
        "Ed18": "ERROR"
      },
      "UAmessage": {
        "Ed18": "Unable to set property 'onload' of undefined or null reference"
      },
      "totals": {
        "ERROR": 1
      },
      "subtests": {
        "Expecting logs: [\"PASS EventSource() did not follow the disallowed redirect.\",\"TEST COMPLETE\", \"violated-directive=connect-src\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: FAIL EventSource() should not throw an exception. Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/script-src/scriptnonce-and-scripthash.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting alerts: [\"PASS (1/3)\",\"PASS (2/3)\",\"PASS (3/3)\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: unexpected alert: violated-directive=script-src 'self' 'sha256-LS8v1E1Ff0Hc8FobgWKNKY3sbW4rljPlZNQHyyutfKU=' 'nonce-nonceynonce' Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/inheritance/iframe-all-local-schemes.sub.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "<iframe>'s about:blank inherits policy.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "<iframe srcdoc>'s inherits policy.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "TIMEOUT"
          },
          "UAmessage": {
            "Ed18": "Test timed out"
          },
          "totals": {
            "TIMEOUT": 1
          }
        },
        "<iframe src='blob:...'>'s inherits policy.": {
          "stNum": 2,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "<iframe src='data:...'>'s inherits policy.": {
          "stNum": 3,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "<iframe src='javascript:...'>'s inherits policy.": {
          "stNum": 4,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "<iframe sandbox src='blob:...'>'s inherits policy. (opaque origin sandbox)": {
          "stNum": 5,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/frame-ancestors/frame-ancestors-nested-same-in-cross-url-allow.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "A 'frame-ancestors' CSP directive with a URL value should block or allow rendering in nested frames as appropriate.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        }
      }
    },
    "/content-security-policy/style-src/inline-style-blocked.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"PASS\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/form-action/form-action-src-allowed-target-blank.sub.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "form submission targetting _blank allowed after a redirect": {
          "stNum": 0,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        }
      }
    },
    "/content-security-policy/frame-ancestors/frame-ancestors-nested-cross-in-same-none-block.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "A 'frame-ancestors' CSP directive with a value 'none' should block rendering in nested frames.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        }
      }
    },
    "/content-security-policy/style-src-attr-elem/style-src-elem-allowed-src-blocked.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Inline style should be applied": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected 1 but got 0"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/navigate-to/form-redirected-allowed.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Test that the child iframe navigation is allowed": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/navigate-to/anchor-navigation-always-allowed.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Test that anchor navigation is allowed regardless of the `navigate-to` directive": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/reporting/report-uri-multiple.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Violation report status OK.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/securitypolicyviolation/idlharness.window.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "idl_test setup": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "SecurityPolicyViolationEvent interface: existence and properties of interface object": {
          "stNum": 1,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: prototype of SecurityPolicyViolationEvent is not Event expected function \"function Event() { [native code] }\" but got function \"function() {\n    [native code]\n}\""
          },
          "totals": {
            "FAIL": 1
          }
        },
        "SecurityPolicyViolationEvent interface object length": {
          "stNum": 2,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "SecurityPolicyViolationEvent interface object name": {
          "stNum": 3,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "SecurityPolicyViolationEvent interface: existence and properties of interface prototype object": {
          "stNum": 4,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "SecurityPolicyViolationEvent interface: existence and properties of interface prototype object's \"constructor\" property": {
          "stNum": 5,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "SecurityPolicyViolationEvent interface: existence and properties of interface prototype object's @@unscopables property": {
          "stNum": 6,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "SecurityPolicyViolationEvent interface: attribute documentURL": {
          "stNum": 7,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_true: The prototype object must have a property \"documentURL\" expected true got false"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "SecurityPolicyViolationEvent interface: attribute documentURI": {
          "stNum": 8,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: getter must have the name 'get documentURI' expected \"get documentURI\" but got \"documentURI\""
          },
          "totals": {
            "FAIL": 1
          }
        },
        "SecurityPolicyViolationEvent interface: attribute referrer": {
          "stNum": 9,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: getter must have the name 'get referrer' expected \"get referrer\" but got \"referrer\""
          },
          "totals": {
            "FAIL": 1
          }
        },
        "SecurityPolicyViolationEvent interface: attribute blockedURL": {
          "stNum": 10,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_true: The prototype object must have a property \"blockedURL\" expected true got false"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "SecurityPolicyViolationEvent interface: attribute blockedURI": {
          "stNum": 11,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: getter must have the name 'get blockedURI' expected \"get blockedURI\" but got \"blockedURI\""
          },
          "totals": {
            "FAIL": 1
          }
        },
        "SecurityPolicyViolationEvent interface: attribute effectiveDirective": {
          "stNum": 12,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: getter must have the name 'get effectiveDirective' expected \"get effectiveDirective\" but got \"effectiveDirective\""
          },
          "totals": {
            "FAIL": 1
          }
        },
        "SecurityPolicyViolationEvent interface: attribute violatedDirective": {
          "stNum": 13,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: getter must have the name 'get violatedDirective' expected \"get violatedDirective\" but got \"violatedDirective\""
          },
          "totals": {
            "FAIL": 1
          }
        },
        "SecurityPolicyViolationEvent interface: attribute originalPolicy": {
          "stNum": 14,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: getter must have the name 'get originalPolicy' expected \"get originalPolicy\" but got \"originalPolicy\""
          },
          "totals": {
            "FAIL": 1
          }
        },
        "SecurityPolicyViolationEvent interface: attribute sourceFile": {
          "stNum": 15,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: getter must have the name 'get sourceFile' expected \"get sourceFile\" but got \"sourceFile\""
          },
          "totals": {
            "FAIL": 1
          }
        },
        "SecurityPolicyViolationEvent interface: attribute sample": {
          "stNum": 16,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_true: The prototype object must have a property \"sample\" expected true got false"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "SecurityPolicyViolationEvent interface: attribute disposition": {
          "stNum": 17,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_true: The prototype object must have a property \"disposition\" expected true got false"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "SecurityPolicyViolationEvent interface: attribute statusCode": {
          "stNum": 18,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: getter must have the name 'get statusCode' expected \"get statusCode\" but got \"statusCode\""
          },
          "totals": {
            "FAIL": 1
          }
        },
        "SecurityPolicyViolationEvent interface: attribute lineno": {
          "stNum": 19,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_true: The prototype object must have a property \"lineno\" expected true got false"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "SecurityPolicyViolationEvent interface: attribute lineNumber": {
          "stNum": 20,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: getter must have the name 'get lineNumber' expected \"get lineNumber\" but got \"lineNumber\""
          },
          "totals": {
            "FAIL": 1
          }
        },
        "SecurityPolicyViolationEvent interface: attribute colno": {
          "stNum": 21,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_true: The prototype object must have a property \"colno\" expected true got false"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "SecurityPolicyViolationEvent interface: attribute columnNumber": {
          "stNum": 22,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: getter must have the name 'get columnNumber' expected \"get columnNumber\" but got \"columnNumber\""
          },
          "totals": {
            "FAIL": 1
          }
        },
        "SecurityPolicyViolationEvent must be primary interface of new SecurityPolicyViolationEvent(\"securitypolicyviolation\")": {
          "stNum": 23,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Stringification of new SecurityPolicyViolationEvent(\"securitypolicyviolation\")": {
          "stNum": 24,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "SecurityPolicyViolationEvent interface: new SecurityPolicyViolationEvent(\"securitypolicyviolation\") must inherit property \"documentURL\" with the proper type": {
          "stNum": 25,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_inherits: property \"documentURL\" not found in prototype chain"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "SecurityPolicyViolationEvent interface: new SecurityPolicyViolationEvent(\"securitypolicyviolation\") must inherit property \"documentURI\" with the proper type": {
          "stNum": 26,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "SecurityPolicyViolationEvent interface: new SecurityPolicyViolationEvent(\"securitypolicyviolation\") must inherit property \"referrer\" with the proper type": {
          "stNum": 27,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "SecurityPolicyViolationEvent interface: new SecurityPolicyViolationEvent(\"securitypolicyviolation\") must inherit property \"blockedURL\" with the proper type": {
          "stNum": 28,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_inherits: property \"blockedURL\" not found in prototype chain"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "SecurityPolicyViolationEvent interface: new SecurityPolicyViolationEvent(\"securitypolicyviolation\") must inherit property \"blockedURI\" with the proper type": {
          "stNum": 29,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "SecurityPolicyViolationEvent interface: new SecurityPolicyViolationEvent(\"securitypolicyviolation\") must inherit property \"effectiveDirective\" with the proper type": {
          "stNum": 30,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "SecurityPolicyViolationEvent interface: new SecurityPolicyViolationEvent(\"securitypolicyviolation\") must inherit property \"violatedDirective\" with the proper type": {
          "stNum": 31,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "SecurityPolicyViolationEvent interface: new SecurityPolicyViolationEvent(\"securitypolicyviolation\") must inherit property \"originalPolicy\" with the proper type": {
          "stNum": 32,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "SecurityPolicyViolationEvent interface: new SecurityPolicyViolationEvent(\"securitypolicyviolation\") must inherit property \"sourceFile\" with the proper type": {
          "stNum": 33,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "SecurityPolicyViolationEvent interface: new SecurityPolicyViolationEvent(\"securitypolicyviolation\") must inherit property \"sample\" with the proper type": {
          "stNum": 34,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_inherits: property \"sample\" not found in prototype chain"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "SecurityPolicyViolationEvent interface: new SecurityPolicyViolationEvent(\"securitypolicyviolation\") must inherit property \"disposition\" with the proper type": {
          "stNum": 35,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_inherits: property \"disposition\" not found in prototype chain"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "SecurityPolicyViolationEvent interface: new SecurityPolicyViolationEvent(\"securitypolicyviolation\") must inherit property \"statusCode\" with the proper type": {
          "stNum": 36,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "SecurityPolicyViolationEvent interface: new SecurityPolicyViolationEvent(\"securitypolicyviolation\") must inherit property \"lineno\" with the proper type": {
          "stNum": 37,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_inherits: property \"lineno\" not found in prototype chain"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "SecurityPolicyViolationEvent interface: new SecurityPolicyViolationEvent(\"securitypolicyviolation\") must inherit property \"lineNumber\" with the proper type": {
          "stNum": 38,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "SecurityPolicyViolationEvent interface: new SecurityPolicyViolationEvent(\"securitypolicyviolation\") must inherit property \"colno\" with the proper type": {
          "stNum": 39,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_inherits: property \"colno\" not found in prototype chain"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "SecurityPolicyViolationEvent interface: new SecurityPolicyViolationEvent(\"securitypolicyviolation\") must inherit property \"columnNumber\" with the proper type": {
          "stNum": 40,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/object-src/object-src-url-allowed.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Violation report status OK.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/generic/generic-0_8_1.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Should fire violation events for every failed violation": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"script-src-elem\" but got \"script-src 'self' *w.webapitests2018.ctawave.org:8000 w*.webapitests2018.ctawave.org:8000 'unsafe-inline'\""
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Wildcard host matching works.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/unsafe-hashes/style_attribute_allowed.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Test that the inline style attribute is loaded": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: Should have not raised any event Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/script-src/scripthash-basic-blocked.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting alerts: [\"PASS (1/1)\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/script-src/script-src-wildcards-disallowed.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "data: URIs should not match *": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "blob: URIs should not match *": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "filesystem URIs should not match *": {
          "stNum": 2,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/style-src/style-src-inline-style-attribute-blocked.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Inline style attribute should not be applied without 'unsafe-inline'": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Should fire a securitypolicyviolation event": {
          "stNum": 1,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"style-src 'self'\" but got \"style-src-attr\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/frame-ancestors/frame-ancestors-nested-cross-in-same-url-allow.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "A 'frame-ancestors' CSP directive with a URL value should block or allow rendering in nested frames as appropriate.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        }
      }
    },
    "/content-security-policy/script-src/hash-always-converted-to-utf-8/iso-8859-7.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Should convert the script contents to UTF-8 before hashing": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: Should not have fired a spv Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/img-src/img-src-full-host-wildcard-blocked.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "img src does not match full host and wildcard csp directive": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/style-src/inline-style-allowed.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"PASS\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/script-src-attr-elem/script-src-elem-blocked-attr-allowed.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "Should fire a security policy violation for the attribute": {
          "stNum": 0,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        },
        "Should execute the inline script attribute": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/frame-ancestors/frame-ancestors-nested-cross-in-cross-self-block.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "A 'frame-ancestors' CSP directive with a value 'same' should block render in same-origin nested frames.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        }
      }
    },
    "/content-security-policy/frame-ancestors/frame-ancestors-nested-cross-in-same-url-block.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "A 'frame-ancestors' CSP directive with a URL value should block or allow rendering in nested frames as appropriate.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        }
      }
    },
    "/content-security-policy/form-action/form-action-src-redirect-allowed-target-blank.sub.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "form submission targetting _blank allowed after a redirect": {
          "stNum": 0,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        }
      }
    },
    "/content-security-policy/object-src/object-src-url-redirect-blocked.sub.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "Should block the object and fire a spv": {
          "stNum": 0,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        }
      }
    },
    "/content-security-policy/style-src/inline-style-attribute-blocked.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"violated-directive=style-src-attr\",\"PASS\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: unexpected log: violated-directive=style-src 'none' Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/frame-ancestors/frame-ancestors-self-block.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "A 'frame-ancestors' CSP directive with a value 'self' should block rendering.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: The IFrame should have been blocked (or cross-origin). It wasn't. Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/form-action/form-action-src-default-ignored.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"PASS\",\"TEST COMPLETE\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/script-src/worker-function-function-blocked.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"Function() function blocked\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/script-src/script-src-1_10_1.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Test that no report violation event was raised": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Verify that data: as script src runs with this policy": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/base-uri/report-uri-does-not-respect-base-uri.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Test that image does not load": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Event is fired": {
          "stNum": 1,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"img-src\" but got \"img-src 'none'\""
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Violation report status OK.": {
          "stNum": 2,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/unsafe-hashes/javascript_src_denied_missing_unsafe_hashes-window_location.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "Test that the javascript: src is not allowed to run": {
          "stNum": 0,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        }
      }
    },
    "/content-security-policy/connect-src/connect-src-xmlhttprequest-allowed.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"Pass\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/unsafe-hashes/javascript_src_allowed-window_location.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "Test that the javascript: src is allowed to run": {
          "stNum": 0,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        }
      }
    },
    "/content-security-policy/frame-ancestors/frame-ancestors-nested-same-in-same-self-allow.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "A 'frame-ancestors' CSP directive with a value 'same' should block render in same-origin nested frames.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/navigate-to/meta-refresh-cross-origin-allowed.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Test that the child iframe navigation is allowed": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/reporting/report-multiple-violations-01.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Violation report status OK.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test number of sent reports.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: Report count was not what was expected. expected \"2\" but got \"8\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/unsafe-hashes/style_attribute_denied_wrong_hash.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Test that the inline style attribute is blocked": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"style-src-attr\" but got \"style-src 'unsafe-hashes' 'sha256-UI8QfroYhb0WX073XBuM+RTPntpjZfkyFLsMw5vQfd0='\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/media-src/media-src-redir-bug.sub.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "In-policy async video src": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "in-policy async video src w/redir": {
          "stNum": 1,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        },
        "In-policy async video source element": {
          "stNum": 2,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "In-policy async video source element w/redir": {
          "stNum": 3,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        },
        "Should not fire policy violation events": {
          "stNum": 4,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        }
      }
    },
    "/content-security-policy/navigate-to/link-click-redirected-allowed.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Test that the child iframe navigation is allowed": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/securitypolicyviolation/constructor-required-fields.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "SecurityPolicyViolationEvent constructor should throw with no parameters": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "SecurityPolicyViolationEvent constructor works with an init dict": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "SecurityPolicyViolationEvent constructor requires documentURI": {
          "stNum": 2,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"function () { new SecurityPolicyViolationEvent(\"securitypolicyviolation\", {\n          // documentURI: \"http://example.com\",\n          referrer: \"http://example.com\",\n          blockedURI: \"http://example.com\",\n          violatedDirective: \"default-src\",\n          effectiveDirective: \"default-src\",\n          originalPolicy: \"default-src 'none'\",\n          sourceFile: \"example.js\",\n          sample: \"<script>alert('1');</scr\" + \"ipt>\",\n          disposition: \"enforce\",\n          statusCode: 200,\n          lineNumber: 1,\n          columnNumber: 1,\n      })}\" did not throw"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "SecurityPolicyViolationEvent constructor requires violatedDirective": {
          "stNum": 3,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"function () { new SecurityPolicyViolationEvent(\"securitypolicyviolation\", {\n          documentURI: \"http://example.com\",\n          referrer: \"http://example.com\",\n          blockedURI: \"http://example.com\",\n          // violatedDirective: \"default-src\",\n          effectiveDirective: \"default-src\",\n          originalPolicy: \"default-src 'none'\",\n          sourceFile: \"example.js\",\n          sample: \"<script>alert('1');</scr\" + \"ipt>\",\n          disposition: \"enforce\",\n          statusCode: 200,\n          lineNumber: 1,\n          columnNumber: 1,\n      })}\" did not throw"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "SecurityPolicyViolationEvent constructor requires effectiveDirective": {
          "stNum": 4,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"function () { new SecurityPolicyViolationEvent(\"securitypolicyviolation\", {\n          documentURI: \"http://example.com\",\n          referrer: \"http://example.com\",\n          blockedURI: \"http://example.com\",\n          violatedDirective: \"default-src\",\n          // effectiveDirective: \"default-src\",\n          originalPolicy: \"default-src 'none'\",\n          sourceFile: \"example.js\",\n          sample: \"<script>alert('1');</scr\" + \"ipt>\",\n          disposition: \"enforce\",\n          statusCode: 200,\n          lineNumber: 1,\n          columnNumber: 1,\n      })}\" did not throw"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "SecurityPolicyViolationEvent constructor requires originalPolicy": {
          "stNum": 5,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"function () { new SecurityPolicyViolationEvent(\"securitypolicyviolation\", {\n          documentURI: \"http://example.com\",\n          referrer: \"http://example.com\",\n          blockedURI: \"http://example.com\",\n          violatedDirective: \"default-src\",\n          effectiveDirective: \"default-src\",\n          // originalPolicy: \"default-src 'none'\",\n          sourceFile: \"example.js\",\n          sample: \"<script>alert('1');</scr\" + \"ipt>\",\n          disposition: \"enforce\",\n          statusCode: 200,\n          lineNumber: 1,\n          columnNumber: 1,\n      })}\" did not throw"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "SecurityPolicyViolationEvent constructor requires disposition": {
          "stNum": 6,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"function () { new SecurityPolicyViolationEvent(\"securitypolicyviolation\", {\n          documentURI: \"http://example.com\",\n          referrer: \"http://example.com\",\n          blockedURI: \"http://example.com\",\n          violatedDirective: \"default-src\",\n          effectiveDirective: \"default-src\",\n          originalPolicy: \"default-src 'none'\",\n          sourceFile: \"example.js\",\n          sample: \"<script>alert('1');</scr\" + \"ipt>\",\n          // disposition: \"enforce\",\n          statusCode: 200,\n          lineNumber: 1,\n          columnNumber: 1,\n      })}\" did not throw"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "SecurityPolicyViolationEvent constructor requires statusCode": {
          "stNum": 7,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"function () { new SecurityPolicyViolationEvent(\"securitypolicyviolation\", {\n          documentURI: \"http://example.com\",\n          referrer: \"http://example.com\",\n          blockedURI: \"http://example.com\",\n          violatedDirective: \"default-src\",\n          effectiveDirective: \"default-src\",\n          originalPolicy: \"default-src 'none'\",\n          sourceFile: \"example.js\",\n          sample: \"<script>alert('1');</scr\" + \"ipt>\",\n          disposition: \"enforce\",\n          // statusCode: 200,\n          lineNumber: 1,\n          columnNumber: 1,\n      })}\" did not throw"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "SecurityPolicyViolationEvent constructor does not require referrer": {
          "stNum": 8,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "SecurityPolicyViolationEvent constructor does not require blockedURI": {
          "stNum": 9,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "SecurityPolicyViolationEvent constructor does not require sourceFile": {
          "stNum": 10,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "SecurityPolicyViolationEvent constructor does not require sample": {
          "stNum": 11,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "SecurityPolicyViolationEvent constructor does not require lineNumber": {
          "stNum": 12,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "SecurityPolicyViolationEvent constructor does not require columnNumber": {
          "stNum": 13,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/prefetch-src/prefetch-blocked.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "Browser supports prefetch.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_true: expected true got false"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Browser supports performance APIs.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Blocked prefetch generates report.": {
          "stNum": 2,
          "byUA": {
            "Ed18": "TIMEOUT"
          },
          "UAmessage": {
            "Ed18": "Test timed out"
          },
          "totals": {
            "TIMEOUT": 1
          }
        }
      }
    },
    "/content-security-policy/securitypolicyviolation/securitypolicyviolation-block-image.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Non-redirected same-origin URLs are not stripped.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"http://webapitests2018.ctawave.org:8000/content-security-policy/securitypolicyviolation/securitypolicyviolation-block-image-from-script.sub.html?&token=b2924d20-6a93-11e9-98b4-a11fb92a6d1c&timeout=65000\" but got \"\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/style-src/style-src-injected-inline-style-blocked.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Injected style attributes should not be applied": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Should fire a securitypolicyviolation event": {
          "stNum": 1,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"style-src 'self'\" but got \"style-src-elem\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/unsafe-eval/eval-allowed.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting alerts: [\"PASS (1 of 2)\",\"PASS (2 of 2)\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/unsafe-eval/function-constructor-blocked.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"PASS EvalError\",\"violated-directive=script-src\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: unexpected log: violated-directive=script-src 'self' 'unsafe-inline' Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/securitypolicyviolation/style-sample-no-opt-in.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "Inline style blocks should not have a sample.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "TIMEOUT"
          },
          "UAmessage": {
            "Ed18": "Test timed out"
          },
          "totals": {
            "TIMEOUT": 1
          }
        },
        "Inline style attributes should not have a sample.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "TIMEOUT"
          },
          "UAmessage": {
            "Ed18": "Test timed out"
          },
          "totals": {
            "TIMEOUT": 1
          }
        }
      }
    },
    "/content-security-policy/unsafe-eval/eval-blocked-in-about-blank-iframe.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"violated-directive=script-src\",\"PASS\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: Logging timeout, expected logs violated-directive=script-src,PASS not sent. Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/meta/combine-header-and-meta-policies.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"TEST COMPLETE\", \"violated-directive=img-src\", \"violated-directive=style-src-elem\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: unexpected log: violated-directive=style-src 'self' Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "combine-header-and-meta-policies": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/img-src/img-src-port-wildcard-allowed.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "img-src with wildcard port should match any port": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/reporting-api/reporting-api-works-on-frame-src.https.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Event is fired": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"frame-src\" but got \"frame-src 'none'\""
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Violation report status OK.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: No such report. expected \"\" but got \"false\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/meta/meta-modified.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"PASS\", \"PASS\",\"TEST COMPLETE\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/style-src/style-src-injected-stylesheet-blocked.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Programatically injected stylesheet should not load": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Should fire a securitypolicyviolation event": {
          "stNum": 1,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"style-src 'self'\" but got \"style-src-elem\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/worker-src/service-list.https.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Same-origin service worker allowed by host-source expression.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/plugin-types/plugintypes-notype-url.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Should not load the object because it does not have a declared type": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"plugin-types\" but got \"plugin-types application/pdf\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/object-src/object-src-url-blocked.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Should block the object and fire a spv": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"object-src\" but got \"object-src 'none'\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/connect-src/connect-src-eventsource-allowed.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"allowed\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: unexpected log: blocked Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/sandbox/window-reuse-unsandboxed.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "Window object should be reused": {
          "stNum": 0,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        }
      }
    },
    "/content-security-policy/reporting/report-strips-fragment.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "Reported document URI does not contain fragments.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "TIMEOUT"
          },
          "UAmessage": {
            "Ed18": "Test timed out"
          },
          "totals": {
            "TIMEOUT": 1
          }
        }
      }
    },
    "/content-security-policy/script-src/scriptnonce-basic-blocked.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting alerts: [\"PASS (closely-quoted nonce)\",\"PASS (nonce w/whitespace)\", \"violated-directive=script-src-elem\", \"violated-directive=script-src-elem\", \"violated-directive=script-src-elem\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: unexpected alert: violated-directive=script-src 'self' 'nonce-noncynonce' Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/reporting/report-uri-from-child-frame.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Check that we received a message from the child frame": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/sandbox/sandbox-empty-subframe.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"PASS2\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/script-src/scriptnonce-ignore-unsafeinline.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting alerts: [\"PASS (1/2)\",\"PASS (2/2)\", \"violated-directive=script-src-elem\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: unexpected alert: violated-directive=script-src 'self' 'unsafe-inline' 'nonce-noncynonce' 'nonce-noncy+/nonce=' 'unsafe-inline' Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/script-src/worker-importscripts-blocked.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"TEST COMPLETE\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "worker-importscripts-blocked": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/worker-src/service-worker-src-default-fallback.https.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Same-origin service worker allowed by default-src 'self'.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/embedded-enforcement/subsumption_algorithm-host_sources-hosts.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Host must match.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"() => {\n        var x = i.contentWindow.location.href;\n      }\" threw object \"Error: Permission denied\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Hosts without wildcards must match.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"() => {\n        var x = i.contentWindow.location.href;\n      }\" threw object \"Error: Permission denied\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "More specific subdomain should not match.": {
          "stNum": 2,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"() => {\n        var x = i.contentWindow.location.href;\n      }\" threw object \"Error: Permission denied\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Specified host should not match a wildcard host.": {
          "stNum": 3,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"() => {\n        var x = i.contentWindow.location.href;\n      }\" threw object \"Error: Permission denied\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "A wildcard host should match a more specific host.": {
          "stNum": 4,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/frame-ancestors/frame-ancestors-nested-cross-in-same-star-allow.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "A 'frame-ancestors' CSP directive with a value '*' should render in nested frames.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        }
      }
    },
    "/content-security-policy/frame-ancestors/frame-ancestors-nested-same-in-same-none-block.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "A 'frame-ancestors' CSP directive with a value 'none' should block rendering in nested frames.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: Inner IFrame msg: undefined Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/generic/generic-0_10.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Test that script does not fire violation event": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/securitypolicyviolation/upgrade-insecure-requests-reporting.https.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Upgraded image is reported": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "'generateURL' is not defined"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Upgraded iframe is reported": {
          "stNum": 1,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "'generateURL' is not defined"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Navigated iframe is upgraded and reported": {
          "stNum": 2,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "'generateURL' is not defined"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/style-src-attr-elem/style-src-elem-allowed-attr-blocked.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "Should fire a security policy violation for the attribute": {
          "stNum": 0,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        },
        "The attribute style should not be applied and the inline style should be applied": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/frame-src/frame-src-about-blank-allowed-by-scheme.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"PASS\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/style-src/style-src-multiple-policies-multiple-hashing-algorithms.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Test that style loads if allowed by proper hash values": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Violation report status OK.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/embedded-enforcement/subsumption_algorithm-host_sources-paths.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Returned CSP must specify a path.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"() => {\n        var x = i.contentWindow.location.href;\n      }\" threw object \"Error: Permission denied\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Returned CSP has a more specific path.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Matching paths.": {
          "stNum": 2,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Empty path is not subsumed by specified paths.": {
          "stNum": 3,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"() => {\n        var x = i.contentWindow.location.href;\n      }\" threw object \"Error: Permission denied\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "All specific paths match except the order.": {
          "stNum": 4,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Returned CSP allows only one path.": {
          "stNum": 5,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "`/` path should be subsumed by an empty path.": {
          "stNum": 6,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Unspecified path should be subsumed by `/`.": {
          "stNum": 7,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "That should not be true when required csp specifies a specific page.": {
          "stNum": 8,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"() => {\n        var x = i.contentWindow.location.href;\n      }\" threw object \"Error: Permission denied\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/securitypolicyviolation/style-sample.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "Inline style blocks should have a sample.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "TIMEOUT"
          },
          "UAmessage": {
            "Ed18": "Test timed out"
          },
          "totals": {
            "TIMEOUT": 1
          }
        },
        "Inline style attributes should have a sample.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "TIMEOUT"
          },
          "UAmessage": {
            "Ed18": "Test timed out"
          },
          "totals": {
            "TIMEOUT": 1
          }
        }
      }
    },
    "/content-security-policy/worker-src/service-none.https.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Same-origin service worker blocked by 'none'.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"function () { throw e }\" threw object \"NetworkError\" that is not a DOMException SecurityError: property \"code\" is equal to 19, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/embedded-enforcement/subsumption_algorithm-host_sources-ports.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Specified ports must match.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"() => {\n        var x = i.contentWindow.location.href;\n      }\" threw object \"Error: Permission denied\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Returned CSP should be subsumed even if the port is not specified but is a default port for a scheme.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Returned CSP should be subsumed even if the port is not specified but is a default port for a more secure scheme.": {
          "stNum": 2,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "The same should hold for `ws` case.": {
          "stNum": 3,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Unspecified ports must match if schemes match.": {
          "stNum": 4,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Returned CSP should be subsumed if the port is specified.": {
          "stNum": 5,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Returned CSP should be subsumed if the port is specified but the scheme is more secure.": {
          "stNum": 6,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Returned CSP should be subsumed if the port is specified but is not default for a more secure scheme.": {
          "stNum": 7,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"() => {\n        var x = i.contentWindow.location.href;\n      }\" threw object \"Error: Permission denied\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Returned CSP should be subsumed if the ports match but schemes are not identical.": {
          "stNum": 8,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Returned CSP should be subsumed if the ports match but schemes are not identical for `ws`.": {
          "stNum": 9,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Wildcard port should match unspecified port.": {
          "stNum": 10,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Wildcard port should match any specific port.": {
          "stNum": 11,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Wildcard port should match a wildcard.": {
          "stNum": 12,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Wildcard port should not be subsumed by a default port.": {
          "stNum": 13,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"() => {\n        var x = i.contentWindow.location.href;\n      }\" threw object \"Error: Permission denied\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Wildcard port should not be subsumed by a spcified port.": {
          "stNum": 14,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"() => {\n        var x = i.contentWindow.location.href;\n      }\" threw object \"Error: Permission denied\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/worker-src/shared-fallback.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Same-origin dedicated worker allowed by 'self'.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "'SharedWorker' is not defined"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "blob: dedicated worker allowed by 'blob:'.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "'SharedWorker' is not defined"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/worker-src/shared-none.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Same-origin shared worker blocked by 'none'.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"function () {\n      var w = new SharedWorker(url);\n    }\" threw object \"ReferenceError: 'SharedWorker' is not defined\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "blob: shared worker blocked by 'none'.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"function () {\n      var w = new SharedWorker(url);\n    }\" threw object \"ReferenceError: 'SharedWorker' is not defined\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/script-src/script-src-strict_dynamic_in_img-src.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "`strict-dynamic` does not drop whitelists in `img-src`.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/embedded-enforcement/idlharness.window.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "idl_test setup": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Partial interface HTMLIFrameElement: original interface defined": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "HTMLIFrameElement interface: attribute csp": {
          "stNum": 2,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_true: The prototype object must have a property \"csp\" expected true got false"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "HTMLIFrameElement interface: document.createElement(\"iframe\") must inherit property \"csp\" with the proper type": {
          "stNum": 3,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_inherits: property \"csp\" not found in prototype chain"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/frame-ancestors/frame-ancestors-nested-cross-in-cross-url-block.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "A 'frame-ancestors' CSP directive with a URL value should block or allow rendering in nested frames as appropriate.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        }
      }
    },
    "/content-security-policy/securitypolicyviolation/inside-shared-worker.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "inside-shared-worker": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "'SharedWorker' is not defined"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/securitypolicyviolation/inside-dedicated-worker.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "No SecurityPolicyViolation event fired for successful load.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "SecurityPolicyViolation event fired on global.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "TIMEOUT"
          },
          "UAmessage": {
            "Ed18": "Test timed out"
          },
          "totals": {
            "TIMEOUT": 1
          }
        },
        "SecurityPolicyViolation event fired on global with the correct blockedURI.": {
          "stNum": 2,
          "byUA": {
            "Ed18": "TIMEOUT"
          },
          "UAmessage": {
            "Ed18": "Test timed out"
          },
          "totals": {
            "TIMEOUT": 1
          }
        }
      }
    },
    "/content-security-policy/img-src/icon-blocked.sub.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "undefined": {
          "stNum": 0,
          "byUA": {
            "Ed18": "TIMEOUT"
          },
          "UAmessage": {},
          "totals": {
            "TIMEOUT": 1
          }
        }
      }
    },
    "/content-security-policy/prefetch-src/prefetch-allowed.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Browser supports prefetch.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_true: expected true got false"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Browser supports performance APIs.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Prefetch succeeds when allowed by prefetch-src": {
          "stNum": 2,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "Object doesn't support property or method 'addEventListener'"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/style-src/style-src-inline-style-nonce-allowed.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Style with correct nonce should load": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/navigate-to/link-click-allowed.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Test that the child iframe navigation is allowed": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/frame-ancestors/frame-ancestors-nested-same-in-same-url-allow.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "A 'frame-ancestors' CSP directive with a URL value should block or allow rendering in nested frames as appropriate.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/meta/meta-outside-head.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting alerts: [\"PASS (1/1)\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/style-src/style-src-injected-inline-style-allowed.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Injected inline style should load with 'unsafe-inline'": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/plugin-types/plugintypes-empty.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Should not load the object because plugin-types allows no plugins": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"plugin-types\" but got \"plugin-types \""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/reporting/report-uri-from-javascript.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Violation report status OK.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/object-src/object-src-url-redirect-allowed.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Violation report status OK.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/img-src/report-blocked-data-uri.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"violated-directive=img-src\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: unexpected log: violated-directive=img-src 'none' Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/navigate-to/form-redirected-blocked.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Test that the child iframe navigation is not allowed": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"fail\" but got \"success\""
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Violation report status OK.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: No such report. expected \"\" but got \"false\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/script-src/scriptnonce-allowed.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting alerts: [\"PASS (1/2)\",\"PASS (2/2)\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/form-action/form-action-src-redirect-allowed-target-frame.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "form submission targetting a frame allowed after a redirect": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/generic/generic-0_9.sub.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "Test that script does not fire violation event": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/plugin-types/plugintypes-nourl-allowed.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Violation report status OK.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/base-uri/base-uri-deny.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Check that baseURI fires a securitypolicyviolation event when it does not match the csp directive": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Check that the baseURI is not set when it does not match the csp directive": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/embedded-enforcement/subsumption_algorithm-unsafe_eval.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "'unsafe-eval' is properly subsumed.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "No other keyword has the same effect as 'unsafe-eval'.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"() => {\n        var x = i.contentWindow.location.href;\n      }\" threw object \"Error: Permission denied\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Other expressions have to be subsumed.": {
          "stNum": 2,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"() => {\n        var x = i.contentWindow.location.href;\n      }\" threw object \"Error: Permission denied\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Effective policy is properly found.": {
          "stNum": 3,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Required csp must allow 'unsafe-eval'.": {
          "stNum": 4,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"() => {\n        var x = i.contentWindow.location.href;\n      }\" threw object \"Error: Permission denied\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Effective policy is properly found where 'unsafe-eval' is not subsumed.": {
          "stNum": 5,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"() => {\n        var x = i.contentWindow.location.href;\n      }\" threw object \"Error: Permission denied\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Effective policy is properly found where 'unsafe-eval' is not part of it.": {
          "stNum": 6,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/img-src/icon-allowed.sub.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "undefined": {
          "stNum": 0,
          "byUA": {
            "Ed18": "TIMEOUT"
          },
          "UAmessage": {},
          "totals": {
            "TIMEOUT": 1
          }
        }
      }
    },
    "/content-security-policy/worker-src/shared-child.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Same-origin dedicated worker allowed by 'self'.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "'SharedWorker' is not defined"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "blob: dedicated worker allowed by 'blob:'.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "'SharedWorker' is not defined"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/frame-ancestors/frame-ancestors-nested-cross-in-sandboxed-cross-url-block.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "A 'frame-ancestors' CSP directive with a URL value should compare against each frame's origin rather than URL, so a nested frame with a sandboxed parent frame should be blocked due to the parent having a unique origin.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        }
      }
    },
    "/content-security-policy/media-src/media-src-blocked.sub.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "Disallowed async video src": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Disallowed async video source element": {
          "stNum": 1,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        },
        "Disallaowed audio src": {
          "stNum": 2,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        },
        "Disallowed audio source element": {
          "stNum": 3,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        },
        "Test that securitypolicyviolation events are fired": {
          "stNum": 4,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"media-src\" but got \"media-src 'none'\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/plugin-types/plugintypes-mismatched-data.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "Should not load the object because its declared type does not match its actual type": {
          "stNum": 0,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        }
      }
    },
    "/content-security-policy/svg/svg-inline.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Should fire violation event": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"script-src-elem\" but got \"script-src 'self' 'unsafe-inline'\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/navigate-to/unsafe-allow-redirects/blocked-end-of-chain.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Test that the child iframe navigation is blocked": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"fail\" but got \"success\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/style-src/style-src-none-blocked.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Should not stylesheet when style-src is 'none'": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Should fire a securitypolicyviolation event": {
          "stNum": 1,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"style-src 'none'\" but got \"style-src-elem\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/script-src/script-src-1_3.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Should not fire policy violation events": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Inline script in a script tag should  run with an unsafe-inline directive": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/style-src/style-src-inline-style-nonce-blocked-error-event.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "Should fire a securitypolicyviolation event": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"style-src 'nonce-nonceynonce'\" but got \"style-src-elem\""
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Test that paragraph remains unmodified and error events received.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        }
      }
    },
    "/content-security-policy/reporting/report-blocked-uri-cross-origin.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Violation report status OK.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/style-src/style-src-inline-style-blocked.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Inline style element should not load without 'unsafe-inline'": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Should fire a securitypolicyviolation event": {
          "stNum": 1,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"style-src 'self'\" but got \"style-src-elem\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/sandbox/iframe-inside-csp.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"PASS (1/2): Script can execute\",\"PASS (2/2): Eval works\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/connect-src/connect-src-beacon-blocked.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"Pass\", \"violated-directive=connect-src\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: unexpected log: violated-directive=connect-src 'self' Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/script-src/scripthash-allowed.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting alerts: [\"PASS (1/4)\",\"PASS (2/4)\",\"PASS (3/4)\",\"PASS (4/4)\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/navigate-to/spv-only-sent-to-initiator.sub.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "Test that no spv event is raised": {
          "stNum": 0,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        },
        "Violation report status OK.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/style-src/injected-inline-style-blocked.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"violated-directive=style-src-elem\",\"PASS\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: unexpected log: violated-directive=style-src 'none' Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/sandbox/window-reuse-sandboxed.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "Window object should not be reused": {
          "stNum": 0,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        }
      }
    },
    "/content-security-policy/navigate-to/unsafe-allow-redirects/allowed-end-of-chain-because-of-same-origin.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Test that the child iframe navigation is allowed": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/form-action/form-action-src-get-allowed.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"PASS\",\"TEST COMPLETE\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/svg/object-in-svg-foreignobject.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Should throw a securitypolicyviolation": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"object-src\" but got \"object-src 'none'\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/worker-src/dedicated-fallback.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Same-origin dedicated worker allowed by host-source expression.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "blob: dedicated worker allowed by 'blob:'.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/generic/generic-0_10_1.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Prevents access to external scripts.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Should fire violation events for every failed violation": {
          "stNum": 1,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"script-src-elem\" but got \"script-src 'self' www.webapitests2018.ctawave.org 'unsafe-inline'\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/style-src/stylehash-allowed.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting alerts: [\"PASS (1/4): The '#p1' element's text is green, which means the style was correctly applied.\",\"PASS (2/4): The '#p2' element's text is green, which means the style was correctly applied.\",\"PASS (3/4): The '#p3' element's text is green, which means the style was correctly applied.\",\"PASS (4/4): The '#p4' element's text is green, which means the style was correctly applied.\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/blob/blob-urls-match-blob.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"PASS (1/1)\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/font-src/font-self-allowed.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Test font loads if it matches font-src.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/generic/generic-0_1-script-src.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Verify cascading of default-src to script-src policy: block": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Verify cascading of default-src to script-src policy: allow": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Should fire violation events for every failed violation": {
          "stNum": 2,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"script-src-elem\" but got \"default-src 'self' 'unsafe-inline'\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/navigate-to/meta-refresh-cross-origin-blocked.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Test that the child iframe navigation is not allowed": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"fail\" but got \"success\""
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Violation report status OK.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: No such report. expected \"\" but got \"false\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/securitypolicyviolation/blockeduri-eval.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Eval violations have a blockedURI of 'eval'": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"eval\" but got \"\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/reporting-api/reporting-api-sends-reports-on-violation.https.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Test that image does not load": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Event is fired": {
          "stNum": 1,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"img-src\" but got \"img-src 'none'\""
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Violation report status OK.": {
          "stNum": 2,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: No such report. expected \"\" but got \"false\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/style-src-attr-elem/style-src-attr-blocked-src-allowed.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "Should fire a security policy violation event": {
          "stNum": 0,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        },
        "The attribute style should not be applied": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/script-src/script-src-1_4.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Test that securitypolicyviolation event is fired": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"script-src\" but got \"script-src 'self' 'unsafe-inline'\""
          },
          "totals": {
            "FAIL": 1
          }
        },
        "eval() should throw without 'unsafe-eval' keyword source in script-src directive.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "eval() should not run without 'unsafe-eval' script-src directive.": {
          "stNum": 2,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/style-src/style-src-injected-stylesheet-allowed.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Programatically injected stylesheet should load": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/securitypolicyviolation/securitypolicyviolation-block-image-from-script.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Non-redirected cross-origin URLs are not stripped.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"http://webapitests2018.ctawave.org:8000/content-security-policy/securitypolicyviolation/securitypolicyviolation-block-cross-origin-image.sub.html?&token=b2924d20-6a93-11e9-98b4-a11fb92a6d1c&timeout=65000\" but got \"\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/reporting-api/reporting-api-report-to-overrides-report-uri-1.https.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Test that image does not load": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Event is fired": {
          "stNum": 1,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"img-src\" but got \"img-src 'none'\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/object-src/object-src-no-url-allowed.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Violation report status OK.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/child-src/child-src-conflicting-frame-src.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"PASS IFrame #1 generated a load event.\", \"violated-directive=frame-src\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: unexpected log: violated-directive=frame-src 'none' Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/script-src/script-src-strict_dynamic_discard_whitelist.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Whitelisted script without a correct nonce is not allowed with `strict-dynamic`.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: Whitelisted script without a correct nonce is not allowed with `strict-dynamic`. Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/style-src-attr-elem/style-src-elem-blocked-src-allowed.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "Should fire a security policy violation event": {
          "stNum": 0,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        },
        "The inline style should not be applied": {
          "stNum": 1,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected 0 but got 1"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/connect-src/connect-src-xmlhttprequest-blocked.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"Pass\",\"violated-directive=connect-src\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: unexpected log: violated-directive=connect-src 'self' Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/svg/svg-from-guid.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"TEST COMPLETE\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/font-src/font-stylesheet-font-blocked.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Test font does not load if it does not match font-src.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"font-src\" but got \"font-src 'none'\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/default-src/default-src-inline-allowed.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting alerts: [\"PASS 1 of 2\",\"PASS 2 of 2\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/navigate-to/parent-navigates-child-allowed.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Test that the parent can navigate the child because the relevant policy belongs to the navigation initiator (in this case the parent, which has the policy `navigate-to 'self'`)": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/frame-ancestors/frame-ancestors-nested-cross-in-same-self-block.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "A 'frame-ancestors' CSP directive with a value 'same' should block render in same-origin nested frames.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        }
      }
    },
    "/content-security-policy/connect-src/shared-worker-connect-src-allowed.sub.html": {
      "byUA": {
        "Ed18": "ERROR"
      },
      "UAmessage": {
        "Ed18": "Unable to get property 'NOTRUN' of undefined or null reference"
      },
      "totals": {
        "ERROR": 1
      },
      "subtests": {
        "Expecting logs: [\"xhr allowed\",\"TEST COMPLETE\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: Logging timeout, expected logs xhr allowed,TEST COMPLETE not sent. Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/script-src-attr-elem/script-src-attr-blocked-src-allowed.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "Should fire a security policy violation event": {
          "stNum": 0,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        }
      }
    },
    "/content-security-policy/generic/no-default-src.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Violation report status OK.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Allows scripts from the same host.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/form-action/form-action-self-allowed-target-blank.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "The form submission should not be blocked by the iframe's CSP.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "TIMEOUT"
          },
          "UAmessage": {
            "Ed18": "Test timed out"
          },
          "totals": {
            "TIMEOUT": 1
          }
        }
      }
    },
    "/content-security-policy/navigate-to/href-location-cross-origin-allowed.sub.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "Test that the child iframe navigation is allowed": {
          "stNum": 0,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        }
      }
    },
    "/content-security-policy/style-src/inline-style-attribute-allowed.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"PASS\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: FAIL Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/generic/generic-0_2.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Should fire violation events for every failed violation": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/frame-ancestors/frame-ancestors-overrides-xfo.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "A 'frame-ancestors' CSP directive overrides an 'x-frame-options' header which would block the page.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "A 'frame-ancestors' CSP directive overrides an 'x-frame-options' header which would allow the page.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "Zugriff verweigert\r\n"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/generic/generic-0_1-img-src.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Verify cascading of default-src to img-src policy": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Should fire violation events for every failed violation": {
          "stNum": 1,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"img-src\" but got \"default-src 'self' 'unsafe-inline'\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/worker-src/service-self.https.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Same-origin service worker allowed by 'self'.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/generic/generic-0_2_3.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Prevents access to external scripts.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Should fire violation events for every failed violation": {
          "stNum": 1,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"script-src-elem\" but got \"script-src 'self' 'unsafe-inline'\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/unsafe-eval/eval-scripts-setInterval-blocked.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"PASS\",\"violated-directive=script-src\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: unexpected log: violated-directive=script-src 'self' 'unsafe-inline' Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/form-action/form-action-src-javascript-blocked.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"violated-directive=form-action\",\"TEST COMPLETE\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: unexpected log: violated-directive=form-action 'none' Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/frame-ancestors/frame-ancestors-star-allow-crossorigin.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "A 'frame-ancestors' CSP directive with '*' should allow rendering.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: The IFrame should have been blocked (or cross-origin). It wasn't. Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/frame-ancestors/frame-ancestors-nested-same-in-same-url-block.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "A 'frame-ancestors' CSP directive with a URL value should block or allow rendering in nested frames as appropriate.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: Inner IFrame msg: undefined Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/navigate-to/meta-refresh-allowed.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Test that the child iframe navigation is allowed": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/frame-src/frame-src-redirect.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Redirected iframe src should evaluate both enforced and report-only policies on both original request and when following redirect": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/script-src/worker-eval-blocked.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"eval blocked\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/reporting/report-multiple-violations-02.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "/content-security-policy/reporting/report-multiple-violations-02.html": {
          "stNum": 0,
          "byUA": {
            "Ed18": "TIMEOUT"
          },
          "UAmessage": {},
          "totals": {
            "TIMEOUT": 1
          }
        }
      }
    },
    "/content-security-policy/connect-src/connect-src-websocket-allowed.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"allowed\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/script-src/injected-inline-script-allowed.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"Pass 1 of 2\",\"Pass 2 of 2\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/generic/generic-0_8.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Test that script does not fire violation event": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/style-src/style-blocked.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"violated-directive=style-src\",\"PASS\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: FAIL Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/worker-src/shared-self.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Same-origin dedicated worker allowed by 'self'.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "'SharedWorker' is not defined"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/navigate-to/href-location-allowed.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "Test that the child iframe navigation is allowed": {
          "stNum": 0,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        }
      }
    },
    "/content-security-policy/reporting/report-original-url.sub.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "Direct block, same-origin = full URL in report": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Direct block, cross-origin = full URL in report": {
          "stNum": 1,
          "byUA": {
            "Ed18": "TIMEOUT"
          },
          "UAmessage": {
            "Ed18": "Test timed out"
          },
          "totals": {
            "TIMEOUT": 1
          }
        },
        "Block after redirect, same-origin = original URL in report": {
          "stNum": 2,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Block after redirect, cross-origin = original URL in report": {
          "stNum": 3,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Violation report status OK.": {
          "stNum": 4,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/script-src/hash-always-converted-to-utf-8/utf-8-lone-surrogate.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Should convert the script contents to UTF-8 before hashing": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/connect-src/connect-src-beacon-allowed.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"Pass\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/navigate-to/href-location-redirected-blocked.sub.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "Test that the child iframe navigation is not allowed": {
          "stNum": 0,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        },
        "Violation report status OK.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: No such report. expected \"\" but got \"false\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/unsafe-eval/function-constructor-allowed.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"PASS\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/object-src/object-src-url-embed-allowed.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Violation report status OK.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/script-src/scripthash-default-src.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "script-hash allowed from default-src": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/svg/svg-policy-with-resource.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"TEST COMPLETE\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/navigate-to/form-cross-origin-blocked.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Test that the child iframe navigation is not allowed": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"fail\" but got \"success\""
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Violation report status OK.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: No such report. expected \"\" but got \"false\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/navigate-to/href-location-blocked.sub.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "Test that the child iframe navigation is not allowed": {
          "stNum": 0,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        },
        "Violation report status OK.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: No such report. expected \"\" but got \"false\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/inside-worker/shared-script.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "shared-script": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "'SharedWorker' is not defined"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/img-src/img-src-wildcard-allowed.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "img-src with wildcard should match all": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "img-src with wildcard should not match blob": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/script-src/eval-allowed-in-report-only-mode.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "eval-allowed-in-report-only-mode": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "Expected '('"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/securitypolicyviolation/securitypolicyviolation-block-cross-origin-image.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Non-redirected cross-origin URLs are not stripped.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"http://webapitests2018.ctawave.org:8000/content-security-policy/securitypolicyviolation/securitypolicyviolation-block-cross-origin-image-from-script.sub.html?&token=b2924d20-6a93-11e9-98b4-a11fb92a6d1c&timeout=65000\" but got \"\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/navigate-to/link-click-blocked.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Test that the child iframe navigation is not allowed": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"fail\" but got \"success\""
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Violation report status OK.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: No such report. expected \"\" but got \"false\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/style-src/stylenonce-allowed.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Should fire securitypolicyviolation": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"style-src-elem\" but got \"style-src 'self' 'nonce-noncynonce' 'nonce-noncy+/nonce='\""
          },
          "totals": {
            "FAIL": 1
          }
        },
        "stylenonce-allowed": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "stylenonce-allowed 1": {
          "stNum": 2,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/worker-src/shared-worker-src-default-fallback.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Same-origin shared worker allowed by default-src 'self'.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "'SharedWorker' is not defined"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/script-src/injected-inline-script-blocked.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"violated-directive=script-src-elem\",]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: unexpected log: violated-directive=script-src 'self' 'nonce-abc' Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/img-src/img-src-self-unique-origin.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Image's url must not match with 'self'. Image must be blocked.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/unsafe-hashes/javascript_src_denied_wrong_hash-window_location.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "Test that the javascript: src is not allowed to run": {
          "stNum": 0,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        }
      }
    },
    "/content-security-policy/reporting/report-and-enforce.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "The image should be blocked": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "The stylesheet should load": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Violation report status OK.": {
          "stNum": 2,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/media-src/media-src-7_1_2.sub.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "Disallowed async video src": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Disallowed async video source element": {
          "stNum": 1,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        },
        "Test that securitypolicyviolation events are fired": {
          "stNum": 2,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"media-src\" but got \"media-src 'self'\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/child-src/child-src-about-blank-allowed-by-default.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Check that frames load without throwing any violation events": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/frame-src/frame-src-blocked.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"PASS IFrame #1 generated a load event.\",\"violated-directive=frame-src\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: unexpected log: violated-directive=frame-src 'none' Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/embedded-enforcement/required-csp-header-cascade.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Test same origin: Test same policy for both iframes": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: Child iframes have unexpected csp:\"null\" Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Test same origin: Test more restrictive policy on second iframe": {
          "stNum": 1,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: Child iframes have unexpected csp:\"null\" Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Test same origin: Test less restrictive policy on second iframe": {
          "stNum": 2,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: Child iframes have unexpected csp:\"null\" Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Test same origin: Test no policy on second iframe": {
          "stNum": 3,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: Child iframes have unexpected csp:\"null\" Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Test same origin: Test no policy on first iframe": {
          "stNum": 4,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: Child iframes have unexpected csp:\"null\" Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Test same origin: Test invalid policy on first iframe (bad directive)": {
          "stNum": 5,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: Child iframes have unexpected csp:\"null\" Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Test same origin: Test invalid policy on first iframe (report directive)": {
          "stNum": 6,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: Child iframes have unexpected csp:\"null\" Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Test same origin: Test invalid policy on second iframe (bad directive)": {
          "stNum": 7,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: Child iframes have unexpected csp:\"null\" Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Test same origin: Test invalid policy on second iframe (report directive)": {
          "stNum": 8,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: Child iframes have unexpected csp:\"null\" Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/frame-ancestors/frame-ancestors-nested-same-in-cross-none-block.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "A 'frame-ancestors' CSP directive with a value 'none' should block rendering in nested frames.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        }
      }
    },
    "/content-security-policy/img-src/img-src-none-blocks.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "img-src with 'none' source should not match": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/navigate-to/meta-refresh-redirected-allowed.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Test that the child iframe navigation is allowed": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/connect-src/connect-src-xmlhttprequest-redirect-to-blocked.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"PASS XMLHttpRequest.send() did not follow the disallowed redirect.\",\"TEST COMPLETE\",\"violated-directive=connect-src\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: unexpected log: violated-directive=connect-src 'self' Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/style-src/style-src-inline-style-nonce-blocked.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Should not load inline style element with invalid nonce": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Should fire a securitypolicyviolation event": {
          "stNum": 1,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"style-src 'self' 'nonce-nonceynonce'\" but got \"style-src-elem\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/embedded-enforcement/allow_csp_from-header.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Same origin iframes are always allowed.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Same origin iframes are allowed even if the Allow-CSP-From is empty.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Same origin iframes are allowed even if the Allow-CSP-From is not present.": {
          "stNum": 2,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Same origin iframes are allowed even if Allow-CSP-From does not match origin.": {
          "stNum": 3,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Cross origin iframe with an empty Allow-CSP-From header gets blocked.": {
          "stNum": 4,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"() => {\n        var x = i.contentWindow.location.href;\n      }\" threw object \"Error: Permission denied\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Cross origin iframe without Allow-CSP-From header gets blocked.": {
          "stNum": 5,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"() => {\n        var x = i.contentWindow.location.href;\n      }\" threw object \"Error: Permission denied\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "iframe from cross origin does not load without Allow-CSP-From header.": {
          "stNum": 6,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Iframe with improper Allow-CSP-From header gets blocked.": {
          "stNum": 7,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"() => {\n        var x = i.contentWindow.location.href;\n      }\" threw object \"Error: Permission denied\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Allow-CSP-From header with a star value can be returned.": {
          "stNum": 8,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Star Allow-CSP-From header enforces EmbeddingCSP.": {
          "stNum": 9,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected (string) \"inline\" but got (undefined) undefined"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Allow-CSP-From header enforces EmbeddingCSP.": {
          "stNum": 10,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected (string) \"inline\" but got (undefined) undefined"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/style-src/style-src-error-event-fires.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "Test error event fires on stylesheet link": {
          "stNum": 0,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        },
        "Test error event fires on inline style": {
          "stNum": 1,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        }
      }
    },
    "/content-security-policy/script-src/scripthash-ignore-unsafeinline.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting alerts: [\"PASS (1/1)\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/connect-src/shared-worker-connect-src-blocked.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"xhr blocked\",\"TEST COMPLETE\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {
            "Ed18": "No SharedWorker, cannot run test."
          },
          "totals": {
            "NOTRUN": 1
          }
        }
      }
    },
    "/content-security-policy/frame-ancestors/frame-ancestors-url-block.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "A 'frame-ancestors' CSP directive with a URL which doesn't match this origin should be blocked.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        }
      }
    },
    "/content-security-policy/script-src/script-src-1_1.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Inline script block": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Inline event handler": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Should fire policy violation events": {
          "stNum": 2,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: Unexpected directive broken Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/media-src/media-src-7_2_2.sub.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "Disallaowed audio src": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Disallowed audio source element": {
          "stNum": 1,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        },
        "Test that securitypolicyviolation events are fired": {
          "stNum": 2,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"media-src\" but got \"media-src 'self'\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/navigate-to/form-cross-origin-allowed.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Test that the child iframe navigation is allowed": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/securitypolicyviolation/securitypolicyviolation-block-cross-origin-image-from-script.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Non-redirected cross-origin URLs are not stripped.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"http://webapitests2018.ctawave.org:8000/content-security-policy/securitypolicyviolation/inside-shared-worker.html?&token=b2924d20-6a93-11e9-98b4-a11fb92a6d1c&timeout=65000\" but got \"\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/script-src/eval-allowed-in-report-only-mode-and-sends-report.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "eval-allowed-in-report-only-mode-and-sends-report": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "Expected '('"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/script-src/scripthash-unicode-normalization.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Should fire securitypolicyviolation": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"script-src-elem\" but got \"script-src 'self' 'nonce-nonceynonce' 'sha256-9UFeeZbvnMa0tLNu76v96T4Hh+UtDWHm2lPQJoTWb9c='\""
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Only matching content runs even with NFC normalization.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/generic/only-valid-whitespaces-are-allowed.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Should load image without any CSP - meta tag": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Should load image without any CSP - HTTP header": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Should not load image with 'none' CSP - meta tag": {
          "stNum": 2,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Should not load image with 'none' CSP - HTTP header": {
          "stNum": 3,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "U+0009 TAB   should be properly parsed between directive name and value - meta tag": {
          "stNum": 4,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "U+0009 TAB   should be properly parsed between directive name and value - HTTP header": {
          "stNum": 5,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "U+000C FF    should be properly parsed between directive name and value - meta tag": {
          "stNum": 6,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "U+000C FF    should be properly parsed between directive name and value - HTTP header": {
          "stNum": 7,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "U+000A LF    should be properly parsed between directive name and value - meta tag": {
          "stNum": 8,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "U+000D CR    should be properly parsed between directive name and value - meta tag": {
          "stNum": 9,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "U+0020 SPACE should be properly parsed between directive name and value - meta tag": {
          "stNum": 10,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "U+0020 SPACE should be properly parsed between directive name and value - HTTP header": {
          "stNum": 11,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "U+0009 TAB   should be properly parsed inside directive value - meta tag": {
          "stNum": 12,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "U+0009 TAB   should be properly parsed inside directive value - HTTP header": {
          "stNum": 13,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "U+000C FF    should be properly parsed inside directive value - meta tag": {
          "stNum": 14,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "U+000C FF    should be properly parsed inside directive value - HTTP header": {
          "stNum": 15,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "U+000A LF    should be properly parsed inside directive value - meta tag": {
          "stNum": 16,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "U+000D CR    should be properly parsed inside directive value - meta tag": {
          "stNum": 17,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "U+0020 SPACE should be properly parsed inside directive value - meta tag": {
          "stNum": 18,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "U+0020 SPACE should be properly parsed inside directive value - HTTP header": {
          "stNum": 19,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "U+00A0 NBSP  should not be parsed between directive name and value - meta tag": {
          "stNum": 20,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "U+00A0 NBSP  should not be parsed between directive name and value - HTTP header": {
          "stNum": 21,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "U+00A0 NBSP  should not be parsed inside directive value - meta tag": {
          "stNum": 22,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "U+00A0 NBSP  should not be parsed inside directive value - HTTP header": {
          "stNum": 23,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/embedded-enforcement/iframe-csp-attribute.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "<iframe> has a 'csp' attibute which is an empty string if undefined.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected (undefined) undefined but got (string) \"\""
          },
          "totals": {
            "FAIL": 1
          }
        },
        "<iframe>'s csp attribute is always a string.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected (undefined) undefined but got (string) \"123456\""
          },
          "totals": {
            "FAIL": 1
          }
        },
        "<iframe>'s 'csp content attribute reflects the IDL attribute.": {
          "stNum": 2,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected (object) null but got (string) \"value\""
          },
          "totals": {
            "FAIL": 1
          }
        },
        "<iframe>'s IDL attribute reflects the DOM attribute.": {
          "stNum": 3,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected (undefined) undefined but got (string) \"value\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/child-src/child-src-allowed.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"PASS IFrame #1 generated a load event.\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Expecting alerts: [\"PASS\"]": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/navigation/to-javascript-parent-initiated-parent-csp.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Should not have executed the javascript url": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"inline\" but got \"\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/style-src/inline-style-allowed-while-cloning-objects.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Test that violation report event was fired": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"style-src\" but got \"style-src 'self'\""
          },
          "totals": {
            "FAIL": 1
          }
        },
        "inline-style-allowed-while-cloning-objects": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "inline-style-allowed-while-cloning-objects 1": {
          "stNum": 2,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "inline-style-allowed-while-cloning-objects 2": {
          "stNum": 3,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "inline-style-allowed-while-cloning-objects 3": {
          "stNum": 4,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "inline-style-allowed-while-cloning-objects 4": {
          "stNum": 5,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "inline-style-allowed-while-cloning-objects 5": {
          "stNum": 6,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "inline-style-allowed-while-cloning-objects 6": {
          "stNum": 7,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "inline-style-allowed-while-cloning-objects 7": {
          "stNum": 8,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "inline-style-allowed-while-cloning-objects 8": {
          "stNum": 9,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "inline-style-allowed-while-cloning-objects 9": {
          "stNum": 10,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "inline-style-allowed-while-cloning-objects 10": {
          "stNum": 11,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "inline-style-allowed-while-cloning-objects 11": {
          "stNum": 12,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "inline-style-allowed-while-cloning-objects 12": {
          "stNum": 13,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "inline-style-allowed-while-cloning-objects 13": {
          "stNum": 14,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "inline-style-allowed-while-cloning-objects 14": {
          "stNum": 15,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "inline-style-allowed-while-cloning-objects 15": {
          "stNum": 16,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "inline-style-allowed-while-cloning-objects 16": {
          "stNum": 17,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "inline-style-allowed-while-cloning-objects 17": {
          "stNum": 18,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "inline-style-allowed-while-cloning-objects 18": {
          "stNum": 19,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "inline-style-allowed-while-cloning-objects 19": {
          "stNum": 20,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "inline-style-allowed-while-cloning-objects 20": {
          "stNum": 21,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "inline-style-allowed-while-cloning-objects 21": {
          "stNum": 22,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/frame-src/frame-src-self-unique-origin.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Iframe's url must not match with 'self'. It must be blocked.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/inheritance/blob-url-in-main-window-self-navigate-inherits.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Violation report status OK.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: No such report. expected \"\" but got \"false\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/embedded-enforcement/subsumption_algorithm-nonces.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Exact nonce subsumes.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Any nonce subsumes.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "A nonce has to be returned if required by the embedder.": {
          "stNum": 2,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"() => {\n        var x = i.contentWindow.location.href;\n      }\" threw object \"Error: Permission denied\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Multiples nonces returned subsume.": {
          "stNum": 3,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Nonce intersection is still done on exact match - non-matching nonces.": {
          "stNum": 4,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"() => {\n        var x = i.contentWindow.location.href;\n      }\" threw object \"Error: Permission denied\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Nonce intersection is still done on exact match - matching nonces.": {
          "stNum": 5,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Other expressions still have to be subsumed - positive test.": {
          "stNum": 6,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Other expressions still have to be subsumed - negative test": {
          "stNum": 7,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"() => {\n        var x = i.contentWindow.location.href;\n      }\" threw object \"Error: Permission denied\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/style-src/style-src-imported-style-allowed.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Imported style that violates policy should not load": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/base-uri/base-uri_iframe_sandbox.sub.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "base-uri 'self' works with same-origin sandboxed iframes.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "TIMEOUT"
          },
          "UAmessage": {
            "Ed18": "Test timed out"
          },
          "totals": {
            "TIMEOUT": 1
          }
        },
        "base-uri 'self' blocks foreign-origin sandboxed iframes.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "TIMEOUT"
          },
          "UAmessage": {
            "Ed18": "Test timed out"
          },
          "totals": {
            "TIMEOUT": 1
          }
        }
      }
    },
    "/content-security-policy/embedded-enforcement/subsumption_algorithm-unsafe_inline.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "'strict-dynamic' is ineffective for `style-src`.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "'unsafe-inline' is properly subsumed in `style-src`.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "'unsafe-inline' is only ineffective if the effective returned csp has nonces in `style-src`.": {
          "stNum": 2,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "'unsafe-inline' is only ineffective if the effective returned csp has hashes in `style-src`.": {
          "stNum": 3,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Returned csp does not have to allow 'unsafe-inline' in `style-src` to be subsumed.": {
          "stNum": 4,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "'unsafe-inline' does not matter if returned csp is effectively `none`.": {
          "stNum": 5,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "'unsafe-inline' is properly subsumed in `script-src`.": {
          "stNum": 6,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Returned csp only loads 'unsafe-inline' scripts with 'nonce-abc'.": {
          "stNum": 7,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "'unsafe-inline' is ineffective when nonces are present.": {
          "stNum": 8,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "'unsafe-inline' is only ineffective if the effective returned csp has hashes in `script-src`.": {
          "stNum": 9,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Required csp allows `strict-dynamic`, but retuned csp does.": {
          "stNum": 10,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"() => {\n        var x = i.contentWindow.location.href;\n      }\" threw object \"Error: Permission denied\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Required csp does not allow `unsafe-inline`, but retuned csp does.": {
          "stNum": 11,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"() => {\n        var x = i.contentWindow.location.href;\n      }\" threw object \"Error: Permission denied\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Returned csp whitelists a nonce.": {
          "stNum": 12,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"() => {\n        var x = i.contentWindow.location.href;\n      }\" threw object \"Error: Permission denied\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Returned csp whitelists a hash.": {
          "stNum": 13,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"() => {\n        var x = i.contentWindow.location.href;\n      }\" threw object \"Error: Permission denied\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Effective returned csp allows 'unsafe-inline'": {
          "stNum": 14,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"() => {\n        var x = i.contentWindow.location.href;\n      }\" threw object \"Error: Permission denied\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Effective returned csp does not allow 'sha512-321cba' hash.": {
          "stNum": 15,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/navigate-to/link-click-redirected-blocked.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Test that the child iframe navigation is not allowed": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"fail\" but got \"success\""
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Violation report status OK.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: No such report. expected \"\" but got \"false\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/connect-src/connect-src-beacon-redirect-to-blocked.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"violated-directive=connect-src\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: unexpected log: violated-directive=connect-src 'self' Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/unsafe-eval/eval-scripts-setTimeout-allowed.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"PASS 1 of 2\",\"PASS 2 of 2\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/style-src/style-src-star-allowed.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "* should allow any style": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/form-action/form-action-src-allowed.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"PASS\",\"TEST COMPLETE\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/script-src/srcdoc-doesnt-bypass-script-src.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"violated-directive=script-src-elem\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: Logging timeout, expected logs violated-directive=script-src-elem not sent. Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/style-src/style-src-hash-allowed.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "All style elements should load because they have proper hashes": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/child-src/child-src-about-blank-allowed-by-scheme.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Check that frames load without throwing any violation events": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/navigate-to/form-action/form-action-blocks-navigate-to-blocks.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Test that form-action overrides navigate-to when present.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"form-action\" but got \"form-action 'none'\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/frame-ancestors/frame-ancestors-nested-same-in-cross-self-block.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "A 'frame-ancestors' CSP directive with a value 'same' should block render in same-origin nested frames.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        }
      }
    },
    "/content-security-policy/plugin-types/plugintypes-notype-data.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Should not load the object because it does not have a declared type": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"plugin-types\" but got \"plugin-types application/pdf\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/embedded-enforcement/subsumption_algorithm-none.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Empty required csp subsumes empty list of returned policies.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Empty required csp subsumes any list of policies.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Empty required csp subsumes a policy with `none`.": {
          "stNum": 2,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Required policy that allows `none` does not subsume empty list of policies.": {
          "stNum": 3,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"() => {\n        var x = i.contentWindow.location.href;\n      }\" threw object \"Error: Permission denied\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Required csp with effective `none` does not subsume a host source expression.": {
          "stNum": 4,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"() => {\n        var x = i.contentWindow.location.href;\n      }\" threw object \"Error: Permission denied\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Required csp with `none` does not subsume a host source expression.": {
          "stNum": 5,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"() => {\n        var x = i.contentWindow.location.href;\n      }\" threw object \"Error: Permission denied\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Required csp with effective `none` does not subsume `none` of another directive.": {
          "stNum": 6,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"() => {\n        var x = i.contentWindow.location.href;\n      }\" threw object \"Error: Permission denied\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Required csp with `none` does not subsume `none` of another directive.": {
          "stNum": 7,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"() => {\n        var x = i.contentWindow.location.href;\n      }\" threw object \"Error: Permission denied\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Required csp with `none` does not subsume `none` of different directives.": {
          "stNum": 8,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"() => {\n        var x = i.contentWindow.location.href;\n      }\" threw object \"Error: Permission denied\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Required csp with `none` subsumes effective list of `none`.": {
          "stNum": 9,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Required csp with `none` subsumes effective list of `none` despite other keywords.": {
          "stNum": 10,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Source list with exprssions other than `none` make `none` ineffective.": {
          "stNum": 11,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Returned csp with `none` is subsumed by any required csp.": {
          "stNum": 12,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Returned csp with effective `none` is subsumed by any required csp.": {
          "stNum": 13,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Both required and returned csp are `none`.": {
          "stNum": 14,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Both required and returned csp are `none` for only one directive.": {
          "stNum": 15,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"() => {\n        var x = i.contentWindow.location.href;\n      }\" threw object \"Error: Permission denied\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Both required and returned csp are empty.": {
          "stNum": 16,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Both required and returned csp are effectively 'none'.": {
          "stNum": 17,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/navigate-to/form-action/form-action-allows-navigate-to-blocks.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Test that form-action overrides navigate-to when present.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/navigation/javascript-url-navigation-inherits-csp.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "javascript-url-navigation-inherits-csp": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "Unable to get property 'trim' of undefined or null reference"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/blob/star-doesnt-match-blob.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"violated-directive=worker-src\",\"TEST COMPLETE\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: unexpected log: violated-directive=child-src * Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/style-src/stylehash-default-src.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "stylehash allowed from default-src": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/frame-ancestors/frame-ancestors-self-allow.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "A 'frame-ancestors' CSP directive with a value 'self' should allow rendering.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/connect-src/worker-connect-src-blocked.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"xhr blocked\",\"TEST COMPLETE\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/style-src/style-src-imported-style-blocked.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "@import stylesheet should not load because it does not match style-src": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Should fire a securitypolicyviolation event": {
          "stNum": 1,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"style-src 'self'\" but got \"style-src-elem\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/style-src-attr-elem/style-src-elem-blocked-attr-allowed.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "Should fire a security policy violation for the inline block": {
          "stNum": 0,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        },
        "The inline style should not be applied and the attribute style should be applied": {
          "stNum": 1,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_true: expected true got false"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/frame-ancestors/frame-ancestors-nested-cross-in-cross-none-block.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "A 'frame-ancestors' CSP directive with a value 'none' should block rendering in nested frames.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        }
      }
    },
    "/content-security-policy/script-src/worker-script-src.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"PASS\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/reporting-api/reporting-api-report-only-sends-reports-on-violation.https.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Test that image does not load": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Event is fired": {
          "stNum": 1,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"img-src\" but got \"img-src 'none'\""
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Violation report status OK.": {
          "stNum": 2,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: No such report. expected \"\" but got \"false\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/navigate-to/href-location-redirected-allowed.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "Test that the child iframe navigation is allowed": {
          "stNum": 0,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        }
      }
    },
    "/content-security-policy/generic/policy-does-not-affect-child.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"PASS\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/child-src/child-src-cross-origin-load.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"PASS IFrame #1 generated a load event.\",\"PASS IFrame #2 generated a load event.\",\"PASS IFrame #3 generated a load event.\", \"violated-directive=frame-src\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: unexpected log: violated-directive=child-src 'self' http://www1.webapitests2018.ctawave.org:8000 Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Expecting alerts: [\"PASS\",\"PASS\"]": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/navigate-to/child-navigates-parent-blocked.sub.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "Test that the child can't navigate the parent because the relevant policy belongs to the navigation initiator (in this case the child which has the policy `navigate-to 'none'`)": {
          "stNum": 0,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        },
        "Violation report status OK.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: No such report. expected \"\" but got \"false\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/embedded-enforcement/subsumption_algorithm-unsafe_hashes.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "'unsafe-hashes' is properly subsumed.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "No other keyword has the same effect as 'unsafe-hashes'.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"() => {\n        var x = i.contentWindow.location.href;\n      }\" threw object \"Error: Permission denied\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Other expressions have to be subsumed.": {
          "stNum": 2,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"() => {\n        var x = i.contentWindow.location.href;\n      }\" threw object \"Error: Permission denied\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Effective policy is properly found.": {
          "stNum": 3,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Required csp must allow 'unsafe-hashes'.": {
          "stNum": 4,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"() => {\n        var x = i.contentWindow.location.href;\n      }\" threw object \"Error: Permission denied\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Effective policy is properly found where 'unsafe-hashes' is not subsumed.": {
          "stNum": 5,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"() => {\n        var x = i.contentWindow.location.href;\n      }\" threw object \"Error: Permission denied\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Effective policy is properly found where 'unsafe-hashes' is not part of it.": {
          "stNum": 6,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/navigate-to/child-navigates-parent-allowed.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "Test that the child can navigate the parent because the relevant policy belongs to the navigation initiator (in this case the child, which has the policy `navigate-to 'self'`)": {
          "stNum": 0,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        }
      }
    },
    "/content-security-policy/script-src/script-src-1_2_1.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Test that securitypolicyviolation event is fired": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"script-src-elem\" but got \"script-src *\""
          },
          "totals": {
            "FAIL": 1
          }
        },
        "DOM manipulation inline tests": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/connect-src/connect-src-websocket-blocked.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"blocked\",\"violated-directive=connect-src\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: unexpected log: violated-directive=connect-src 'self' Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/object-src/object-src-url-embed-blocked.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Should block the object and fire a spv": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"object-src\" but got \"object-src 'none'\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/connect-src/worker-from-guid.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"violated-directive=connect-src\",\"xhr blocked\",\"TEST COMPLETE\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: unexpected log: violated-directive=connect-src 'self' Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/child-src/child-src-redirect-blocked.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"PASS IFrame #1 generated a load event.\", \"violated-directive=frame-src\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: unexpected log: violated-directive=child-src 'self' Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/blob/blob-urls-do-not-match-self.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"violated-directive=script-src-elem\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: unexpected log: violated-directive=script-src 'self' 'unsafe-inline' Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/navigate-to/href-location-cross-origin-blocked.sub.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "Test that the child iframe navigation is not allowed": {
          "stNum": 0,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        },
        "Violation report status OK.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: No such report. expected \"\" but got \"false\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/form-action/form-action-src-blocked.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"violated-directive=form-action\",\"TEST COMPLETE\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: unexpected log: violated-directive=form-action 'none' Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/reporting/report-only-in-meta.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Image should load": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/worker-src/dedicated-none.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Same-origin dedicated worker blocked by host-source expression.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"function () {\n      var w = new Worker(url);\n    }\" did not throw"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "blob: dedicated worker blocked by 'blob:'.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"function () {\n      var w = new Worker(url);\n    }\" did not throw"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/unsafe-eval/eval-blocked-and-sends-report.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"PASS: eval() blocked.\",\"violated-directive=script-src\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: unexpected log: violated-directive=script-src 'self' 'unsafe-inline' Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/meta/meta-img-src.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"PASS\",\"TEST COMPLETE\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/unsafe-eval/eval-scripts-setInterval-allowed.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"PASS 1 of 2\",\"PASS 2 of 2\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/frame-ancestors/frame-ancestors-nested-same-in-same-star-allow.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "A 'frame-ancestors' CSP directive with a value '*' should render in nested frames.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/media-src/media-src-7_2.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "In-policy audio src": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "In-policy audio source element": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Should not fire policy violation events": {
          "stNum": 2,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/sandbox/sandbox-allow-scripts-subframe.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"Message\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/script-src/hash-always-converted-to-utf-8/iso-8859-3.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Should convert the script contents to UTF-8 before hashing": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: Should not have fired a spv Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/worker-src/dedicated-child.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Same-origin dedicated worker allowed by host-source expression.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "blob: dedicated worker allowed by 'blob:'.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/script-src/script-src-1_2.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Inline script block": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Inline event handler": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Should fire policy violation events": {
          "stNum": 2,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: Unexpected directive broken Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/worker-src/dedicated-list.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Same-origin dedicated worker allowed by host-source expression.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "blob: dedicated worker allowed by 'blob:'.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/script-src/hash-always-converted-to-utf-8/iso-8859-9.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Should convert the script contents to UTF-8 before hashing": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: Should not have fired a spv Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/navigation/to-javascript-parent-initiated-child-csp.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Should have executed the javascript url": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/unsafe-hashes/style_attribute_denied_missing_unsafe_hashes.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Test that the inline style attribute is blocked": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"style-src-attr\" but got \"style-src 'sha256-S0VSqEOmzmyOifPfat2sJ7ELOgkldAEbaXlvi5iMqjc='\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/sandbox/sandbox-empty.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"PASS2\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/frame-ancestors/frame-ancestors-nested-same-in-cross-star-allow.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "A 'frame-ancestors' CSP directive with a value '*' should render in nested frames.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        }
      }
    },
    "/content-security-policy/reporting/report-uri-multiple-reversed.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Violation report status OK.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/embedded-enforcement/subsumption_algorithm-host_sources-protocols.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "`https` is more restrictive than `http`.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"() => {\n        var x = i.contentWindow.location.href;\n      }\" threw object \"Error: Permission denied\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "The reverse allows iframe be to be loaded.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Matching `https` protocols.": {
          "stNum": 2,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "`http:` should subsume all host source expressions with this protocol.": {
          "stNum": 3,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "`http:` should subsume all host source expressions with `https:`.": {
          "stNum": 4,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "`http:` does not subsume other protocols.": {
          "stNum": 5,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"() => {\n        var x = i.contentWindow.location.href;\n      }\" threw object \"Error: Permission denied\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "If scheme source is present in returned csp, it must be specified in required csp too.": {
          "stNum": 6,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"() => {\n        var x = i.contentWindow.location.href;\n      }\" threw object \"Error: Permission denied\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "`http:` subsumes other `http:` source expression.": {
          "stNum": 7,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "`http:` subsumes other `https:` source expression and expressions with `http:`.": {
          "stNum": 8,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "All scheme sources must be subsumed.": {
          "stNum": 9,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"() => {\n        var x = i.contentWindow.location.href;\n      }\" threw object \"Error: Permission denied\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "All scheme sources are subsumed by their stronger variants.": {
          "stNum": 10,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/frame-src/frame-src-allowed.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"PASS IFrame #1 generated a load event.\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Expecting alerts: [\"PASS\"]": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/style-src/style-src-stylesheet-nonce-allowed.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Stylesheet link should load with correct nonce": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_true: expected true got false"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/object-src/object-src-no-url-blocked.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Should block the object and fire a spv": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"object-src\" but got \"object-src 'none'\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/script-src/worker-set-timeout-blocked.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting alerts: [\"setTimeout blocked\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/script-src-attr-elem/script-src-elem-allowed-attr-blocked.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "Should fire a security policy violation for the attribute": {
          "stNum": 0,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        },
        "Should execute the inline script block": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/script-src/script-src-1_4_1.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "window.setTimeout()": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "window.setInterval()": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test that securitypolicyviolation event is fired": {
          "stNum": 2,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"script-src\" but got \"script-src 'self' 'unsafe-inline'\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/unsafe-eval/eval-scripts-setTimeout-blocked.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"PASS\",\"violated-directive=script-src\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: unexpected log: violated-directive=script-src 'self' 'unsafe-inline' Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/style-src/style-src-inline-style-attribute-allowed.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Inline style attribute should apply with 'unsafe-inline'": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/navigate-to/form-blocked.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Test that the child iframe navigation is not allowed": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"fail\" but got \"success\""
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Violation report status OK.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: No such report. expected \"\" but got \"false\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/worker-src/shared-list.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Same-origin dedicated worker allowed by 'self'.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "'SharedWorker' is not defined"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "blob: dedicated worker allowed by 'blob:'.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "'SharedWorker' is not defined"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/frame-ancestors/frame-ancestors-star-allow-sameorigin.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "A 'frame-ancestors' CSP directive with '*' should allow rendering.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/font-src/font-match-allowed.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Test font loads if it matches font-src.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/inside-worker/dedicated-script.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "Filesystem and blob.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Cross-origin `importScripts()` blocked in blob:": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "`eval()` blocked in blob:": {
          "stNum": 2,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "`setTimeout([string])` blocked in blob:": {
          "stNum": 3,
          "byUA": {
            "Ed18": "TIMEOUT"
          },
          "UAmessage": {
            "Ed18": "Test timed out"
          },
          "totals": {
            "TIMEOUT": 1
          }
        },
        "Cross-origin `importScripts()` blocked in http:?pipe=sub|header(Content-Security-Policy,script-src%20*)": {
          "stNum": 4,
          "byUA": {
            "Ed18": "TIMEOUT"
          },
          "UAmessage": {
            "Ed18": "Test timed out"
          },
          "totals": {
            "TIMEOUT": 1
          }
        },
        "Cross-origin `importScripts()` blocked in http:": {
          "stNum": 5,
          "byUA": {
            "Ed18": "TIMEOUT"
          },
          "UAmessage": {
            "Ed18": "Test timed out"
          },
          "totals": {
            "TIMEOUT": 1
          }
        },
        "Cross-origin `importScripts()` blocked in http:?pipe=sub|header(Content-Security-Policy,default-src%20*)": {
          "stNum": 6,
          "byUA": {
            "Ed18": "TIMEOUT"
          },
          "UAmessage": {
            "Ed18": "Test timed out"
          },
          "totals": {
            "TIMEOUT": 1
          }
        }
      }
    },
    "/content-security-policy/form-action/form-action-src-redirect-blocked.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"violated-directive=form-action\",\"TEST COMPLETE\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: unexpected log: violated-directive=form-action 'self' Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/style-src/injected-inline-style-allowed.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"PASS: 2 stylesheets on the page.\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/generic/policy-inherited-correctly-by-plznavigate.html": {
      "byUA": {
        "Ed18": "ERROR"
      },
      "UAmessage": {
        "Ed18": "Unable to get property 'trim' of undefined or null reference"
      },
      "totals": {
        "ERROR": 1
      },
      "subtests": {
        "iframe still inherits correct CSP": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"frame-src\" but got \"frame-src 'none'\""
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Violation report status OK.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/form-action/form-action-src-allowed-target-frame.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "form submission targetting a frame allowed": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/inheritance/iframe-all-local-schemes-inherit-self.sub.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "<iframe>'s about:blank inherits policy.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "<iframe srcdoc>'s inherits policy.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "TIMEOUT"
          },
          "UAmessage": {
            "Ed18": "Test timed out"
          },
          "totals": {
            "TIMEOUT": 1
          }
        },
        "<iframe src='blob:...'>'s inherits policy.": {
          "stNum": 2,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "<iframe src='data:...'>'s inherits policy.": {
          "stNum": 3,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "<iframe src='javascript:...'>'s inherits policy.": {
          "stNum": 4,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "<iframe sandbox src='blob:...'>'s inherits policy. (opaque origin sandbox)": {
          "stNum": 5,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/connect-src/connect-src-websocket-self.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"allowed\", \"allowed\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/generic/filesystem-urls-do-not-match-self.sub.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "Expecting logs: [\"violated-directive=script-src-elem\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        },
        "filesystem-urls-do-not-match-self": {
          "stNum": 1,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {
            "Ed18": "No filesystem:// support, cannot run test."
          },
          "totals": {
            "NOTRUN": 1
          }
        }
      }
    },
    "/content-security-policy/connect-src/connect-src-eventsource-blocked.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"blocked\",\"violated-directive=connect-src\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: Logging timeout, expected logs violated-directive=connect-src not sent. Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/style-src/stylehash-basic-blocked.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting alerts: [\"PASS: The 'p' element's text is green, which means the style was correctly applied.\", \"violated-directive=style-src-elem\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: unexpected alert: violated-directive=style-src 'self' 'sha256-FSRZotz4y83Ib8ZaoVj9eXKaeWXVUawM8zAPfYeYySs=' Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/embedded-enforcement/subsumption_algorithm-general.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "If there is no required csp, iframe should load.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Iframe with empty returned CSP should be blocked.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"() => {\n        var x = i.contentWindow.location.href;\n      }\" threw object \"Error: Permission denied\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Iframe with matching CSP should load.": {
          "stNum": 2,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Iframe with more restricting CSP should load.": {
          "stNum": 3,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Iframe with less restricting CSP should be blocked.": {
          "stNum": 4,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"() => {\n        var x = i.contentWindow.location.href;\n      }\" threw object \"Error: Permission denied\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Iframe with a different CSP should be blocked.": {
          "stNum": 5,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"() => {\n        var x = i.contentWindow.location.href;\n      }\" threw object \"Error: Permission denied\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Iframe with a matching and more restrictive ports should load.": {
          "stNum": 6,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Iframe should load even if the ports are different but are default for the protocols.": {
          "stNum": 7,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/connect-src/worker-connect-src-allowed.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"xhr allowed\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/style-src/stylenonce-blocked.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Should fire securitypolicyviolation": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"style-src-elem\" but got \"style-src 'self'\""
          },
          "totals": {
            "FAIL": 1
          }
        },
        "stylenonce-blocked": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/unsafe-eval/eval-blocked.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"PASS EvalError\",\"PASS EvalError\", \"violated-directive=script-src\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: unexpected log: violated-directive=script-src 'self' 'unsafe-inline' Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/embedded-enforcement/subsumption_algorithm-self.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "'self' keywords should match.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Returned CSP does not have to specify 'self'.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Returned CSP must not allow 'self' if required CSP does not.": {
          "stNum": 2,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"() => {\n        var x = i.contentWindow.location.href;\n      }\" threw object \"Error: Permission denied\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Returned 'self' should match to an origin's url.": {
          "stNum": 3,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Required 'self' should match to a origin's url.": {
          "stNum": 4,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Required 'self' should subsume a more secure version of origin's url.": {
          "stNum": 5,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Returned 'self' should not be subsumed by a more secure version of origin's url.": {
          "stNum": 6,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"() => {\n        var x = i.contentWindow.location.href;\n      }\" threw object \"Error: Permission denied\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/plugin-types/plugintypes-mismatched-url.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Should not load the object because its declared type does not match its actual type": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"plugin-types\" but got \"plugin-types application/pdf\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/generic/directive-name-case-insensitive.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Test that the www1 image is allowed to load": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test that the www2 image is not allowed to load": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test that the www2 image throws a violation event": {
          "stNum": 2,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"img-src\" but got \"IMg-sRC 'self' 'unsafe-inline' http://www1.webapitests2018.ctawave.org:8000\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/media-src/media-src-7_3.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "In-policy track element": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Should not fire policy violation events": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/embedded-enforcement/subsumption_algorithm-hashes.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "'sha256-abc123' is properly subsumed.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Returned should not include hashes not present in required csp.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"() => {\n        var x = i.contentWindow.location.href;\n      }\" threw object \"Error: Permission denied\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "'sha256-abc123' is properly subsumed with other sources.": {
          "stNum": 2,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Hashes do not have to be present in returned csp.": {
          "stNum": 3,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Hashes do not have to be present in returned csp but must not allow all inline behavior.": {
          "stNum": 4,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"() => {\n        var x = i.contentWindow.location.href;\n      }\" threw object \"Error: Permission denied\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Other expressions have to be subsumed.": {
          "stNum": 5,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"() => {\n        var x = i.contentWindow.location.href;\n      }\" threw object \"Error: Permission denied\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Other expressions have to be subsumed but 'unsafe-inline' gets ignored.": {
          "stNum": 6,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Effective policy is properly found.": {
          "stNum": 7,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Required csp must allow 'sha256-abc123'.": {
          "stNum": 8,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"() => {\n        var x = i.contentWindow.location.href;\n      }\" threw object \"Error: Permission denied\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Effective policy is properly found where 'sha256-abc123' is not subsumed.": {
          "stNum": 9,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"() => {\n        var x = i.contentWindow.location.href;\n      }\" threw object \"Error: Permission denied\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "'sha256-abc123' is not subsumed by 'sha256-abc456'.": {
          "stNum": 10,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_throws: function \"() => {\n        var x = i.contentWindow.location.href;\n      }\" threw object \"Error: Permission denied\" that is not a DOMException SecurityError: property \"code\" is equal to undefined, expected 18"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Effective policy now does not allow 'sha256-abc123'.": {
          "stNum": 11,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Effective policy is properly found where 'sha256-abc123' is not part of it.": {
          "stNum": 12,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/navigate-to/form-action/form-action-blocks-navigate-to-allows.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Test that form-action overrides navigate-to when present.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"form-action\" but got \"form-action 'none'\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/inheritance/inherited-csp-list-modifications-are-local.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "Test that parent document image loads": {
          "stNum": 0,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        },
        "Test that embedded iframe document image does not load": {
          "stNum": 1,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        },
        "Test that spv event is fired": {
          "stNum": 2,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        }
      }
    },
    "/content-security-policy/child-src/child-src-blocked.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"PASS IFrame #1 generated a load event.\", \"violated-directive=frame-src\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: unexpected log: violated-directive=child-src 'none' Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/style-src/style-src-inline-style-allowed.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Inline style should apply with 'unsafe-inline'": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/style-src/style-allowed.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"PASS\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/script-src/script-src-overrides-default-src.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"PASS 1 of 2\",\"PASS 2 of 2\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/generic/generic-0_2_2.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Prevents access to external scripts.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Should fire violation events for every failed violation": {
          "stNum": 1,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"script-src-elem\" but got \"script-src 'self' 'unsafe-inline'\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/base-uri/base-uri-allow.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Check that base URIs can be set if they do not violate the page's policy.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/inheritance/window.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "window.open() inherits policy.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "Unable to get property 'body' of undefined or null reference"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "`document.write` into `window.open()` inherits policy.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "Unable to get property 'write' of undefined or null reference"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "window.open('blob:...') inherits policy.": {
          "stNum": 2,
          "byUA": {
            "Ed18": "TIMEOUT"
          },
          "UAmessage": {
            "Ed18": "Test timed out"
          },
          "totals": {
            "TIMEOUT": 1
          }
        },
        "window.open('javascript:...') inherits policy.": {
          "stNum": 3,
          "byUA": {
            "Ed18": "TIMEOUT"
          },
          "UAmessage": {
            "Ed18": "Test timed out"
          },
          "totals": {
            "TIMEOUT": 1
          }
        }
      }
    },
    "/content-security-policy/securitypolicyviolation/inside-service-worker.https.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "No SecurityPolicyViolation event fired for successful load.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "SecurityPolicyViolation event fired on global.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "TIMEOUT"
          },
          "UAmessage": {
            "Ed18": "Test timed out"
          },
          "totals": {
            "TIMEOUT": 1
          }
        },
        "SecurityPolicyViolation event fired on global with the correct blockedURI.": {
          "stNum": 2,
          "byUA": {
            "Ed18": "TIMEOUT"
          },
          "UAmessage": {
            "Ed18": "Test timed out"
          },
          "totals": {
            "TIMEOUT": 1
          }
        }
      }
    },
    "/content-security-policy/sandbox/sandbox-allow-scripts.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"Message\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/securitypolicyviolation/img-src-redirect-upgrade-reporting.https.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Image that redirects to http:// URL prohibited by Report-Only must generate a violation report, even with upgrade-insecure-requests": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: Unexpected violation event for http://webapitests2018.ctawave.org:8443 Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/script-src/script-src-1_4_2.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Test that securitypolicyviolation event is fired": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"script-src\" but got \"script-src 'self' 'unsafe-inline'\""
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Unsafe eval ran in Function() constructor.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/generic/filesystem-urls-match-filesystem.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"PASS (1/1)\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {
            "Ed18": "No filesystem:// support, cannot run test."
          },
          "totals": {
            "NOTRUN": 1
          }
        }
      }
    },
    "/content-security-policy/style-src/inline-style-attribute-on-html.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "inline-style-attribute-on-html": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "'log' is not defined"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/navigate-to/form-action/form-action-allows-navigate-to-allows.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Test that form-action overrides navigate-to when present.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/style-src-attr-elem/style-src-attr-allowed-src-blocked.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Should apply the style attribute": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_true: expected true got false"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/reporting/report-blocked-uri.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Violation report status OK.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/style-src/style-src-stylesheet-nonce-blocked.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Should not load stylesheet without correct nonce": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Should fire a securitypolicyviolation event": {
          "stNum": 1,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"style-src 'nonce-nonceynonce'\" but got \"style-src-elem\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/worker-src/dedicated-worker-src-default-fallback.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Same-origin dedicated worker allowed by default-src 'self'.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/worker-src/service-fallback.https.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Same-origin service worker allowed by host-source expression.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/inside-worker/dedicated-inheritance.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "Filesystem and blob.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Same-origin 'fetch()' in blob:": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Same-origin XHR in blob:": {
          "stNum": 2,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Cross-origin 'fetch()' in blob:": {
          "stNum": 3,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Cross-origin XHR in blob:": {
          "stNum": 4,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Same-origin => cross-origin 'fetch()' in blob:": {
          "stNum": 5,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Same-origin 'fetch()' in http:": {
          "stNum": 6,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Same-origin XHR in http:": {
          "stNum": 7,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Cross-origin 'fetch()' in http:": {
          "stNum": 8,
          "byUA": {
            "Ed18": "TIMEOUT"
          },
          "UAmessage": {
            "Ed18": "Test timed out"
          },
          "totals": {
            "TIMEOUT": 1
          }
        },
        "Cross-origin XHR in http:": {
          "stNum": 9,
          "byUA": {
            "Ed18": "TIMEOUT"
          },
          "UAmessage": {
            "Ed18": "Test timed out"
          },
          "totals": {
            "TIMEOUT": 1
          }
        },
        "Same-origin => cross-origin 'fetch()' in http:": {
          "stNum": 10,
          "byUA": {
            "Ed18": "TIMEOUT"
          },
          "UAmessage": {
            "Ed18": "Test timed out"
          },
          "totals": {
            "TIMEOUT": 1
          }
        },
        "Same-origin 'fetch()' in http:?pipe=sub|header(Content-Security-Policy,connect-src%20*)": {
          "stNum": 11,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Same-origin XHR in http:?pipe=sub|header(Content-Security-Policy,connect-src%20*)": {
          "stNum": 12,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Cross-origin 'fetch()' in http:?pipe=sub|header(Content-Security-Policy,connect-src%20*)": {
          "stNum": 13,
          "byUA": {
            "Ed18": "TIMEOUT"
          },
          "UAmessage": {
            "Ed18": "Test timed out"
          },
          "totals": {
            "TIMEOUT": 1
          }
        },
        "Cross-origin XHR in http:?pipe=sub|header(Content-Security-Policy,connect-src%20*)": {
          "stNum": 14,
          "byUA": {
            "Ed18": "TIMEOUT"
          },
          "UAmessage": {
            "Ed18": "Test timed out"
          },
          "totals": {
            "TIMEOUT": 1
          }
        },
        "Same-origin => cross-origin 'fetch()' in http:?pipe=sub|header(Content-Security-Policy,connect-src%20*)": {
          "stNum": 15,
          "byUA": {
            "Ed18": "TIMEOUT"
          },
          "UAmessage": {
            "Ed18": "Test timed out"
          },
          "totals": {
            "TIMEOUT": 1
          }
        },
        "Same-origin 'fetch()' in http:?pipe=sub|header(Content-Security-Policy,connect-src%20'none')": {
          "stNum": 16,
          "byUA": {
            "Ed18": "TIMEOUT"
          },
          "UAmessage": {
            "Ed18": "Test timed out"
          },
          "totals": {
            "TIMEOUT": 1
          }
        },
        "Same-origin XHR in http:?pipe=sub|header(Content-Security-Policy,connect-src%20'none')": {
          "stNum": 17,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Cross-origin 'fetch()' in http:?pipe=sub|header(Content-Security-Policy,connect-src%20'none')": {
          "stNum": 18,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Cross-origin XHR in http:?pipe=sub|header(Content-Security-Policy,connect-src%20'none')": {
          "stNum": 19,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Same-origin => cross-origin 'fetch()' in http:?pipe=sub|header(Content-Security-Policy,connect-src%20'none')": {
          "stNum": 20,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Same-origin 'fetch()' in http:?pipe=sub|header(Content-Security-Policy,default-src%20*)": {
          "stNum": 21,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Same-origin XHR in http:?pipe=sub|header(Content-Security-Policy,default-src%20*)": {
          "stNum": 22,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Cross-origin 'fetch()' in http:?pipe=sub|header(Content-Security-Policy,default-src%20*)": {
          "stNum": 23,
          "byUA": {
            "Ed18": "TIMEOUT"
          },
          "UAmessage": {
            "Ed18": "Test timed out"
          },
          "totals": {
            "TIMEOUT": 1
          }
        },
        "Cross-origin XHR in http:?pipe=sub|header(Content-Security-Policy,default-src%20*)": {
          "stNum": 24,
          "byUA": {
            "Ed18": "TIMEOUT"
          },
          "UAmessage": {
            "Ed18": "Test timed out"
          },
          "totals": {
            "TIMEOUT": 1
          }
        },
        "Same-origin => cross-origin 'fetch()' in http:?pipe=sub|header(Content-Security-Policy,default-src%20*)": {
          "stNum": 25,
          "byUA": {
            "Ed18": "TIMEOUT"
          },
          "UAmessage": {
            "Ed18": "Test timed out"
          },
          "totals": {
            "TIMEOUT": 1
          }
        }
      }
    },
    "/content-security-policy/reporting/multiple-report-policies.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "2-Violation report status OK": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "1-Violation report status OK": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/navigate-to/meta-refresh-redirected-blocked.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Test that the child iframe navigation is not allowed": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"fail\" but got \"success\""
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Violation report status OK.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: No such report. expected \"\" but got \"false\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/reporting/report-uri-scheme-relative.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Violation report status OK.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/navigate-to/parent-navigates-child-blocked.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Test that the parent can't navigate the child because the relevant policy belongs to the navigation initiator (in this case the parent, which has the policy `navigate-to support/wait_for_navigation.html;`)": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: Should not have received a message as the navigation should not have been successful Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Violation report status OK.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: No such report. expected \"\" but got \"false\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/style-src/style-src-hash-blocked.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Should load the style with a correct hash": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Should not load style that does not match hash": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Should fire a securitypolicyviolation event": {
          "stNum": 2,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"style-src\\n                'sha256-7kQ1KhZCpEzWtsa0RSpbIL7FU3kPNhE3IJMaNeTclMU='\" but got \"style-src-elem\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/frame-ancestors/frame-ancestors-nested-cross-in-cross-url-allow.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "A 'frame-ancestors' CSP directive with a URL value should block or allow rendering in nested frames as appropriate.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        }
      }
    },
    "/content-security-policy/media-src/media-src-7_3_2.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Disallowed track element onerror handler fires.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test that securitypolicyviolation events are fired": {
          "stNum": 1,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"media-src\" but got \"media-src 'self'\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/navigate-to/link-click-cross-origin-blocked.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Test that the child iframe navigation is not allowed": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"fail\" but got \"success\""
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Violation report status OK.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: No such report. expected \"\" but got \"false\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/reporting/report-blocked-data-uri.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Violation report status OK.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/worker-src/service-child.https.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Same-origin service worker allowed by host-source expression.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/font-src/font-none-blocked.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Test font does not load if it does not match font-src.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/form-action/form-action-src-get-blocked.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"violated-directive=form-action\",\"TEST COMPLETE\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: unexpected log: violated-directive=form-action 'none' Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/media-src/media-src-7_1.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "In-policy async video src": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "In-policy async video source element": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Should not fire policy violation events": {
          "stNum": 2,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/script-src/scriptnonce-redirect.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting alerts: [\"PASS\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/default-src/default-src-inline-blocked.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"violated-directive=script-src-elem\",\"violated-directive=script-src-elem\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: Logging timeout, expected logs violated-directive=script-src-elem,violated-directive=script-src-elem not sent. Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/reporting/report-uri-from-inline-javascript.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Violation report status OK.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/reporting/report-same-origin-with-cookies.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Image should not load": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Violation report status OK.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test report cookies.": {
          "stNum": 2,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_true: Report should contain cookie: cspViolationReportCookie2 expected true got false"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/navigate-to/link-click-cross-origin-allowed.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Test that the child iframe navigation is allowed": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/prefetch-src/prefetch-header-allowed.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "Browser supports prefetch.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_true: expected true got false"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Browser supports performance APIs.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Prefetch via `Link` header succeeds when allowed by prefetch-src": {
          "stNum": 2,
          "byUA": {
            "Ed18": "TIMEOUT"
          },
          "UAmessage": {
            "Ed18": "Test timed out"
          },
          "totals": {
            "TIMEOUT": 1
          }
        }
      }
    },
    "/content-security-policy/frame-src/frame-src-cross-origin-load.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"PASS IFrame #1 generated a load event.\",\"PASS IFrame #2 generated a load event.\",\"PASS IFrame #3 generated a load event.\",\"violated-directive=frame-src\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: unexpected log: violated-directive=frame-src 'self' http://www1.webapitests2018.ctawave.org:8000 Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Expecting alerts: [\"PASS\",\"PASS\"]": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/inside-worker/shared-inheritance.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "shared-inheritance": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "'SharedWorker' is not defined"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/reporting-api/reporting-api-report-to-overrides-report-uri-2.https.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Test that image does not load": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Event is fired": {
          "stNum": 1,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"img-src\" but got \"img-src 'none'\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/frame-ancestors/frame-ancestors-nested-cross-in-cross-star-allow.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "A 'frame-ancestors' CSP directive with a value '*' should render in nested frames.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        }
      }
    },
    "/content-security-policy/worker-src/dedicated-self.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Same-origin dedicated worker allowed by 'self'.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/frame-ancestors/frame-ancestors-nested-same-in-cross-url-block.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "A 'frame-ancestors' CSP directive with a URL value should block or allow rendering in nested frames as appropriate.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "NOTRUN"
          },
          "UAmessage": {},
          "totals": {
            "NOTRUN": 1
          }
        }
      }
    },
    "/content-security-policy/script-src/hash-always-converted-to-utf-8/utf-8.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Should convert the script contents to UTF-8 before hashing - latin micro sign": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Should convert the script contents to UTF-8 before hashing - greek small letter mu": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Should convert the script contents to UTF-8 before hashing - latin capital letter g with breve": {
          "stNum": 2,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/embedded-enforcement/required_csp-header.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Test same origin: Sec-Required-CSP is not sent if `csp` attribute is not set on <iframe>.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test same origin redirect: Sec-Required-CSP is not sent if `csp` attribute is not set on <iframe>.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test cross origin redirect: Sec-Required-CSP is not sent if `csp` attribute is not set on <iframe>.": {
          "stNum": 2,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test cross origin redirect of cross origin iframe: Sec-Required-CSP is not sent if `csp` attribute is not set on <iframe>.": {
          "stNum": 3,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test Required-CSP value on `csp` change: Sec-Required-CSP is not sent if `csp` attribute is not set on <iframe>.": {
          "stNum": 4,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected (string) \"default-src 'unsafe-inline'\" but got (object) null"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Test same origin: Send Sec-Required-CSP when `csp` attribute of <iframe> is not empty.": {
          "stNum": 5,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: Child iframes have unexpected csp:\"null\" Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Test same origin redirect: Send Sec-Required-CSP when `csp` attribute of <iframe> is not empty.": {
          "stNum": 6,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: Child iframes have unexpected csp:\"null\" Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Test cross origin redirect: Send Sec-Required-CSP when `csp` attribute of <iframe> is not empty.": {
          "stNum": 7,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: Child iframes have unexpected csp:\"null\" Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Test cross origin redirect of cross origin iframe: Send Sec-Required-CSP when `csp` attribute of <iframe> is not empty.": {
          "stNum": 8,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: Child iframes have unexpected csp:\"null\" Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Test Required-CSP value on `csp` change: Send Sec-Required-CSP when `csp` attribute of <iframe> is not empty.": {
          "stNum": 9,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected (string) \"script-src 'unsafe-inline'\" but got (object) null"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Test same origin: Send Sec-Required-CSP Header on change of `src` attribute on iframe.": {
          "stNum": 10,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: Child iframes have unexpected csp:\"null\" Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Test same origin redirect: Send Sec-Required-CSP Header on change of `src` attribute on iframe.": {
          "stNum": 11,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: Child iframes have unexpected csp:\"null\" Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Test cross origin redirect: Send Sec-Required-CSP Header on change of `src` attribute on iframe.": {
          "stNum": 12,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: Child iframes have unexpected csp:\"null\" Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Test cross origin redirect of cross origin iframe: Send Sec-Required-CSP Header on change of `src` attribute on iframe.": {
          "stNum": 13,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: Child iframes have unexpected csp:\"null\" Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Test Required-CSP value on `csp` change: Send Sec-Required-CSP Header on change of `src` attribute on iframe.": {
          "stNum": 14,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected (string) \"script-src 'unsafe-inline'\" but got (object) null"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Test same origin: Wrong value of `csp` should not trigger sending Sec-Required-CSP Header - gibberish csp": {
          "stNum": 15,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test same origin redirect: Wrong value of `csp` should not trigger sending Sec-Required-CSP Header - gibberish csp": {
          "stNum": 16,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test cross origin redirect: Wrong value of `csp` should not trigger sending Sec-Required-CSP Header - gibberish csp": {
          "stNum": 17,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test cross origin redirect of cross origin iframe: Wrong value of `csp` should not trigger sending Sec-Required-CSP Header - gibberish csp": {
          "stNum": 18,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test Required-CSP value on `csp` change: Wrong value of `csp` should not trigger sending Sec-Required-CSP Header - gibberish csp": {
          "stNum": 19,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected (string) \"default-src 'unsafe-inline'\" but got (object) null"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Test same origin: Wrong value of `csp` should not trigger sending Sec-Required-CSP Header - unknown policy name": {
          "stNum": 20,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test same origin redirect: Wrong value of `csp` should not trigger sending Sec-Required-CSP Header - unknown policy name": {
          "stNum": 21,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test cross origin redirect: Wrong value of `csp` should not trigger sending Sec-Required-CSP Header - unknown policy name": {
          "stNum": 22,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test cross origin redirect of cross origin iframe: Wrong value of `csp` should not trigger sending Sec-Required-CSP Header - unknown policy name": {
          "stNum": 23,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test Required-CSP value on `csp` change: Wrong value of `csp` should not trigger sending Sec-Required-CSP Header - unknown policy name": {
          "stNum": 24,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected (string) \"default-src 'unsafe-inline'\" but got (object) null"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Test same origin: Wrong value of `csp` should not trigger sending Sec-Required-CSP Header - unknown policy name in multiple directives": {
          "stNum": 25,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test same origin redirect: Wrong value of `csp` should not trigger sending Sec-Required-CSP Header - unknown policy name in multiple directives": {
          "stNum": 26,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test cross origin redirect: Wrong value of `csp` should not trigger sending Sec-Required-CSP Header - unknown policy name in multiple directives": {
          "stNum": 27,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test cross origin redirect of cross origin iframe: Wrong value of `csp` should not trigger sending Sec-Required-CSP Header - unknown policy name in multiple directives": {
          "stNum": 28,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test Required-CSP value on `csp` change: Wrong value of `csp` should not trigger sending Sec-Required-CSP Header - unknown policy name in multiple directives": {
          "stNum": 29,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected (string) \"default-src 'unsafe-inline'\" but got (object) null"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Test same origin: Wrong value of `csp` should not trigger sending Sec-Required-CSP Header - misspeled 'none'": {
          "stNum": 30,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test same origin redirect: Wrong value of `csp` should not trigger sending Sec-Required-CSP Header - misspeled 'none'": {
          "stNum": 31,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test cross origin redirect: Wrong value of `csp` should not trigger sending Sec-Required-CSP Header - misspeled 'none'": {
          "stNum": 32,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test cross origin redirect of cross origin iframe: Wrong value of `csp` should not trigger sending Sec-Required-CSP Header - misspeled 'none'": {
          "stNum": 33,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test Required-CSP value on `csp` change: Wrong value of `csp` should not trigger sending Sec-Required-CSP Header - misspeled 'none'": {
          "stNum": 34,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected (string) \"default-src 'unsafe-inline'\" but got (object) null"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Test same origin: Wrong value of `csp` should not trigger sending Sec-Required-CSP Header - query values in path": {
          "stNum": 35,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test same origin redirect: Wrong value of `csp` should not trigger sending Sec-Required-CSP Header - query values in path": {
          "stNum": 36,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test cross origin redirect: Wrong value of `csp` should not trigger sending Sec-Required-CSP Header - query values in path": {
          "stNum": 37,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test cross origin redirect of cross origin iframe: Wrong value of `csp` should not trigger sending Sec-Required-CSP Header - query values in path": {
          "stNum": 38,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test Required-CSP value on `csp` change: Wrong value of `csp` should not trigger sending Sec-Required-CSP Header - query values in path": {
          "stNum": 39,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected (string) \"default-src 'unsafe-inline'\" but got (object) null"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Test same origin: Wrong value of `csp` should not trigger sending Sec-Required-CSP Header - missing semicolon": {
          "stNum": 40,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test same origin redirect: Wrong value of `csp` should not trigger sending Sec-Required-CSP Header - missing semicolon": {
          "stNum": 41,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test cross origin redirect: Wrong value of `csp` should not trigger sending Sec-Required-CSP Header - missing semicolon": {
          "stNum": 42,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test cross origin redirect of cross origin iframe: Wrong value of `csp` should not trigger sending Sec-Required-CSP Header - missing semicolon": {
          "stNum": 43,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test Required-CSP value on `csp` change: Wrong value of `csp` should not trigger sending Sec-Required-CSP Header - missing semicolon": {
          "stNum": 44,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected (string) \"default-src 'unsafe-inline'\" but got (object) null"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Test same origin: Wrong value of `csp` should not trigger sending Sec-Required-CSP Header - comma separated": {
          "stNum": 45,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test same origin redirect: Wrong value of `csp` should not trigger sending Sec-Required-CSP Header - comma separated": {
          "stNum": 46,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test cross origin redirect: Wrong value of `csp` should not trigger sending Sec-Required-CSP Header - comma separated": {
          "stNum": 47,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test cross origin redirect of cross origin iframe: Wrong value of `csp` should not trigger sending Sec-Required-CSP Header - comma separated": {
          "stNum": 48,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test Required-CSP value on `csp` change: Wrong value of `csp` should not trigger sending Sec-Required-CSP Header - comma separated": {
          "stNum": 49,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected (string) \"default-src 'unsafe-inline'\" but got (object) null"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Test same origin: Wrong value of `csp` should not trigger sending Sec-Required-CSP Header - html encoded string": {
          "stNum": 50,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test same origin redirect: Wrong value of `csp` should not trigger sending Sec-Required-CSP Header - html encoded string": {
          "stNum": 51,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test cross origin redirect: Wrong value of `csp` should not trigger sending Sec-Required-CSP Header - html encoded string": {
          "stNum": 52,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test cross origin redirect of cross origin iframe: Wrong value of `csp` should not trigger sending Sec-Required-CSP Header - html encoded string": {
          "stNum": 53,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test Required-CSP value on `csp` change: Wrong value of `csp` should not trigger sending Sec-Required-CSP Header - html encoded string": {
          "stNum": 54,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected (string) \"default-src 'unsafe-inline'\" but got (object) null"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Test same origin: Wrong value of `csp` should not trigger sending Sec-Required-CSP Header - url encoded string": {
          "stNum": 55,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test same origin redirect: Wrong value of `csp` should not trigger sending Sec-Required-CSP Header - url encoded string": {
          "stNum": 56,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test cross origin redirect: Wrong value of `csp` should not trigger sending Sec-Required-CSP Header - url encoded string": {
          "stNum": 57,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test cross origin redirect of cross origin iframe: Wrong value of `csp` should not trigger sending Sec-Required-CSP Header - url encoded string": {
          "stNum": 58,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test Required-CSP value on `csp` change: Wrong value of `csp` should not trigger sending Sec-Required-CSP Header - url encoded string": {
          "stNum": 59,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected (string) \"default-src 'unsafe-inline'\" but got (object) null"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Test same origin: Wrong value of `csp` should not trigger sending Sec-Required-CSP Header - report-uri present": {
          "stNum": 60,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test same origin redirect: Wrong value of `csp` should not trigger sending Sec-Required-CSP Header - report-uri present": {
          "stNum": 61,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test cross origin redirect: Wrong value of `csp` should not trigger sending Sec-Required-CSP Header - report-uri present": {
          "stNum": 62,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test cross origin redirect of cross origin iframe: Wrong value of `csp` should not trigger sending Sec-Required-CSP Header - report-uri present": {
          "stNum": 63,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test Required-CSP value on `csp` change: Wrong value of `csp` should not trigger sending Sec-Required-CSP Header - report-uri present": {
          "stNum": 64,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected (string) \"default-src 'unsafe-inline'\" but got (object) null"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Test same origin: Wrong value of `csp` should not trigger sending Sec-Required-CSP Header - report-to present": {
          "stNum": 65,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test same origin redirect: Wrong value of `csp` should not trigger sending Sec-Required-CSP Header - report-to present": {
          "stNum": 66,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test cross origin redirect: Wrong value of `csp` should not trigger sending Sec-Required-CSP Header - report-to present": {
          "stNum": 67,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test cross origin redirect of cross origin iframe: Wrong value of `csp` should not trigger sending Sec-Required-CSP Header - report-to present": {
          "stNum": 68,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Test Required-CSP value on `csp` change: Wrong value of `csp` should not trigger sending Sec-Required-CSP Header - report-to present": {
          "stNum": 69,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected (string) \"default-src 'unsafe-inline'\" but got (object) null"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/frame-src/frame-src-about-blank-allowed-by-default.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"PASS\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/plugin-types/plugintypes-nourl-blocked.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Should not load the object because it does not match plugin-types": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"plugin-types\" but got \"plugin-types application/pdf\""
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/frame-ancestors/frame-ancestors-url-allow.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "A 'frame-ancestors' CSP directive with a URL matching this origin should allow rendering.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/script-src/hash-always-converted-to-utf-8/iso-8859-1.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Should convert the script contents to UTF-8 before hashing": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_unreached: Should not have fired a spv Reached unreachable code"
          },
          "totals": {
            "FAIL": 1
          }
        }
      }
    },
    "/content-security-policy/script-src/script-src-1_10.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Test that securitypolicyviolation event is fired": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_equals: expected \"script-src\" but got \"default-src 'self' 'unsafe-inline'\""
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Verify that data: as script src doesn't run with this policy": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/font-src/font-mismatch-blocked.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Test font does not load if it does not match font-src.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/prefetch-src/prefetch-header-blocked.html": {
      "byUA": {
        "Ed18": "TIMEOUT"
      },
      "UAmessage": {},
      "totals": {
        "TIMEOUT": 1
      },
      "subtests": {
        "Browser supports prefetch.": {
          "stNum": 0,
          "byUA": {
            "Ed18": "FAIL"
          },
          "UAmessage": {
            "Ed18": "assert_true: expected true got false"
          },
          "totals": {
            "FAIL": 1
          }
        },
        "Browser supports performance APIs.": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "Prefetch via `Link` header succeeds when allowed by prefetch-src": {
          "stNum": 2,
          "byUA": {
            "Ed18": "TIMEOUT"
          },
          "UAmessage": {
            "Ed18": "Test timed out"
          },
          "totals": {
            "TIMEOUT": 1
          }
        }
      }
    },
    "/content-security-policy/img-src/img-src-4_1.sub.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "img-src for relative path should load": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "img-src from unapproved domains should not load": {
          "stNum": 1,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        },
        "img-src from approved domains should load": {
          "stNum": 2,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    },
    "/content-security-policy/svg/svg-policy-resource-doc-includes.html": {
      "byUA": {
        "Ed18": "OK"
      },
      "UAmessage": {},
      "totals": {
        "OK": 1
      },
      "subtests": {
        "Expecting logs: [\"TEST COMPLETE\"]": {
          "stNum": 0,
          "byUA": {
            "Ed18": "PASS"
          },
          "UAmessage": {},
          "totals": {
            "PASS": 1
          }
        }
      }
    }
  }
}