Bug 1187720 - Update web-platform-tests to revision 4bc69f287365a67585d470300a2ef109689cf465, a=testonly
authorJames Graham <james@hoppipolla.co.uk>
Tue, 21 Jul 2015 17:26:08 +0100
changeset 286266 0a00ee27eec742595157b1a73b92f6865c99a1b7
parent 286265 0b9c5b61446dca95201b828c1b89a1c7c87f6775
child 286267 a3218dcdc2a1d7a9ecb7eecbf815e52236123802
push id5067
push userraliiev@mozilla.com
push dateMon, 21 Sep 2015 14:04:52 +0000
treeherdermozilla-beta@14221ffe5b2f [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerstestonly
bugs1187720
milestone42.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1187720 - Update web-platform-tests to revision 4bc69f287365a67585d470300a2ef109689cf465, a=testonly
testing/web-platform/meta/MANIFEST.json
testing/web-platform/meta/mixed-content/__dir__.ini
testing/web-platform/meta/mozilla-sync
testing/web-platform/meta/old-tests/submission/Opera/script_scheduling/111.html.ini
testing/web-platform/tests/.travis.yml
testing/web-platform/tests/FileAPI/blob/Blob-constructor.html
testing/web-platform/tests/FileAPI/idlharness.html
testing/web-platform/tests/FileAPI/idlharness.idl
testing/web-platform/tests/FileAPI/idlharness.worker.js
testing/web-platform/tests/WebIDL/ecmascript-binding/es-exceptions/DOMException-constructor.html
testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/571-haswarn.html
testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/571.html
testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/572-haswarn.html
testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/572.html
testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/573-haswarn.html
testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/573.html
testing/web-platform/tests/conformance-checkers/html-aria/combobox-autocomplete-list/div-haswarn.html
testing/web-platform/tests/conformance-checkers/html-aria/combobox-autocomplete-list/div.html
testing/web-platform/tests/conformance-checkers/html-aria/host-language/implicit-semantics-checkbox-disparity-haswarn.html
testing/web-platform/tests/conformance-checkers/html-aria/host-language/implicit-semantics-checkbox-disparity.html
testing/web-platform/tests/conformance-checkers/html-aria/host-language/implicit-semantics-checkbox-role-haswarn.html
testing/web-platform/tests/conformance-checkers/html-aria/host-language/implicit-semantics-checkbox-role.html
testing/web-platform/tests/conformance-checkers/messages.json
testing/web-platform/tests/content-security-policy/blink-contrib/resources/alert-pass.js
testing/web-platform/tests/content-security-policy/blink-contrib/resources/child-src-test.js
testing/web-platform/tests/content-security-policy/blink-contrib/resources/dump-as-text.js
testing/web-platform/tests/content-security-policy/blink-contrib/resources/frame-ancestors-test.js
testing/web-platform/tests/content-security-policy/blink-contrib/resources/mixed-content-with-csp.html
testing/web-platform/tests/content-security-policy/blink-contrib/resources/multiple-iframe-plugin-test.js
testing/web-platform/tests/content-security-policy/blink-contrib/resources/multiple-iframe-test.js
testing/web-platform/tests/content-security-policy/blink-contrib/resources/referrer-test.js
testing/web-platform/tests/content-security-policy/blink-contrib/resources/reflected-xss-and-xss-protection.js
testing/web-platform/tests/content-security-policy/blink-contrib/resources/script-src.html
testing/web-platform/tests/content-security-policy/blink-contrib/resources/securitypolicy-tests-base.js
testing/web-platform/tests/content-security-policy/blink-contrib/resources/securitypolicyviolation-test.js
testing/web-platform/tests/content-security-policy/blink-contrib/resources/shared-worker-make-xhr.js
testing/web-platform/tests/content-security-policy/blink-contrib/resources/style.xsl
testing/web-platform/tests/content-security-policy/blink-contrib/resources/transform-to-img.xsl
testing/web-platform/tests/dom/nodes/Element-matches.html
testing/web-platform/tests/dom/nodes/Node-isEqualNode.xhtml
testing/web-platform/tests/dom/nodes/Node-lookupNamespaceURI.html
testing/web-platform/tests/dom/nodes/ParentNode-querySelector-All.html
testing/web-platform/tests/dom/nodes/ParentNode-querySelector-All.js
testing/web-platform/tests/dom/nodes/ParentNode-querySelector-All.xht
testing/web-platform/tests/dom/ranges/Range-cloneContents.html
testing/web-platform/tests/html/rendering/non-replaced-elements/the-fieldset-element-0/min-width-not-important.html
testing/web-platform/tests/html/rendering/non-replaced-elements/the-fieldset-element-0/ref.html
testing/web-platform/tests/html/semantics/forms/constraints/form-validation-validity-stepMismatch.html
testing/web-platform/tests/html/semantics/forms/the-label-element/label-attributes.html
testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/audio-tag/top-level/keep-scheme-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/audio-tag/top-level/no-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/fetch-request/top-level/keep-scheme-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/fetch-request/top-level/no-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/form-tag/top-level/keep-scheme-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/form-tag/top-level/no-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/iframe-tag/top-level/keep-scheme-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/iframe-tag/top-level/no-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/img-tag/top-level/keep-scheme-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/img-tag/top-level/no-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/link-css-tag/top-level/keep-scheme-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/link-css-tag/top-level/no-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/link-prefetch-tag/top-level/keep-scheme-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/link-prefetch-tag/top-level/no-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/object-tag/top-level/keep-scheme-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/object-tag/top-level/no-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/picture-tag/top-level/keep-scheme-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/picture-tag/top-level/no-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/script-tag/top-level/keep-scheme-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/script-tag/top-level/no-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/video-tag/top-level/keep-scheme-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/video-tag/top-level/no-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/worker-request/top-level/keep-scheme-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/worker-request/top-level/no-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/xhr-request/top-level/keep-scheme-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/xhr-request/top-level/no-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/meta-csp/same-host-https/audio-tag/top-level/no-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/meta-csp/same-host-https/fetch-request/top-level/no-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/meta-csp/same-host-https/form-tag/top-level/no-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/meta-csp/same-host-https/iframe-tag/top-level/no-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/meta-csp/same-host-https/img-tag/top-level/no-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/meta-csp/same-host-https/link-css-tag/top-level/no-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/meta-csp/same-host-https/link-prefetch-tag/top-level/no-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/meta-csp/same-host-https/object-tag/top-level/no-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/meta-csp/same-host-https/picture-tag/top-level/no-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/meta-csp/same-host-https/script-tag/top-level/no-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/meta-csp/same-host-https/video-tag/top-level/no-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/meta-csp/same-host-https/worker-request/top-level/no-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/meta-csp/same-host-https/xhr-request/top-level/no-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/no-opt-in/same-host-https/audio-tag/top-level/keep-scheme-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/no-opt-in/same-host-https/audio-tag/top-level/no-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/no-opt-in/same-host-https/fetch-request/top-level/keep-scheme-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/no-opt-in/same-host-https/fetch-request/top-level/no-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/no-opt-in/same-host-https/form-tag/top-level/keep-scheme-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/no-opt-in/same-host-https/form-tag/top-level/no-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/no-opt-in/same-host-https/iframe-tag/top-level/keep-scheme-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/no-opt-in/same-host-https/iframe-tag/top-level/no-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/no-opt-in/same-host-https/img-tag/top-level/keep-scheme-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/no-opt-in/same-host-https/img-tag/top-level/no-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/no-opt-in/same-host-https/link-css-tag/top-level/keep-scheme-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/no-opt-in/same-host-https/link-css-tag/top-level/no-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/no-opt-in/same-host-https/link-prefetch-tag/top-level/keep-scheme-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/no-opt-in/same-host-https/link-prefetch-tag/top-level/no-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/no-opt-in/same-host-https/object-tag/top-level/keep-scheme-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/no-opt-in/same-host-https/object-tag/top-level/no-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/no-opt-in/same-host-https/picture-tag/top-level/keep-scheme-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/no-opt-in/same-host-https/picture-tag/top-level/no-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/no-opt-in/same-host-https/script-tag/top-level/keep-scheme-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/no-opt-in/same-host-https/script-tag/top-level/no-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/no-opt-in/same-host-https/video-tag/top-level/keep-scheme-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/no-opt-in/same-host-https/video-tag/top-level/no-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/no-opt-in/same-host-https/worker-request/top-level/keep-scheme-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/no-opt-in/same-host-https/worker-request/top-level/no-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/no-opt-in/same-host-https/xhr-request/top-level/keep-scheme-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/allowed/no-opt-in/same-host-https/xhr-request/top-level/no-redirect/allowed.https.html
testing/web-platform/tests/mixed-content/blockable/http-csp/cross-origin-http/fetch-request/top-level/keep-scheme-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/http-csp/cross-origin-http/fetch-request/top-level/no-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/http-csp/cross-origin-http/fetch-request/top-level/swap-scheme-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/http-csp/cross-origin-http/form-tag/top-level/keep-scheme-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/http-csp/cross-origin-http/form-tag/top-level/no-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/http-csp/cross-origin-http/form-tag/top-level/swap-scheme-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/http-csp/cross-origin-http/iframe-tag/top-level/keep-scheme-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/http-csp/cross-origin-http/iframe-tag/top-level/no-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/http-csp/cross-origin-http/iframe-tag/top-level/swap-scheme-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/http-csp/cross-origin-http/link-css-tag/top-level/keep-scheme-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/http-csp/cross-origin-http/link-css-tag/top-level/no-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/http-csp/cross-origin-http/link-css-tag/top-level/swap-scheme-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/http-csp/cross-origin-http/object-tag/top-level/keep-scheme-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/http-csp/cross-origin-http/object-tag/top-level/no-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/http-csp/cross-origin-http/object-tag/top-level/swap-scheme-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/http-csp/cross-origin-http/picture-tag/top-level/keep-scheme-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/http-csp/cross-origin-http/picture-tag/top-level/no-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/http-csp/cross-origin-http/picture-tag/top-level/swap-scheme-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/http-csp/cross-origin-http/script-tag/top-level/keep-scheme-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/http-csp/cross-origin-http/script-tag/top-level/no-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/http-csp/cross-origin-http/script-tag/top-level/swap-scheme-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/http-csp/cross-origin-http/worker-request/top-level/keep-scheme-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/http-csp/cross-origin-http/worker-request/top-level/no-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/http-csp/cross-origin-http/worker-request/top-level/swap-scheme-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/http-csp/cross-origin-http/xhr-request/top-level/keep-scheme-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/http-csp/cross-origin-http/xhr-request/top-level/no-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/http-csp/cross-origin-http/xhr-request/top-level/swap-scheme-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/http-csp/same-host-http/fetch-request/top-level/keep-scheme-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/http-csp/same-host-http/fetch-request/top-level/no-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/http-csp/same-host-http/fetch-request/top-level/swap-scheme-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/http-csp/same-host-http/form-tag/top-level/keep-scheme-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/http-csp/same-host-http/form-tag/top-level/no-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/http-csp/same-host-http/form-tag/top-level/swap-scheme-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/http-csp/same-host-http/iframe-tag/top-level/keep-scheme-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/http-csp/same-host-http/iframe-tag/top-level/no-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/http-csp/same-host-http/iframe-tag/top-level/swap-scheme-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/http-csp/same-host-http/link-css-tag/top-level/keep-scheme-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/http-csp/same-host-http/link-css-tag/top-level/no-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/http-csp/same-host-http/link-css-tag/top-level/swap-scheme-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/http-csp/same-host-http/object-tag/top-level/keep-scheme-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/http-csp/same-host-http/object-tag/top-level/no-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/http-csp/same-host-http/object-tag/top-level/swap-scheme-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/http-csp/same-host-http/picture-tag/top-level/keep-scheme-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/http-csp/same-host-http/picture-tag/top-level/no-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/http-csp/same-host-http/picture-tag/top-level/swap-scheme-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/http-csp/same-host-http/script-tag/top-level/keep-scheme-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/http-csp/same-host-http/script-tag/top-level/no-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/http-csp/same-host-http/script-tag/top-level/swap-scheme-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/http-csp/same-host-http/worker-request/top-level/keep-scheme-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/http-csp/same-host-http/worker-request/top-level/no-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/http-csp/same-host-http/worker-request/top-level/swap-scheme-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/http-csp/same-host-http/xhr-request/top-level/keep-scheme-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/http-csp/same-host-http/xhr-request/top-level/no-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/http-csp/same-host-http/xhr-request/top-level/swap-scheme-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/meta-csp/cross-origin-http/fetch-request/top-level/no-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/meta-csp/cross-origin-http/form-tag/top-level/no-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/meta-csp/cross-origin-http/iframe-tag/top-level/no-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/meta-csp/cross-origin-http/link-css-tag/top-level/no-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/meta-csp/cross-origin-http/object-tag/top-level/no-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/meta-csp/cross-origin-http/picture-tag/top-level/no-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/meta-csp/cross-origin-http/script-tag/top-level/no-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/meta-csp/cross-origin-http/worker-request/top-level/no-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/meta-csp/cross-origin-http/xhr-request/top-level/no-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/meta-csp/same-host-http/fetch-request/top-level/no-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/meta-csp/same-host-http/form-tag/top-level/no-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/meta-csp/same-host-http/iframe-tag/top-level/no-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/meta-csp/same-host-http/link-css-tag/top-level/no-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/meta-csp/same-host-http/object-tag/top-level/no-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/meta-csp/same-host-http/picture-tag/top-level/no-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/meta-csp/same-host-http/script-tag/top-level/no-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/meta-csp/same-host-http/worker-request/top-level/no-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/meta-csp/same-host-http/xhr-request/top-level/no-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/no-opt-in/cross-origin-http/fetch-request/top-level/keep-scheme-redirect/no-opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/no-opt-in/cross-origin-http/fetch-request/top-level/no-redirect/no-opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/no-opt-in/cross-origin-http/fetch-request/top-level/swap-scheme-redirect/no-opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/no-opt-in/cross-origin-http/form-tag/top-level/keep-scheme-redirect/no-opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/no-opt-in/cross-origin-http/form-tag/top-level/no-redirect/no-opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/no-opt-in/cross-origin-http/form-tag/top-level/swap-scheme-redirect/no-opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/no-opt-in/cross-origin-http/iframe-tag/top-level/keep-scheme-redirect/no-opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/no-opt-in/cross-origin-http/iframe-tag/top-level/no-redirect/no-opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/no-opt-in/cross-origin-http/iframe-tag/top-level/swap-scheme-redirect/no-opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/no-opt-in/cross-origin-http/link-css-tag/top-level/keep-scheme-redirect/no-opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/no-opt-in/cross-origin-http/link-css-tag/top-level/no-redirect/no-opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/no-opt-in/cross-origin-http/link-css-tag/top-level/swap-scheme-redirect/no-opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/no-opt-in/cross-origin-http/object-tag/top-level/keep-scheme-redirect/no-opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/no-opt-in/cross-origin-http/object-tag/top-level/no-redirect/no-opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/no-opt-in/cross-origin-http/object-tag/top-level/swap-scheme-redirect/no-opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/no-opt-in/cross-origin-http/picture-tag/top-level/keep-scheme-redirect/no-opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/no-opt-in/cross-origin-http/picture-tag/top-level/no-redirect/no-opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/no-opt-in/cross-origin-http/picture-tag/top-level/swap-scheme-redirect/no-opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/no-opt-in/cross-origin-http/script-tag/top-level/keep-scheme-redirect/no-opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/no-opt-in/cross-origin-http/script-tag/top-level/no-redirect/no-opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/no-opt-in/cross-origin-http/script-tag/top-level/swap-scheme-redirect/no-opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/no-opt-in/cross-origin-http/worker-request/top-level/keep-scheme-redirect/no-opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/no-opt-in/cross-origin-http/worker-request/top-level/no-redirect/no-opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/no-opt-in/cross-origin-http/worker-request/top-level/swap-scheme-redirect/no-opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/no-opt-in/cross-origin-http/xhr-request/top-level/keep-scheme-redirect/no-opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/no-opt-in/cross-origin-http/xhr-request/top-level/no-redirect/no-opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/no-opt-in/cross-origin-http/xhr-request/top-level/swap-scheme-redirect/no-opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/no-opt-in/same-host-http/fetch-request/top-level/keep-scheme-redirect/no-opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/no-opt-in/same-host-http/fetch-request/top-level/no-redirect/no-opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/no-opt-in/same-host-http/fetch-request/top-level/swap-scheme-redirect/no-opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/no-opt-in/same-host-http/form-tag/top-level/keep-scheme-redirect/no-opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/no-opt-in/same-host-http/form-tag/top-level/no-redirect/no-opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/no-opt-in/same-host-http/form-tag/top-level/swap-scheme-redirect/no-opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/no-opt-in/same-host-http/iframe-tag/top-level/keep-scheme-redirect/no-opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/no-opt-in/same-host-http/iframe-tag/top-level/no-redirect/no-opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/no-opt-in/same-host-http/iframe-tag/top-level/swap-scheme-redirect/no-opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/no-opt-in/same-host-http/link-css-tag/top-level/keep-scheme-redirect/no-opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/no-opt-in/same-host-http/link-css-tag/top-level/no-redirect/no-opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/no-opt-in/same-host-http/link-css-tag/top-level/swap-scheme-redirect/no-opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/no-opt-in/same-host-http/object-tag/top-level/keep-scheme-redirect/no-opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/no-opt-in/same-host-http/object-tag/top-level/no-redirect/no-opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/no-opt-in/same-host-http/object-tag/top-level/swap-scheme-redirect/no-opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/no-opt-in/same-host-http/picture-tag/top-level/keep-scheme-redirect/no-opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/no-opt-in/same-host-http/picture-tag/top-level/no-redirect/no-opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/no-opt-in/same-host-http/picture-tag/top-level/swap-scheme-redirect/no-opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/no-opt-in/same-host-http/script-tag/top-level/keep-scheme-redirect/no-opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/no-opt-in/same-host-http/script-tag/top-level/no-redirect/no-opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/no-opt-in/same-host-http/script-tag/top-level/swap-scheme-redirect/no-opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/no-opt-in/same-host-http/worker-request/top-level/keep-scheme-redirect/no-opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/no-opt-in/same-host-http/worker-request/top-level/no-redirect/no-opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/no-opt-in/same-host-http/worker-request/top-level/swap-scheme-redirect/no-opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/no-opt-in/same-host-http/xhr-request/top-level/keep-scheme-redirect/no-opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/no-opt-in/same-host-http/xhr-request/top-level/no-redirect/no-opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/blockable/no-opt-in/same-host-http/xhr-request/top-level/swap-scheme-redirect/no-opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/generic/common.js
testing/web-platform/tests/mixed-content/generic/mixed-content-test-case.js
testing/web-platform/tests/mixed-content/generic/sanity-checker.js
testing/web-platform/tests/mixed-content/optionally-blockable/http-csp/cross-origin-http/audio-tag/top-level/keep-scheme-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/optionally-blockable/http-csp/cross-origin-http/audio-tag/top-level/no-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/optionally-blockable/http-csp/cross-origin-http/audio-tag/top-level/swap-scheme-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/optionally-blockable/http-csp/cross-origin-http/img-tag/top-level/keep-scheme-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/optionally-blockable/http-csp/cross-origin-http/img-tag/top-level/no-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/optionally-blockable/http-csp/cross-origin-http/img-tag/top-level/swap-scheme-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/optionally-blockable/http-csp/cross-origin-http/link-prefetch-tag/top-level/keep-scheme-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/optionally-blockable/http-csp/cross-origin-http/link-prefetch-tag/top-level/no-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/optionally-blockable/http-csp/cross-origin-http/link-prefetch-tag/top-level/swap-scheme-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/optionally-blockable/http-csp/cross-origin-http/video-tag/top-level/keep-scheme-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/optionally-blockable/http-csp/cross-origin-http/video-tag/top-level/no-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/optionally-blockable/http-csp/cross-origin-http/video-tag/top-level/swap-scheme-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/optionally-blockable/http-csp/same-host-http/audio-tag/top-level/keep-scheme-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/optionally-blockable/http-csp/same-host-http/audio-tag/top-level/no-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/optionally-blockable/http-csp/same-host-http/audio-tag/top-level/swap-scheme-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/optionally-blockable/http-csp/same-host-http/img-tag/top-level/keep-scheme-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/optionally-blockable/http-csp/same-host-http/img-tag/top-level/no-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/optionally-blockable/http-csp/same-host-http/img-tag/top-level/swap-scheme-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/optionally-blockable/http-csp/same-host-http/link-prefetch-tag/top-level/keep-scheme-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/optionally-blockable/http-csp/same-host-http/link-prefetch-tag/top-level/no-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/optionally-blockable/http-csp/same-host-http/link-prefetch-tag/top-level/swap-scheme-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/optionally-blockable/http-csp/same-host-http/video-tag/top-level/keep-scheme-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/optionally-blockable/http-csp/same-host-http/video-tag/top-level/no-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/optionally-blockable/http-csp/same-host-http/video-tag/top-level/swap-scheme-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/optionally-blockable/meta-csp/cross-origin-http/audio-tag/top-level/no-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/optionally-blockable/meta-csp/cross-origin-http/img-tag/top-level/no-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/optionally-blockable/meta-csp/cross-origin-http/link-prefetch-tag/top-level/no-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/optionally-blockable/meta-csp/cross-origin-http/video-tag/top-level/no-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/optionally-blockable/meta-csp/same-host-http/audio-tag/top-level/no-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/optionally-blockable/meta-csp/same-host-http/img-tag/top-level/no-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/optionally-blockable/meta-csp/same-host-http/link-prefetch-tag/top-level/no-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/optionally-blockable/meta-csp/same-host-http/video-tag/top-level/no-redirect/opt-in-blocks.https.html
testing/web-platform/tests/mixed-content/optionally-blockable/no-opt-in/cross-origin-http/audio-tag/top-level/keep-scheme-redirect/no-opt-in-allows.https.html
testing/web-platform/tests/mixed-content/optionally-blockable/no-opt-in/cross-origin-http/audio-tag/top-level/no-redirect/no-opt-in-allows.https.html
testing/web-platform/tests/mixed-content/optionally-blockable/no-opt-in/cross-origin-http/audio-tag/top-level/swap-scheme-redirect/no-opt-in-allows.https.html
testing/web-platform/tests/mixed-content/optionally-blockable/no-opt-in/cross-origin-http/img-tag/top-level/keep-scheme-redirect/no-opt-in-allows.https.html
testing/web-platform/tests/mixed-content/optionally-blockable/no-opt-in/cross-origin-http/img-tag/top-level/no-redirect/no-opt-in-allows.https.html
testing/web-platform/tests/mixed-content/optionally-blockable/no-opt-in/cross-origin-http/img-tag/top-level/swap-scheme-redirect/no-opt-in-allows.https.html
testing/web-platform/tests/mixed-content/optionally-blockable/no-opt-in/cross-origin-http/link-prefetch-tag/top-level/keep-scheme-redirect/no-opt-in-allows.https.html
testing/web-platform/tests/mixed-content/optionally-blockable/no-opt-in/cross-origin-http/link-prefetch-tag/top-level/no-redirect/no-opt-in-allows.https.html
testing/web-platform/tests/mixed-content/optionally-blockable/no-opt-in/cross-origin-http/link-prefetch-tag/top-level/swap-scheme-redirect/no-opt-in-allows.https.html
testing/web-platform/tests/mixed-content/optionally-blockable/no-opt-in/cross-origin-http/video-tag/top-level/keep-scheme-redirect/no-opt-in-allows.https.html
testing/web-platform/tests/mixed-content/optionally-blockable/no-opt-in/cross-origin-http/video-tag/top-level/no-redirect/no-opt-in-allows.https.html
testing/web-platform/tests/mixed-content/optionally-blockable/no-opt-in/cross-origin-http/video-tag/top-level/swap-scheme-redirect/no-opt-in-allows.https.html
testing/web-platform/tests/mixed-content/optionally-blockable/no-opt-in/same-host-http/audio-tag/top-level/keep-scheme-redirect/no-opt-in-allows.https.html
testing/web-platform/tests/mixed-content/optionally-blockable/no-opt-in/same-host-http/audio-tag/top-level/no-redirect/no-opt-in-allows.https.html
testing/web-platform/tests/mixed-content/optionally-blockable/no-opt-in/same-host-http/audio-tag/top-level/swap-scheme-redirect/no-opt-in-allows.https.html
testing/web-platform/tests/mixed-content/optionally-blockable/no-opt-in/same-host-http/img-tag/top-level/keep-scheme-redirect/no-opt-in-allows.https.html
testing/web-platform/tests/mixed-content/optionally-blockable/no-opt-in/same-host-http/img-tag/top-level/no-redirect/no-opt-in-allows.https.html
testing/web-platform/tests/mixed-content/optionally-blockable/no-opt-in/same-host-http/img-tag/top-level/swap-scheme-redirect/no-opt-in-allows.https.html
testing/web-platform/tests/mixed-content/optionally-blockable/no-opt-in/same-host-http/link-prefetch-tag/top-level/keep-scheme-redirect/no-opt-in-allows.https.html
testing/web-platform/tests/mixed-content/optionally-blockable/no-opt-in/same-host-http/link-prefetch-tag/top-level/no-redirect/no-opt-in-allows.https.html
testing/web-platform/tests/mixed-content/optionally-blockable/no-opt-in/same-host-http/link-prefetch-tag/top-level/swap-scheme-redirect/no-opt-in-allows.https.html
testing/web-platform/tests/mixed-content/optionally-blockable/no-opt-in/same-host-http/video-tag/top-level/keep-scheme-redirect/no-opt-in-allows.https.html
testing/web-platform/tests/mixed-content/optionally-blockable/no-opt-in/same-host-http/video-tag/top-level/no-redirect/no-opt-in-allows.https.html
testing/web-platform/tests/mixed-content/optionally-blockable/no-opt-in/same-host-http/video-tag/top-level/swap-scheme-redirect/no-opt-in-allows.https.html
testing/web-platform/tests/notifications/Notification-permission.html
testing/web-platform/tests/notifications/Notification-requestPermission-denied-manual.html
testing/web-platform/tests/notifications/Notification-requestPermission-granted-manual.html
testing/web-platform/tests/notifications/README.md
testing/web-platform/tests/notifications/body-basic-manual.html
testing/web-platform/tests/notifications/body-empty-manual.html
testing/web-platform/tests/notifications/common.js
testing/web-platform/tests/notifications/constructor-basic.html
testing/web-platform/tests/notifications/constructor-invalid.html
testing/web-platform/tests/notifications/event-onclick-manual.html
testing/web-platform/tests/notifications/event-onclose.html
testing/web-platform/tests/notifications/event-onerror-default-manual.html
testing/web-platform/tests/notifications/event-onerror-denied-manual.html
testing/web-platform/tests/notifications/event-onshow.html
testing/web-platform/tests/notifications/icon-basic-manual.html
testing/web-platform/tests/notifications/icon-empty-manual.html
testing/web-platform/tests/notifications/instance.html
testing/web-platform/tests/notifications/interfaces.html
testing/web-platform/tests/notifications/lang.html
testing/web-platform/tests/notifications/notification-body-basic-manual.html
testing/web-platform/tests/notifications/notification-body-empty-manual.html
testing/web-platform/tests/notifications/notification-close-manual.html
testing/web-platform/tests/notifications/notification-constructor-basic.html
testing/web-platform/tests/notifications/notification-constructor-invalid.html
testing/web-platform/tests/notifications/notification-dir-auto-manual.html
testing/web-platform/tests/notifications/notification-dir-ltr-manual.html
testing/web-platform/tests/notifications/notification-dir-rtl-manual.html
testing/web-platform/tests/notifications/notification-icon-basic-manual.html
testing/web-platform/tests/notifications/notification-icon-empty-manual.html
testing/web-platform/tests/notifications/notification-lang.html
testing/web-platform/tests/notifications/notification-tag-different-manual.html
testing/web-platform/tests/notifications/notification-tag-same-manual.html
testing/web-platform/tests/notifications/permission.html
testing/web-platform/tests/notifications/requestPermission-denied-manual.html
testing/web-platform/tests/notifications/requestPermission-granted-manual.html
testing/web-platform/tests/notifications/tag-different-manual.html
testing/web-platform/tests/notifications/tag-same-manual.html
testing/web-platform/tests/referrer-policy/generic/common.js
testing/web-platform/tests/resources/docs/api.md
testing/web-platform/tests/resources/testharness.js
testing/web-platform/tests/selectors-api/tests/submissions/Opera/ParentNode-query-queryAll.html
testing/web-platform/tests/selectors-api/tests/submissions/Opera/ParentNode-query-queryAll.js
testing/web-platform/tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-002.html
testing/web-platform/tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-003.html
testing/web-platform/tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-004.html
testing/web-platform/tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-005.html
testing/web-platform/tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-006.html
testing/web-platform/tests/shadow-dom/html-elements-and-their-shadow-trees/test-004.html
testing/web-platform/tests/shadow-dom/shadow-trees/content-pseudo-element/test-001.html
testing/web-platform/tests/shadow-dom/shadow-trees/content-pseudo-element/test-002.html
testing/web-platform/tests/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-002-ref.html
testing/web-platform/tests/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-002.html
testing/web-platform/tests/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-003-ref.html
testing/web-platform/tests/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-003.html
testing/web-platform/tests/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-004-ref.html
testing/web-platform/tests/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-004.html
testing/web-platform/tests/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-005-ref.html
testing/web-platform/tests/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-005.html
testing/web-platform/tests/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-006-ref.html
testing/web-platform/tests/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-006.html
testing/web-platform/tests/shadow-dom/shadow-trees/hosting-multiple-shadow-trees/test-001.html
testing/web-platform/tests/shadow-dom/shadow-trees/hosting-multiple-shadow-trees/test-002.html
testing/web-platform/tests/shadow-dom/shadow-trees/hosting-multiple-shadow-trees/test-003.html
testing/web-platform/tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-006.html
testing/web-platform/tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-007.html
testing/web-platform/tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-008.html
testing/web-platform/tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-009.html
testing/web-platform/tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-010.html
testing/web-platform/tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-011.html
testing/web-platform/tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-012.html
testing/web-platform/tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-013.html
testing/web-platform/tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-014.html
testing/web-platform/tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-015.html
testing/web-platform/tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-016.html
testing/web-platform/tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-017.html
testing/web-platform/tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-018.html
testing/web-platform/tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-019.html
testing/web-platform/tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-020.html
testing/web-platform/tests/shadow-dom/shadow-trees/text-decoration-001.html
testing/web-platform/tests/shadow-dom/styles/test-001.html
testing/web-platform/tests/shadow-dom/styles/test-002.html
testing/web-platform/tests/subresource-integrity/alternate.css
testing/web-platform/tests/subresource-integrity/subresource-integrity.html
testing/web-platform/tests/websockets/interfaces/WebSocket/url/resolve.html
--- a/testing/web-platform/meta/MANIFEST.json
+++ b/testing/web-platform/meta/MANIFEST.json
@@ -741,74 +741,58 @@
         "path": "mediacapture-streams/mediastreams-as-media-elements/video-assignment-manual.html",
         "url": "/mediacapture-streams/mediastreams-as-media-elements/video-assignment-manual.html"
       },
       {
         "path": "mediacapture-streams/stream-api/mediastream/mediastream-id-manual.html",
         "url": "/mediacapture-streams/stream-api/mediastream/mediastream-id-manual.html"
       },
       {
-        "path": "notifications/Notification-requestPermission-denied-manual.html",
-        "url": "/notifications/Notification-requestPermission-denied-manual.html"
-      },
-      {
-        "path": "notifications/Notification-requestPermission-granted-manual.html",
-        "url": "/notifications/Notification-requestPermission-granted-manual.html"
+        "path": "notifications/body-basic-manual.html",
+        "url": "/notifications/body-basic-manual.html"
+      },
+      {
+        "path": "notifications/body-empty-manual.html",
+        "url": "/notifications/body-empty-manual.html"
       },
       {
         "path": "notifications/event-onclick-manual.html",
         "url": "/notifications/event-onclick-manual.html"
       },
       {
         "path": "notifications/event-onerror-default-manual.html",
         "url": "/notifications/event-onerror-default-manual.html"
       },
       {
         "path": "notifications/event-onerror-denied-manual.html",
         "url": "/notifications/event-onerror-denied-manual.html"
       },
       {
-        "path": "notifications/notification-body-basic-manual.html",
-        "url": "/notifications/notification-body-basic-manual.html"
-      },
-      {
-        "path": "notifications/notification-body-empty-manual.html",
-        "url": "/notifications/notification-body-empty-manual.html"
-      },
-      {
-        "path": "notifications/notification-close-manual.html",
-        "url": "/notifications/notification-close-manual.html"
-      },
-      {
-        "path": "notifications/notification-dir-auto-manual.html",
-        "url": "/notifications/notification-dir-auto-manual.html"
-      },
-      {
-        "path": "notifications/notification-dir-ltr-manual.html",
-        "url": "/notifications/notification-dir-ltr-manual.html"
-      },
-      {
-        "path": "notifications/notification-dir-rtl-manual.html",
-        "url": "/notifications/notification-dir-rtl-manual.html"
-      },
-      {
-        "path": "notifications/notification-icon-basic-manual.html",
-        "url": "/notifications/notification-icon-basic-manual.html"
-      },
-      {
-        "path": "notifications/notification-icon-empty-manual.html",
-        "url": "/notifications/notification-icon-empty-manual.html"
-      },
-      {
-        "path": "notifications/notification-tag-different-manual.html",
-        "url": "/notifications/notification-tag-different-manual.html"
-      },
-      {
-        "path": "notifications/notification-tag-same-manual.html",
-        "url": "/notifications/notification-tag-same-manual.html"
+        "path": "notifications/icon-basic-manual.html",
+        "url": "/notifications/icon-basic-manual.html"
+      },
+      {
+        "path": "notifications/icon-empty-manual.html",
+        "url": "/notifications/icon-empty-manual.html"
+      },
+      {
+        "path": "notifications/requestPermission-denied-manual.html",
+        "url": "/notifications/requestPermission-denied-manual.html"
+      },
+      {
+        "path": "notifications/requestPermission-granted-manual.html",
+        "url": "/notifications/requestPermission-granted-manual.html"
+      },
+      {
+        "path": "notifications/tag-different-manual.html",
+        "url": "/notifications/tag-different-manual.html"
+      },
+      {
+        "path": "notifications/tag-same-manual.html",
+        "url": "/notifications/tag-same-manual.html"
       },
       {
         "path": "page-visibility/test_minimize-manual.html",
         "url": "/page-visibility/test_minimize-manual.html"
       },
       {
         "path": "page-visibility/test_tab_state_change-manual.html",
         "url": "/page-visibility/test_tab_state_change-manual.html"
@@ -4261,16 +4245,26 @@
           [
             "/html/rendering/non-replaced-elements/tables/table-width-150percent-ref.html",
             "=="
           ]
         ],
         "url": "/html/rendering/non-replaced-elements/tables/table-width-150percent.html"
       },
       {
+        "path": "html/rendering/non-replaced-elements/the-fieldset-element-0/min-width-not-important.html",
+        "references": [
+          [
+            "/html/rendering/non-replaced-elements/the-fieldset-element-0/ref.html",
+            "=="
+          ]
+        ],
+        "url": "/html/rendering/non-replaced-elements/the-fieldset-element-0/min-width-not-important.html"
+      },
+      {
         "path": "html/rendering/non-replaced-elements/the-page/body_text_00ffff.xhtml",
         "references": [
           [
             "/html/rendering/non-replaced-elements/the-page/body_text_00ffff-ref.html",
             "=="
           ]
         ],
         "url": "/html/rendering/non-replaced-elements/the-page/body_text_00ffff.xhtml"
@@ -4861,66 +4855,16 @@
           [
             "/quirks-mode/font-element-text-decoration-color/001-ref.html",
             "=="
           ]
         ],
         "url": "/quirks-mode/font-element-text-decoration-color/001-x.xhtml"
       },
       {
-        "path": "shadow-dom/shadow-trees/hosting-multiple-shadow-trees-002.html",
-        "references": [
-          [
-            "/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-002-ref.html",
-            "=="
-          ]
-        ],
-        "url": "/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-002.html"
-      },
-      {
-        "path": "shadow-dom/shadow-trees/hosting-multiple-shadow-trees-003.html",
-        "references": [
-          [
-            "/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-003-ref.html",
-            "=="
-          ]
-        ],
-        "url": "/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-003.html"
-      },
-      {
-        "path": "shadow-dom/shadow-trees/hosting-multiple-shadow-trees-004.html",
-        "references": [
-          [
-            "/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-004-ref.html",
-            "=="
-          ]
-        ],
-        "url": "/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-004.html"
-      },
-      {
-        "path": "shadow-dom/shadow-trees/hosting-multiple-shadow-trees-005.html",
-        "references": [
-          [
-            "/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-005-ref.html",
-            "=="
-          ]
-        ],
-        "url": "/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-005.html"
-      },
-      {
-        "path": "shadow-dom/shadow-trees/hosting-multiple-shadow-trees-006.html",
-        "references": [
-          [
-            "/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-006-ref.html",
-            "=="
-          ]
-        ],
-        "url": "/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-006.html"
-      },
-      {
         "path": "shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-001.html",
         "references": [
           [
             "/shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-001-ref.html",
             "=="
           ]
         ],
         "url": "/shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-001.html"
@@ -10459,16 +10403,20 @@
         "path": "FileAPI/historical.html",
         "url": "/FileAPI/historical.html"
       },
       {
         "path": "FileAPI/idlharness.html",
         "url": "/FileAPI/idlharness.html"
       },
       {
+        "path": "FileAPI/idlharness.worker.js",
+        "url": "/FileAPI/idlharness.worker"
+      },
+      {
         "path": "FileAPI/reading-data-section/Determining-Encoding.html",
         "url": "/FileAPI/reading-data-section/Determining-Encoding.html"
       },
       {
         "path": "FileAPI/reading-data-section/FileReader-event-handler-attributes.html",
         "url": "/FileAPI/reading-data-section/FileReader-event-handler-attributes.html"
       },
       {
@@ -13603,16 +13551,20 @@
         "path": "dom/nodes/Node-insertBefore.html",
         "url": "/dom/nodes/Node-insertBefore.html"
       },
       {
         "path": "dom/nodes/Node-isEqualNode.xhtml",
         "url": "/dom/nodes/Node-isEqualNode.xhtml"
       },
       {
+        "path": "dom/nodes/Node-lookupNamespaceURI.html",
+        "url": "/dom/nodes/Node-lookupNamespaceURI.html"
+      },
+      {
         "path": "dom/nodes/Node-lookupPrefix.xhtml",
         "url": "/dom/nodes/Node-lookupPrefix.xhtml"
       },
       {
         "path": "dom/nodes/Node-nodeName.html",
         "url": "/dom/nodes/Node-nodeName.html"
       },
       {
@@ -19251,18 +19203,22 @@
         "path": "navigation-timing/test_timing_xserver_redirect.html",
         "url": "/navigation-timing/test_timing_xserver_redirect.html"
       },
       {
         "path": "navigation-timing/test_unique_performance_objects.html",
         "url": "/navigation-timing/test_unique_performance_objects.html"
       },
       {
-        "path": "notifications/Notification-permission.html",
-        "url": "/notifications/Notification-permission.html"
+        "path": "notifications/constructor-basic.html",
+        "url": "/notifications/constructor-basic.html"
+      },
+      {
+        "path": "notifications/constructor-invalid.html",
+        "url": "/notifications/constructor-invalid.html"
       },
       {
         "path": "notifications/event-onclose.html",
         "url": "/notifications/event-onclose.html"
       },
       {
         "path": "notifications/event-onshow.html",
         "url": "/notifications/event-onshow.html"
@@ -19271,26 +19227,22 @@
         "path": "notifications/instance.html",
         "url": "/notifications/instance.html"
       },
       {
         "path": "notifications/interfaces.html",
         "url": "/notifications/interfaces.html"
       },
       {
-        "path": "notifications/notification-constructor-basic.html",
-        "url": "/notifications/notification-constructor-basic.html"
-      },
-      {
-        "path": "notifications/notification-constructor-invalid.html",
-        "url": "/notifications/notification-constructor-invalid.html"
-      },
-      {
-        "path": "notifications/notification-lang.html",
-        "url": "/notifications/notification-lang.html"
+        "path": "notifications/lang.html",
+        "url": "/notifications/lang.html"
+      },
+      {
+        "path": "notifications/permission.html",
+        "url": "/notifications/permission.html"
       },
       {
         "path": "old-tests/submission/Microsoft/dragdrop/dragdrop_004.htm",
         "url": "/old-tests/submission/Microsoft/dragdrop/dragdrop_004.htm"
       },
       {
         "path": "old-tests/submission/Microsoft/dragdrop/dragdrop_005.htm",
         "url": "/old-tests/submission/Microsoft/dragdrop/dragdrop_005.htm"
@@ -24775,32 +24727,20 @@
         "path": "shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-014.html",
         "url": "/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-014.html"
       },
       {
         "path": "shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-001.html",
         "url": "/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-001.html"
       },
       {
-        "path": "shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-002.html",
-        "url": "/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-002.html"
-      },
-      {
-        "path": "shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-003.html",
-        "url": "/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-003.html"
-      },
-      {
         "path": "shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-004.html",
         "url": "/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-004.html"
       },
       {
-        "path": "shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-005.html",
-        "url": "/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-005.html"
-      },
-      {
         "path": "shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-006.html",
         "url": "/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-006.html"
       },
       {
         "path": "shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-007.html",
         "url": "/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-007.html"
       },
       {
@@ -24987,28 +24927,16 @@
         "path": "shadow-dom/shadow-trees/content-pseudo-element/test-002.html",
         "url": "/shadow-dom/shadow-trees/content-pseudo-element/test-002.html"
       },
       {
         "path": "shadow-dom/shadow-trees/custom-pseudo-elements/test-001.html",
         "url": "/shadow-dom/shadow-trees/custom-pseudo-elements/test-001.html"
       },
       {
-        "path": "shadow-dom/shadow-trees/hosting-multiple-shadow-trees/test-001.html",
-        "url": "/shadow-dom/shadow-trees/hosting-multiple-shadow-trees/test-001.html"
-      },
-      {
-        "path": "shadow-dom/shadow-trees/hosting-multiple-shadow-trees/test-002.html",
-        "url": "/shadow-dom/shadow-trees/hosting-multiple-shadow-trees/test-002.html"
-      },
-      {
-        "path": "shadow-dom/shadow-trees/hosting-multiple-shadow-trees/test-003.html",
-        "url": "/shadow-dom/shadow-trees/hosting-multiple-shadow-trees/test-003.html"
-      },
-      {
         "path": "shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-003.html",
         "url": "/shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-003.html"
       },
       {
         "path": "shadow-dom/shadow-trees/lower-boundary-encapsulation/test-003.html",
         "url": "/shadow-dom/shadow-trees/lower-boundary-encapsulation/test-003.html"
       },
       {
@@ -25047,76 +24975,16 @@
         "path": "shadow-dom/shadow-trees/satisfying-matching-criteria/test-004.html",
         "url": "/shadow-dom/shadow-trees/satisfying-matching-criteria/test-004.html"
       },
       {
         "path": "shadow-dom/shadow-trees/satisfying-matching-criteria/test-005.html",
         "url": "/shadow-dom/shadow-trees/satisfying-matching-criteria/test-005.html"
       },
       {
-        "path": "shadow-dom/shadow-trees/satisfying-matching-criteria/test-006.html",
-        "url": "/shadow-dom/shadow-trees/satisfying-matching-criteria/test-006.html"
-      },
-      {
-        "path": "shadow-dom/shadow-trees/satisfying-matching-criteria/test-007.html",
-        "url": "/shadow-dom/shadow-trees/satisfying-matching-criteria/test-007.html"
-      },
-      {
-        "path": "shadow-dom/shadow-trees/satisfying-matching-criteria/test-008.html",
-        "url": "/shadow-dom/shadow-trees/satisfying-matching-criteria/test-008.html"
-      },
-      {
-        "path": "shadow-dom/shadow-trees/satisfying-matching-criteria/test-009.html",
-        "url": "/shadow-dom/shadow-trees/satisfying-matching-criteria/test-009.html"
-      },
-      {
-        "path": "shadow-dom/shadow-trees/satisfying-matching-criteria/test-010.html",
-        "url": "/shadow-dom/shadow-trees/satisfying-matching-criteria/test-010.html"
-      },
-      {
-        "path": "shadow-dom/shadow-trees/satisfying-matching-criteria/test-011.html",
-        "url": "/shadow-dom/shadow-trees/satisfying-matching-criteria/test-011.html"
-      },
-      {
-        "path": "shadow-dom/shadow-trees/satisfying-matching-criteria/test-012.html",
-        "url": "/shadow-dom/shadow-trees/satisfying-matching-criteria/test-012.html"
-      },
-      {
-        "path": "shadow-dom/shadow-trees/satisfying-matching-criteria/test-013.html",
-        "url": "/shadow-dom/shadow-trees/satisfying-matching-criteria/test-013.html"
-      },
-      {
-        "path": "shadow-dom/shadow-trees/satisfying-matching-criteria/test-014.html",
-        "url": "/shadow-dom/shadow-trees/satisfying-matching-criteria/test-014.html"
-      },
-      {
-        "path": "shadow-dom/shadow-trees/satisfying-matching-criteria/test-015.html",
-        "url": "/shadow-dom/shadow-trees/satisfying-matching-criteria/test-015.html"
-      },
-      {
-        "path": "shadow-dom/shadow-trees/satisfying-matching-criteria/test-016.html",
-        "url": "/shadow-dom/shadow-trees/satisfying-matching-criteria/test-016.html"
-      },
-      {
-        "path": "shadow-dom/shadow-trees/satisfying-matching-criteria/test-017.html",
-        "url": "/shadow-dom/shadow-trees/satisfying-matching-criteria/test-017.html"
-      },
-      {
-        "path": "shadow-dom/shadow-trees/satisfying-matching-criteria/test-018.html",
-        "url": "/shadow-dom/shadow-trees/satisfying-matching-criteria/test-018.html"
-      },
-      {
-        "path": "shadow-dom/shadow-trees/satisfying-matching-criteria/test-019.html",
-        "url": "/shadow-dom/shadow-trees/satisfying-matching-criteria/test-019.html"
-      },
-      {
-        "path": "shadow-dom/shadow-trees/satisfying-matching-criteria/test-020.html",
-        "url": "/shadow-dom/shadow-trees/satisfying-matching-criteria/test-020.html"
-      },
-      {
         "path": "shadow-dom/shadow-trees/upper-boundary-encapsulation/dom-tree-accessors-001.html",
         "url": "/shadow-dom/shadow-trees/upper-boundary-encapsulation/dom-tree-accessors-001.html"
       },
       {
         "path": "shadow-dom/shadow-trees/upper-boundary-encapsulation/dom-tree-accessors-002.html",
         "url": "/shadow-dom/shadow-trees/upper-boundary-encapsulation/dom-tree-accessors-002.html"
       },
       {
@@ -25179,20 +25047,16 @@
         "path": "shadow-dom/styles/shadow-pseudoelement/shadow-pseudoelement-001.html",
         "url": "/shadow-dom/styles/shadow-pseudoelement/shadow-pseudoelement-001.html"
       },
       {
         "path": "shadow-dom/styles/test-001.html",
         "url": "/shadow-dom/styles/test-001.html"
       },
       {
-        "path": "shadow-dom/styles/test-002.html",
-        "url": "/shadow-dom/styles/test-002.html"
-      },
-      {
         "path": "shadow-dom/styles/test-003.html",
         "url": "/shadow-dom/styles/test-003.html"
       },
       {
         "path": "shadow-dom/styles/test-005.html",
         "url": "/shadow-dom/styles/test-005.html"
       },
       {
@@ -26535,16 +26399,20 @@
         "path": "websockets/interfaces/WebSocket/url/005.html",
         "url": "/websockets/interfaces/WebSocket/url/005.html"
       },
       {
         "path": "websockets/interfaces/WebSocket/url/006.html",
         "url": "/websockets/interfaces/WebSocket/url/006.html"
       },
       {
+        "path": "websockets/interfaces/WebSocket/url/resolve.html",
+        "url": "/websockets/interfaces/WebSocket/url/resolve.html"
+      },
+      {
         "path": "websockets/opening-handshake/001.html",
         "url": "/websockets/opening-handshake/001.html"
       },
       {
         "path": "websockets/opening-handshake/003.html",
         "url": "/websockets/opening-handshake/003.html"
       },
       {
@@ -30628,16 +30496,28 @@
           [
             "/html/rendering/non-replaced-elements/tables/table-width-150percent-ref.html",
             "=="
           ]
         ],
         "url": "/html/rendering/non-replaced-elements/tables/table-width-150percent.html"
       }
     ],
+    "html/rendering/non-replaced-elements/the-fieldset-element-0/min-width-not-important.html": [
+      {
+        "path": "html/rendering/non-replaced-elements/the-fieldset-element-0/min-width-not-important.html",
+        "references": [
+          [
+            "/html/rendering/non-replaced-elements/the-fieldset-element-0/ref.html",
+            "=="
+          ]
+        ],
+        "url": "/html/rendering/non-replaced-elements/the-fieldset-element-0/min-width-not-important.html"
+      }
+    ],
     "html/rendering/non-replaced-elements/the-page/body_text_00ffff.xhtml": [
       {
         "path": "html/rendering/non-replaced-elements/the-page/body_text_00ffff.xhtml",
         "references": [
           [
             "/html/rendering/non-replaced-elements/the-page/body_text_00ffff-ref.html",
             "=="
           ]
@@ -31468,76 +31348,16 @@
           [
             "/quirks-mode/font-element-text-decoration-color/001-ref.html",
             "=="
           ]
         ],
         "url": "/quirks-mode/font-element-text-decoration-color/001-x.xhtml"
       }
     ],
-    "shadow-dom/shadow-trees/hosting-multiple-shadow-trees-002.html": [
-      {
-        "path": "shadow-dom/shadow-trees/hosting-multiple-shadow-trees-002.html",
-        "references": [
-          [
-            "/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-002-ref.html",
-            "=="
-          ]
-        ],
-        "url": "/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-002.html"
-      }
-    ],
-    "shadow-dom/shadow-trees/hosting-multiple-shadow-trees-003.html": [
-      {
-        "path": "shadow-dom/shadow-trees/hosting-multiple-shadow-trees-003.html",
-        "references": [
-          [
-            "/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-003-ref.html",
-            "=="
-          ]
-        ],
-        "url": "/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-003.html"
-      }
-    ],
-    "shadow-dom/shadow-trees/hosting-multiple-shadow-trees-004.html": [
-      {
-        "path": "shadow-dom/shadow-trees/hosting-multiple-shadow-trees-004.html",
-        "references": [
-          [
-            "/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-004-ref.html",
-            "=="
-          ]
-        ],
-        "url": "/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-004.html"
-      }
-    ],
-    "shadow-dom/shadow-trees/hosting-multiple-shadow-trees-005.html": [
-      {
-        "path": "shadow-dom/shadow-trees/hosting-multiple-shadow-trees-005.html",
-        "references": [
-          [
-            "/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-005-ref.html",
-            "=="
-          ]
-        ],
-        "url": "/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-005.html"
-      }
-    ],
-    "shadow-dom/shadow-trees/hosting-multiple-shadow-trees-006.html": [
-      {
-        "path": "shadow-dom/shadow-trees/hosting-multiple-shadow-trees-006.html",
-        "references": [
-          [
-            "/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-006-ref.html",
-            "=="
-          ]
-        ],
-        "url": "/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-006.html"
-      }
-    ],
     "shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-001.html": [
       {
         "path": "shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-001.html",
         "references": [
           [
             "/shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-001-ref.html",
             "=="
           ]
@@ -34289,12 +34109,12 @@
             "/webvtt/rendering/cues-with-video/processing-model/too_many_cues_wrapped-ref.html",
             "=="
           ]
         ],
         "url": "/webvtt/rendering/cues-with-video/processing-model/too_many_cues_wrapped.html"
       }
     ]
   },
-  "rev": "593fd27931d7e9d573d2796fe10df9fff778d56f",
+  "rev": "4bc69f287365a67585d470300a2ef109689cf465",
   "url_base": "/",
   "version": 2
 }
\ No newline at end of file
deleted file mode 100644
--- a/testing/web-platform/meta/mixed-content/__dir__.ini
+++ /dev/null
@@ -1,1 +0,0 @@
-disabled: https://bugzilla.mozilla.org/show_bug.cgi?id=1183627
\ No newline at end of file
--- a/testing/web-platform/meta/mozilla-sync
+++ b/testing/web-platform/meta/mozilla-sync
@@ -1,1 +1,1 @@
-42f9dbdd5a391201681d88dabea815fee6426e52
\ No newline at end of file
+757fde6c364d5c1ae56ad135b1ffe15bf455e5ff
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/old-tests/submission/Opera/script_scheduling/111.html.ini
@@ -0,0 +1,6 @@
+[111.html]
+  type: testharness
+  [ scheduler: removing async attribute at runtime]
+    expected:
+      if debug and (os == "linux") and (version == "Ubuntu 12.04") and (processor == "x86") and (bits == 32): FAIL
+
--- a/testing/web-platform/tests/.travis.yml
+++ b/testing/web-platform/tests/.travis.yml
@@ -1,7 +1,8 @@
+sudo: false # cause Travis to start builds much faster
 language: python
 python:
   - "2.7"
 before_install:
   - git submodule update --init --recursive
 # command to run tests, e.g. python setup.py test
-script:  ./lint
\ No newline at end of file
+script:  ./lint
--- a/testing/web-platform/tests/FileAPI/blob/Blob-constructor.html
+++ b/testing/web-platform/tests/FileAPI/blob/Blob-constructor.html
@@ -24,20 +24,17 @@ test(function() {
 test(function() {
   var blob = new Blob();
   assert_true(blob instanceof Blob);
   assert_equals(String(blob), '[object Blob]');
   assert_equals(blob.size, 0);
   assert_equals(blob.type, "");
 }, "no-argument Blob constructor");
 test(function() {
-  var blob = Blob();
-  assert_true(blob instanceof Blob);
-  assert_equals(blob.size, 0);
-  assert_equals(blob.type, "");
+  assert_throws(new TypeError(), function() { var blob = Blob(); });
 }, "no-argument Blob constructor without 'new'");
 test(function() {
   var blob = new Blob;
   assert_true(blob instanceof Blob);
   assert_equals(blob.size, 0);
   assert_equals(blob.type, "");
 }, "no-argument Blob constructor without brackets");
 
--- a/testing/web-platform/tests/FileAPI/idlharness.html
+++ b/testing/web-platform/tests/FileAPI/idlharness.html
@@ -10,149 +10,51 @@
     <script src="/resources/WebIDLParser.js"></script>
     <script src="/resources/idlharness.js"></script>
   </head>
   <body>
     <h1>File API automated IDL tests</h1>
 
     <div id="log"></div>
 
-    <pre id="untested_idl" style="display: none">
-      interface ArrayBuffer {
-      };
-
-      interface ArrayBufferView {
-      };
-
-      interface URL {
-      };
-
-      interface EventTarget {
-      };
-
-      interface Event {
-      };
-
-      [TreatNonCallableAsNull]
-      callback EventHandlerNonNull = any (Event event);
-      typedef EventHandlerNonNull? EventHandler;
-    </pre>
-
-    <pre id="idl" style="display: none">
-[Constructor,
- Constructor(sequence<(ArrayBuffer or ArrayBufferView or Blob or DOMString)> blobParts, optional BlobPropertyBag options), Exposed=Window,Worker]
-interface Blob {
-
-  readonly attribute unsigned long long size;
-  readonly attribute DOMString type;
-  readonly attribute boolean isClosed;
-
-  //slice Blob into byte-ranged chunks
-
-  Blob slice([Clamp] optional long long start,
-             [Clamp] optional long long end,
-             optional DOMString contentType);
-  void close();
-
-};
-
-dictionary BlobPropertyBag {
-  DOMString type = "";
-};
-
-[Constructor(sequence<(Blob or DOMString or ArrayBufferView or ArrayBuffer)> fileBits,
-[EnsureUTF16] DOMString fileName, optional FilePropertyBag options), Exposed=Window,Worker]
-interface File : Blob {
-
-  readonly attribute DOMString name;
-  readonly attribute long long lastModified;
-
-};
-
-dictionary FilePropertyBag {
-
-  DOMString type = "";
-  long long lastModified;
-
-};
-
-[Exposed=Window,Worker] interface FileList {
-  getter File? item(unsigned long index);
-  readonly attribute unsigned long length;
-};
-
-[Constructor, Exposed=Window,Worker]
-interface FileReader: EventTarget {
-
-  // async read methods
-  void readAsArrayBuffer(Blob blob);
-  void readAsText(Blob blob, optional DOMString label);
-  void readAsDataURL(Blob blob);
-
-  void abort();
-
-  // states
-  const unsigned short EMPTY = 0;
-  const unsigned short LOADING = 1;
-  const unsigned short DONE = 2;
-
-  readonly attribute unsigned short readyState;
-
-  // File or Blob data
-  readonly attribute (DOMString or ArrayBuffer)? result;
-
-  readonly attribute DOMError? error;
-
-  // event handler attributes
-  attribute EventHandler onloadstart;
-  attribute EventHandler onprogress;
-  attribute EventHandler onload;
-  attribute EventHandler onabort;
-  attribute EventHandler onerror;
-  attribute EventHandler onloadend;
-
-};
-
-[Constructor, Exposed=Worker]
-interface FileReaderSync {
-
-  // Synchronously return strings
-
-  ArrayBuffer readAsArrayBuffer(Blob blob);
-  DOMString readAsText(Blob blob, optional DOMString label);
-  DOMString readAsDataURL(Blob blob);
-};
-
-partial interface URL {
-
-  static DOMString createObjectURL(Blob blob);
-  static DOMString createFor(Blob blob);
-  static void revokeObjectURL(DOMString url);
-
-};
-
-    </pre>
-
     <form name="uploadData">
       <input type="file" id="fileChooser">
     </form>
 
     <script>
-      var idl_array, file_input;
+var file_input;
+setup(function() {
+    var idl_array = new IdlArray();
+
+    var request = new XMLHttpRequest();
+    request.open("GET", "idlharness.idl");
+    request.send();
+    request.onload = function() {
+        var idls = request.responseText;
 
-      setup(function() {
+        idl_array.add_untested_idls("[PrimaryGlobal] interface Window { };");
+
+        idl_array.add_untested_idls("interface ArrayBuffer {};");
+        idl_array.add_untested_idls("interface ArrayBufferView {};");
+        idl_array.add_untested_idls("interface URL {};");
+        idl_array.add_untested_idls("interface EventTarget {};");
+        idl_array.add_untested_idls("interface Event {};");
+        idl_array.add_untested_idls("[TreatNonCallableAsNull] callback EventHandlerNonNull = any (Event event);");
+        idl_array.add_untested_idls("typedef EventHandlerNonNull? EventHandler;");
+
+        idl_array.add_idls(idls);
+
         file_input = document.querySelector("#fileChooser");
-        idl_array = new IdlArray();
-        idl_array.add_untested_idls(document.getElementById("untested_idl").textContent);
-        idl_array.add_idls(document.getElementById("idl").textContent);
-
         idl_array.add_objects({
-          Blob: ['new Blob(["TEST"])'],
-          File: ['new File(["myFileBits"], "myFileName")'],
-          FileList: ['file_input.files'],
-          FileReader: ['new FileReader()']
+            Blob: ['new Blob(["TEST"])'],
+            File: ['new File(["myFileBits"], "myFileName")'],
+            FileList: ['file_input.files'],
+            FileReader: ['new FileReader()']
         });
-      });
 
-      idl_array.test();
+        idl_array.test();
+        done();
+  };
+}, {explicit_done: true});
     </script>
+
   </body>
 </html>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/FileAPI/idlharness.idl
@@ -0,0 +1,81 @@
+[Constructor,
+ Constructor(sequence<(ArrayBuffer or ArrayBufferView or Blob or DOMString)> blobParts, optional BlobPropertyBag options), Exposed=Window,Worker]
+interface Blob {
+
+  readonly attribute unsigned long long size;
+  readonly attribute DOMString type;
+  readonly attribute boolean isClosed;
+
+  //slice Blob into byte-ranged chunks
+
+  Blob slice([Clamp] optional long long start,
+             [Clamp] optional long long end,
+             optional DOMString contentType);
+  void close();
+
+};
+
+dictionary BlobPropertyBag {
+  DOMString type = "";
+};
+
+[Constructor(sequence<(Blob or DOMString or ArrayBufferView or ArrayBuffer)> fileBits,
+[EnsureUTF16] DOMString fileName, optional FilePropertyBag options), Exposed=Window,Worker]
+interface File : Blob {
+
+  readonly attribute DOMString name;
+  readonly attribute long long lastModified;
+
+};
+
+dictionary FilePropertyBag {
+
+  DOMString type = "";
+  long long lastModified;
+
+};
+
+[Exposed=Window,Worker] interface FileList {
+  getter File? item(unsigned long index);
+  readonly attribute unsigned long length;
+};
+
+[Constructor, Exposed=Window,Worker]
+interface FileReader: EventTarget {
+
+  // async read methods
+  void readAsArrayBuffer(Blob blob);
+  void readAsText(Blob blob, optional DOMString label);
+  void readAsDataURL(Blob blob);
+
+  void abort();
+
+  // states
+  const unsigned short EMPTY = 0;
+  const unsigned short LOADING = 1;
+  const unsigned short DONE = 2;
+
+  readonly attribute unsigned short readyState;
+
+  // File or Blob data
+  readonly attribute (DOMString or ArrayBuffer)? result;
+
+  readonly attribute DOMError? error;
+
+  // event handler attributes
+  attribute EventHandler onloadstart;
+  attribute EventHandler onprogress;
+  attribute EventHandler onload;
+  attribute EventHandler onabort;
+  attribute EventHandler onerror;
+  attribute EventHandler onloadend;
+
+};
+
+partial interface URL {
+
+  static DOMString createObjectURL(Blob blob);
+  static DOMString createFor(Blob blob);
+  static void revokeObjectURL(DOMString url);
+
+};
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/FileAPI/idlharness.worker.js
@@ -0,0 +1,45 @@
+importScripts("/resources/testharness.js");
+importScripts("/resources/WebIDLParser.js", "/resources/idlharness.js");
+
+var request = new XMLHttpRequest();
+request.open("GET", "idlharness.idl");
+request.send();
+request.onload = function() {
+    var idl_array = new IdlArray();
+    var idls = request.responseText;
+
+    idl_array.add_untested_idls("[Global] interface Window { };");
+
+    idl_array.add_untested_idls("interface ArrayBuffer {};");
+    idl_array.add_untested_idls("interface ArrayBufferView {};");
+    idl_array.add_untested_idls("interface URL {};");
+    idl_array.add_untested_idls("interface EventTarget {};");
+    idl_array.add_untested_idls("interface Event {};");
+    idl_array.add_untested_idls("[TreatNonCallableAsNull] callback EventHandlerNonNull = any (Event event);");
+    idl_array.add_untested_idls("typedef EventHandlerNonNull? EventHandler;");
+
+
+    var worker_idls =
+            '[Constructor, Exposed=Worker]\n' +
+            'interface FileReaderSync {\n' +
+            '\n' +
+            '  // Synchronously return strings\n' +
+            '\n' +
+            '  ArrayBuffer readAsArrayBuffer(Blob blob);\n' +
+            '  DOMString readAsText(Blob blob, optional DOMString label);\n' +
+            '  DOMString readAsDataURL(Blob blob);\n' +
+            '};';
+
+    idl_array.add_idls(idls);
+    idl_array.add_idls(worker_idls);
+
+    idl_array.add_objects({
+        Blob: ['new Blob(["TEST"])'],
+        File: ['new File(["myFileBits"], "myFileName")'],
+        FileReader: ['new FileReader()'],
+        FileReaderSync: ['new FileReaderSync()']
+    });
+
+    idl_array.test();
+    done();
+};
--- a/testing/web-platform/tests/WebIDL/ecmascript-binding/es-exceptions/DOMException-constructor.html
+++ b/testing/web-platform/tests/WebIDL/ecmascript-binding/es-exceptions/DOMException-constructor.html
@@ -20,16 +20,24 @@ test(function() {
   var ex = new DOMException();
   assert_false(ex.hasOwnProperty("name"),
                "The name property should be inherited");
   assert_false(ex.hasOwnProperty("message"),
                "The message property should be inherited");
 }, 'new DOMException(): own-ness');
 
 test(function() {
+  var ex = new DOMException(null);
+  assert_equals(ex.name, "Error",
+                "Not passing a name should end up with 'Error' as the name");
+  assert_equals(ex.message, "null",
+                "Passing null as message should end up with stringified 'null' as the message");
+}, 'new DOMException(null)');
+
+test(function() {
   var ex = new DOMException(undefined);
   assert_equals(ex.name, "Error",
                 "Not passing a name should end up with 'Error' as the name");
   assert_equals(ex.message, "",
                 "Not passing a message should end up with empty string as the message");
 }, 'new DOMException(undefined)');
 
 test(function() {
@@ -51,23 +59,81 @@ test(function() {
   var ex = new DOMException("foo");
   assert_false(ex.hasOwnProperty("name"),
                "The name property should be inherited");
   assert_true(ex.hasOwnProperty("message"),
               "The message property should be own");
 }, 'new DOMException("foo"): own-ness');
 
 test(function() {
+  var ex = new DOMException("bar", undefined);
+  assert_equals(ex.name, "Error",
+                "Passing undefined for name should end up with 'Error' as the name");
+  assert_equals(ex.message, "bar", "Should still be using passed-in message");
+}, 'new DOMException("bar", undefined)');
+
+test(function() {
   var ex = new DOMException("bar", "NotSupportedError");
   assert_equals(ex.name, "NotSupportedError", "Should be using the passed-in name");
   assert_equals(ex.message, "bar", "Should still be using passed-in message");
   assert_equals(ex.code, DOMException.NOT_SUPPORTED_ERR,
                 "Should have the right exception code");
 }, 'new DOMException("bar", "NotSupportedError")');
 
 test(function() {
   var ex = new DOMException("bar", "NotSupportedError");
   assert_true(ex.hasOwnProperty("name"),
               "The name property should be own");
   assert_true(ex.hasOwnProperty("message"),
               "The message property should be own");
 }, 'new DOMException("bar", "NotSupportedError"): own-ness');
+
+test(function() {
+  var ex = new DOMException("bar", "foo");
+  assert_equals(ex.name, "foo", "Should be using the passed-in name");
+  assert_equals(ex.message, "bar", "Should still be using passed-in message");
+  assert_equals(ex.code, 0,
+                "Should have 0 for code for a name not in the exception names table");
+}, 'new DOMException("bar", "foo")');
+
+[
+  {name: "IndexSizeError", code: 1},
+  {name: "HierarchyRequestError", code: 3},
+  {name: "WrongDocumentError", code: 4},
+  {name: "InvalidCharacterError", code: 5},
+  {name: "NoModificationAllowedError", code: 7},
+  {name: "NotFoundError", code: 8},
+  {name: "NotSupportedError", code: 9},
+  {name: "InUseAttributeError", code: 10},
+  {name: "InvalidStateError", code: 11},
+  {name: "SyntaxError", code: 12},
+  {name: "InvalidModificationError", code: 13},
+  {name: "NamespaceError", code: 14},
+  {name: "InvalidAccessError", code: 15},
+  {name: "SecurityError", code: 18},
+  {name: "NetworkError", code: 19},
+  {name: "AbortError", code: 20},
+  {name: "URLMismatchError", code: 21},
+  {name: "QuotaExceededError", code: 22},
+  {name: "TimeoutError", code: 23},
+  {name: "InvalidNodeTypeError", code: 24},
+  {name: "DataCloneError", code: 25}
+].forEach(function(test_case) {
+  test(function() {
+    var ex = new DOMException("msg", test_case.name);
+    assert_equals(ex.name, test_case.name,
+                  "Should be using the passed-in name");
+    assert_equals(ex.message, "msg",
+                  "Should be using the passed-in message");
+    assert_equals(ex.code, test_case.code,
+                  "Should have matching legacy code from error names table");
+  },'new DOMexception("msg", "' + test_case.name + '")');
+});
+
+test(function() {
+  var ex = new DOMException("bar", "UnknownError");
+  assert_equals(ex.name, "UnknownError", "Should be using the passed-in name");
+  assert_equals(ex.message, "bar", "Should still be using passed-in message");
+  assert_equals(ex.code, 0,
+                "Should have 0 for code for a name in the exception names table with no legacy code");
+}, 'new DOMException("bar", "UnknownError")');
+
 </script>
rename from testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/571.html
rename to testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/571-haswarn.html
rename from testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/572.html
rename to testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/572-haswarn.html
rename from testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/573.html
rename to testing/web-platform/tests/conformance-checkers/html-aria/author-requirements/573-haswarn.html
rename from testing/web-platform/tests/conformance-checkers/html-aria/combobox-autocomplete-list/div.html
rename to testing/web-platform/tests/conformance-checkers/html-aria/combobox-autocomplete-list/div-haswarn.html
rename from testing/web-platform/tests/conformance-checkers/html-aria/host-language/implicit-semantics-checkbox-disparity.html
rename to testing/web-platform/tests/conformance-checkers/html-aria/host-language/implicit-semantics-checkbox-disparity-haswarn.html
rename from testing/web-platform/tests/conformance-checkers/html-aria/host-language/implicit-semantics-checkbox-role.html
rename to testing/web-platform/tests/conformance-checkers/html-aria/host-language/implicit-semantics-checkbox-role-haswarn.html
--- a/testing/web-platform/tests/conformance-checkers/messages.json
+++ b/testing/web-platform/tests/conformance-checkers/messages.json
@@ -1,9 +1,15 @@
 {
+    "html-aria/author-requirements/571-haswarn.html": "The \u201ctextbox\u201d role is unnecessary for an \u201cinput\u201d element that has no \u201clist\u201d attribute and whose type is \u201ctext\u201d.",
+    "html-aria/author-requirements/572-haswarn.html": "The \u201ctextbox\u201d role is unnecessary for an \u201cinput\u201d element that has no \u201clist\u201d attribute and whose type is \u201ctext\u201d.",
+    "html-aria/author-requirements/573-haswarn.html": "The \u201ctextbox\u201d role is unnecessary for an \u201cinput\u201d element that has no \u201clist\u201d attribute and whose type is \u201ctext\u201d.",
+    "html-aria/combobox-autocomplete-list/div-haswarn.html": "The \u201ctextbox\u201d role is unnecessary for an \u201cinput\u201d element that has no \u201clist\u201d attribute and whose type is \u201ctext\u201d.",
+    "html-aria/host-language/implicit-semantics-checkbox-disparity-haswarn.html": "The \u201ccheckbox\u201d role is unnecessary for element \u201cinput\u201d whose type is \u201ccheckbox\u201d.",
+    "html-aria/host-language/implicit-semantics-checkbox-role-haswarn.html": "The \u201ccheckbox\u201d role is unnecessary for element \u201cinput\u201d whose type is \u201ccheckbox\u201d.",
     "html-rdfa/0019-novalid.html": "Attribute \u201chref\u201d not allowed on element \u201cdiv\u201d in this context.",
     "html-rdfa/0035-novalid.html": "Attribute \u201chref\u201d not allowed on element \u201cimg\u201d in this context.",
     "html-rdfa/0037-novalid.html": "Attribute \u201chref\u201d not allowed on element \u201cimg\u201d in this context.",
     "html-rdfa/0039-novalid.html": "Attribute \u201chref\u201d not allowed on element \u201cimg\u201d in this context.",
     "html-rdfa/0041-novalid.html": "Attribute \u201chref\u201d not allowed on element \u201cimg\u201d in this context.",
     "html-rdfa/0079-novalid.html": "Attribute \u201chref\u201d not allowed on element \u201cp\u201d in this context.",
     "html-rdfa/0085-novalid.html": "Attribute \u201chref\u201d not allowed on element \u201cp\u201d in this context.",
     "html-rdfa/0109-novalid.html": "Attribute \u201cxml:base\u201d not allowed on element \u201chtml\u201d in this context.",
deleted file mode 100644
--- a/testing/web-platform/tests/content-security-policy/blink-contrib/resources/alert-pass.js
+++ /dev/null
@@ -1,1 +0,0 @@
-alert_assert('PASS');
deleted file mode 100644
--- a/testing/web-platform/tests/content-security-policy/blink-contrib/resources/child-src-test.js
+++ /dev/null
@@ -1,66 +0,0 @@
-var EXPECT_BLOCK = true;
-var EXPECT_LOAD = false;
-
-window.jsTestIsAsync = true;
-window.wasPostTestScriptParsed = true;
-
-var iframe;
-
-function injectFrame(url, shouldBlock) {
-    window.onload = function() {
-        iframe = document.createElement('iframe');
-        iframe.onload = iframeLoaded(shouldBlock);
-        iframe.src = url;
-        document.body.appendChild(iframe);
-    };
-}
-
-function iframeLoaded(expectBlock) {
-    return function(ev) {
-        var failed = true;
-        try {
-            console.log("IFrame load event fired: the IFrame's location is '" + ev.target.contentWindow.location.href + "'.");
-            if (expectBlock) {
-                testFailed("The IFrame should have been blocked (or cross-origin). It wasn't.");
-                failed = true;
-            } else {
-                testPassed("The IFrame should not have been blocked. It wasn't.");
-                failed = false;
-            }
-        } catch (ex) {
-            debug("IFrame load event fired: the IFrame is cross-origin (or was blocked).");
-            if (expectBlock) {
-                testPassed("The IFrame should have been blocked (or cross-origin). It was.");
-                failed = false;
-            } else {
-                testFailed("The IFrame should not have been blocked. It was.");
-                failed = true;
-            }
-        }
-        finishJSTest();
-    };
-}
-
-function injectFrameRedirectingTo(url, shouldBlock) {
-    injectFrame("/security/contentSecurityPolicy/resources/redir.php?url=" + url, shouldBlock);
-}
-
-function injectWorker(url, expectBlock) {
-    window.onload = function() {
-        if (expectBlock == EXPECT_BLOCK)
-            shouldThrow("var w = new Worker('" + url + "');");
-        else
-            shouldNotThrow("var w = new Worker('" + url + "');");
-        finishJSTest();
-    };
-}
-
-function injectSharedWorker(url, expectBlock) {
-    window.onload = function() {
-        if (expectBlock == EXPECT_BLOCK)
-            shouldThrow("var w = new SharedWorker('" + url + "');");
-        else
-            shouldNotThrow("var w = new SharedWorker('" + url + "');");
-        finishJSTest();
-    };
-}
deleted file mode 100644
--- a/testing/web-platform/tests/content-security-policy/blink-contrib/resources/dump-as-text.js
+++ /dev/null
@@ -1,2 +0,0 @@
-if (window.testRunner)
-    testRunner.dumpAsText();
deleted file mode 100644
--- a/testing/web-platform/tests/content-security-policy/blink-contrib/resources/frame-ancestors-test.js
+++ /dev/null
@@ -1,109 +0,0 @@
-var SAME_ORIGIN = true;
-var CROSS_ORIGIN = false;
-
-var EXPECT_BLOCK = true;
-var EXPECT_LOAD = false;
-
-var SAMEORIGIN_ORIGIN = "http://127.0.0.1:8000";
-var CROSSORIGIN_ORIGIN = "http://localhost:8080";
-
-window.jsTestIsAsync = true;
-window.wasPostTestScriptParsed = true;
-
-if (window.testRunner)
-    testRunner.dumpChildFramesAsText();
-
-window.addEventListener("message", function(e) {
-    if (window.parent != window) {
-        window.parent.postMessage(e.data, "*");
-    } else {
-        if (e.data)
-            testFailed("The inner IFrame failed.");
-        else
-            testPassed("The inner IFrame passed.");
-
-        finishJSTest();
-    }
-});
-
-function injectNestedIframe(policy, parent, child, expectation) {
-    var iframe = document.createElement("iframe");
-
-    var url = "/security/contentSecurityPolicy/resources/frame-in-frame.pl?" + "policy=" + policy + "&parent=" + parent + "&child=" + child + "&expectation=" + expectation;
-    url = (parent == "same" ? SAMEORIGIN_ORIGIN : CROSSORIGIN_ORIGIN) + url;
-
-    iframe.src = url;
-    document.body.appendChild(iframe);
-}
-
-function injectIFrame(policy, sameOrigin, expectBlock) {
-    var iframe = document.createElement("iframe");
-    iframe.addEventListener("load", iframeLoaded(expectBlock));
-    iframe.addEventListener("error", iframeLoaded(expectBlock));
-
-    var url = "/security/contentSecurityPolicy/resources/frame-ancestors.pl?policy=" + policy;
-    if (!sameOrigin)
-        url = CROSSORIGIN_ORIGIN + url;
-
-    iframe.src = url;
-    document.body.appendChild(iframe);
-}
-
-function iframeLoaded(expectBlock) {
-    return function(ev) {
-        var failed = true;
-        try {
-            console.log("IFrame load event fired: the IFrame's location is '" + ev.target.contentWindow.location.href + "'.");
-            if (expectBlock) {
-                testFailed("The IFrame should have been blocked (or cross-origin). It wasn't.");
-                failed = true;
-            } else {
-                testPassed("The IFrame should not have been blocked. It wasn't.");
-                failed = false;
-            }
-        } catch (ex) {
-            debug("IFrame load event fired: the IFrame is cross-origin (or was blocked).");
-            if (expectBlock) {
-                testPassed("The IFrame should have been blocked (or cross-origin). It was.");
-                failed = false;
-            } else {
-                testFailed("The IFrame should not have been blocked. It was.");
-                failed = true;
-            }
-        }
-        if (window.parent != window)
-            window.parent.postMessage(failed, '*');
-        else
-            finishJSTest();
-    };
-}
-
-function crossOriginFrameShouldBeBlocked(policy) {
-    window.onload = function() {
-        injectIFrame(policy, CROSS_ORIGIN, EXPECT_BLOCK);
-    };
-}
-
-function crossOriginFrameShouldBeAllowed(policy) {
-    window.onload = function() {
-        injectIFrame(policy, CROSS_ORIGIN, EXPECT_LOAD);
-    };
-}
-
-function sameOriginFrameShouldBeBlocked(policy) {
-    window.onload = function() {
-        injectIFrame(policy, SAME_ORIGIN, EXPECT_BLOCK);
-    };
-}
-
-function sameOriginFrameShouldBeAllowed(policy) {
-    window.onload = function() {
-        injectIFrame(policy, SAME_ORIGIN, EXPECT_LOAD);
-    };
-}
-
-function testNestedIFrame(policy, parent, child, expectation) {
-    window.onload = function() {
-        injectNestedIframe(policy, parent == SAME_ORIGIN ? "same" : "cross", child == SAME_ORIGIN ? "same" : "cross", expectation == EXPECT_LOAD ? "Allowed" : "Blocked");
-    };
-}
deleted file mode 100644
--- a/testing/web-platform/tests/content-security-policy/blink-contrib/resources/mixed-content-with-csp.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<meta http-equiv="Content-Security-Policy" content="default-src 'self'"> This page includes an insecure script that alerts "FAIL", but that script is blocked by CSP.
-<script src="http://127.0.0.1:8080/security/contentSecurityPolicy/resources/alert-fail.js"></script>
deleted file mode 100644
--- a/testing/web-platform/tests/content-security-policy/blink-contrib/resources/multiple-iframe-plugin-test.js
+++ /dev/null
@@ -1,54 +0,0 @@
-if (window.testRunner) {
-    testRunner.waitUntilDone();
-    testRunner.dumpAsText();
-    testRunner.dumpChildFramesAsText();
-}
-
-function testExperimentalPolicy() {
-    testImpl(true);
-}
-
-function test() {
-    testImpl(false);
-}
-
-function testImpl(experimental) {
-    if (tests.length === 0)
-        return finishTesting();
-    var baseURL = "/security/contentSecurityPolicy/";
-    var current = tests.shift();
-    var iframe = document.createElement("iframe");
-    iframe.src = baseURL + "resources/echo-object-data.pl?" +
-        "experimental=" + (experimental ? "true" : "false") +
-        "&csp=" + escape(current[1]);
-
-    if (current[0])
-        iframe.src += "&log=PASS.";
-    else
-        iframe.src += "&log=FAIL.";
-
-    if (current[2])
-        iframe.src += "&plugin=" + escape(current[2]);
-    else {
-        iframe.src += "&plugin=data:application/x-webkit-test-netscape,logifloaded";
-    }
-
-    if (current[3] !== undefined)
-        iframe.src += "&type=" + escape(current[3]);
-    else
-        iframe.src += "&type=application/x-webkit-test-netscape";
-
-    iframe.onload = function() {
-        if (window.internals)
-            internals.updateLayoutIgnorePendingStylesheetsAndRunPostLayoutTasks(iframe);
-        testImpl(experimental);
-    };
-    document.body.appendChild(iframe);
-}
-
-function finishTesting() {
-    if (window.testRunner) {
-        setTimeout("testRunner.notifyDone()", 0);
-    }
-    return true;
-}
deleted file mode 100644
--- a/testing/web-platform/tests/content-security-policy/blink-contrib/resources/multiple-iframe-test.js
+++ /dev/null
@@ -1,53 +0,0 @@
-if (window.testRunner) {
-    testRunner.waitUntilDone();
-    testRunner.dumpAsText();
-    testRunner.dumpChildFramesAsText();
-}
-
-function testPreescapedPolicy() {
-    testImpl(false, true);
-}
-
-function testExperimentalPolicy() {
-    testImpl(true, false);
-}
-
-function test() {
-    testImpl(false, false);
-}
-
-function testImpl(experimental, preescapedPolicy) {
-    if (tests.length === 0)
-        return finishTesting();
-
-    var baseURL = "/security/contentSecurityPolicy/";
-    var current = tests.shift();
-    var iframe = document.createElement("iframe");
-
-    var policy = current[1];
-    if (!preescapedPolicy)
-        policy = encodeURIComponent(policy);
-
-    var scriptToLoad = baseURL + encodeURIComponent(current[2]);
-    if (current[2].match(/^data:/) || current[2].match(/^https?:/))
-        scriptToLoad = encodeURIComponent(current[2]);
-
-    iframe.src = baseURL + "resources/echo-script-src.pl?" +
-        "experimental=" + (experimental ? "true" : "false") +
-        "&should_run=" + encodeURIComponent(current[0]) +
-        "&csp=" + policy + "&q=" + scriptToLoad;
-    if (current[3] !== undefined)
-        iframe.src += "&nonce=" + encodeURIComponent(current[3]);
-
-    iframe.onload = function() {
-        testImpl(experimental, preescapedPolicy);
-    };
-    document.body.appendChild(iframe);
-}
-
-function finishTesting() {
-    if (window.testRunner) {
-        setTimeout("testRunner.notifyDone()", 0);
-    }
-    return true;
-}
deleted file mode 100644
--- a/testing/web-platform/tests/content-security-policy/blink-contrib/resources/referrer-test.js
+++ /dev/null
@@ -1,62 +0,0 @@
-var ReferrerTest = {
-    NO_REFERRER: "no-referrer",
-    NO_REFERRER_WHEN_DOWNGRADE: "no-referrer-when-downgrade",
-    ORIGIN: "origin",
-    ORIGIN_WHEN_CROSS_ORIGIN: "origin-when-cross-origin",
-    UNSAFE_URL: "unsafe-url",
-
-    INVALID: "invalid",
-    EMPTY: "",
-
-    HTTP: "http",
-    HTTPS: "https",
-
-    bindHandler: function(func) {
-        window.addEventListener("message", function(e) {
-            ReferrerTest.referrerResult = undefined;
-            func(e.data);
-            finishJSTest();
-        });
-    },
-
-    base: function(scheme) {
-        return scheme == "http" ? "http://127.0.0.1:8000/" : "https://127.0.0.1:8443/";
-    },
-
-    generateFrameURL: function(policy, from, to) {
-        return ReferrerTest.base(from) + "security/contentSecurityPolicy/resources/referrer-test.php?policy=" + policy + "&to=" + to;
-    },
-
-    injectFrame: function(policy, from, to) {
-        var iframe = document.createElement("iframe");
-        iframe.src = ReferrerTest.generateFrameURL(policy, from, to);
-        document.body.appendChild(iframe);
-    }
-};
-
-function expectFullReferrer(policy, from, to) {
-    ReferrerTest.bindHandler(function(referrer) {
-        ReferrerTest.referrerResult = referrer;
-        shouldBeEqualToString("ReferrerTest.referrerResult", ReferrerTest.generateFrameURL(policy, from, to));
-    });
-    ReferrerTest.injectFrame(policy, from, to);
-}
-
-function expectNoReferrer(policy, from, to) {
-    ReferrerTest.bindHandler(function(referrer) {
-        ReferrerTest.referrerResult = referrer;
-        shouldBeEqualToString("ReferrerTest.referrerResult", "");
-    });
-    ReferrerTest.injectFrame(policy, from, to);
-}
-
-function expectOriginReferrer(policy, from, to) {
-    ReferrerTest.bindHandler(function(referrer) {
-        ReferrerTest.referrerResult = referrer;
-        shouldBeEqualToString("ReferrerTest.referrerResult", ReferrerTest.base(from));
-    });
-    ReferrerTest.injectFrame(policy, from, to);
-}
-
-window.wasPostTestScriptParsed = true;
-window.jsTestIsAsync = true;
deleted file mode 100644
--- a/testing/web-platform/tests/content-security-policy/blink-contrib/resources/reflected-xss-and-xss-protection.js
+++ /dev/null
@@ -1,41 +0,0 @@
-if (window.testRunner) {
-    testRunner.dumpAsText();
-    testRunner.dumpChildFramesAsText();
-    testRunner.setXSSAuditorEnabled(true);
-    testRunner.waitUntilDone();
-}
-
-function testMixedHeader(csp, xssProtection) {
-    var params = [
-        'q=<script>alert_assert(String.fromCharCode(0x58,0x53,0x53))<' + '/script>'
-    ];
-    if (csp != 'unset')
-        params.push('csp=' + csp);
-
-    if (xssProtection == 'allow')
-        params.push('disable-protection=1');
-    if (xssProtection == 'block')
-        params.push('enable-full-block=1');
-    if (xssProtection == 'filter')
-        params.push('valid-header=2');
-    if (xssProtection == 'invalid')
-        params.push('malformed-header=1');
-
-    var url = '/security/xssAuditor/resources/echo-intertag.pl?';
-    url += params.join('&amp;');
-
-    document.write('<p>Testing behavior when "reflected-xss" is set to ' + csp + ', and "X-XSS-Protection" is set to ' + xssProtection + '.');
-    document.write('<iframe src="' + url + '"></iframe>');
-}
-
-function frameLoaded() {
-    var frame = document.querySelector('iframe');
-    try {
-        alert_assert('Loaded ' + frame.contentWindow.location.href + ' into the IFrame.');
-    } catch (e) {
-        alert_assert('Loaded cross-origin frame.');
-    }
-    testRunner.notifyDone();
-}
-
-window.onload = frameLoaded;
deleted file mode 100644
--- a/testing/web-platform/tests/content-security-policy/blink-contrib/resources/script-src.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-
-<body>
-    <div id="result" text="PASS">
-        FAIL
-    </div>
-    <script src="http://127.0.0.1:8000/security/contentSecurityPolicy/resources/script.js"></script>
-</body>
-
-</html>
deleted file mode 100644
--- a/testing/web-platform/tests/content-security-policy/blink-contrib/resources/securitypolicy-tests-base.js
+++ /dev/null
@@ -1,18 +0,0 @@
-if (window.testRunner)
-    testRunner.dumpAsText();
-
-function log(msg) {
-    var txt = document.createTextNode(msg);
-    document.querySelector('body').appendChild(txt);
-    document.querySelector('body').appendChild(document.createElement('br'));
-}
-
-function injectPolicy(policy) {
-    var meta = document.createElement('meta');
-    meta.setAttribute('http-equiv', 'Content-Security-Policy');
-    meta.setAttribute('content', policy);
-    document.head.appendChild(meta);
-}
-
-if (!document.securityPolicy)
-    log('FAIL document.securityPolicy is not defined.')
deleted file mode 100644
--- a/testing/web-platform/tests/content-security-policy/blink-contrib/resources/securitypolicyviolation-test.js
+++ /dev/null
@@ -1,13 +0,0 @@
-window.jsTestIsAsync = true;
-
-document.addEventListener('securitypolicyviolation', function handleEvent(e) {
-    window.e = e;
-    for (key in expectations)
-        shouldBe('window.e.' + key, JSON.stringify(expectations[key]));
-    finishJSTest();
-});
-
-window.addEventListener('load', function() {
-    debug('Kicking off the tests:');
-    run();
-});
deleted file mode 100644
--- a/testing/web-platform/tests/content-security-policy/blink-contrib/resources/shared-worker-make-xhr.js
+++ /dev/null
@@ -1,10 +0,0 @@
-onconnect = function(event) {
-    var port = event.ports[0];
-    try {
-        var xhr = new XMLHttpRequest;
-        xhr.open("GET", "http://www1.{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/blue.css", true);
-        port.postMessage("xhr allowed");
-    } catch (e) {
-        port.postMessage("xhr blocked");
-    }
-};
deleted file mode 100644
--- a/testing/web-platform/tests/content-security-policy/blink-contrib/resources/style.xsl
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0"?>
-<xsl:stylesheet version="2.0"
-  xmlns:xhtml="http://www.w3.org/1999/xhtml"
-  xmlns="http://www.w3.org/1999/xhtml"
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:xs="http://www.w3.org/2001/XMLSchema"
-  exclude-result-prefixes="xhtml xsl xs">
-<xsl:output method="xml" version="1.0" encoding="UTF-8" doctype-public="-//W3C//DTD XHTML 1.1//EN" doctype-system="http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" indent="yes"/>
-<xsl:template match="@*|node()">
-  <xsl:copy>
-    <xsl:apply-templates select="@*|node()"/>
-  </xsl:copy>
-</xsl:template>
-<xsl:template match="xhtml:div">
-  <xsl:copy>
-    Style sheet applied.
-    <xsl:apply-templates select="@*|node()"/>
-  </xsl:copy>
-</xsl:template>
-</xsl:stylesheet>
deleted file mode 100644
--- a/testing/web-platform/tests/content-security-policy/blink-contrib/resources/transform-to-img.xsl
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-  <xsl:template match="/">
-    <html>
-      <head>
-        <script>
-//<![CDATA[
-if (window.testRunner)
-    testRunner.dumpAsText();
-//]]>
-        </script>
-      </head>
-      <body>
-        Here is an image:
-        <img src="../resources/abe.png"/>
-      </body>
-    </html>
-  </xsl:template>
-</xsl:stylesheet>
--- a/testing/web-platform/tests/dom/nodes/Element-matches.html
+++ b/testing/web-platform/tests/dom/nodes/Element-matches.html
@@ -7,26 +7,24 @@
 <script src="/dom/nodes/selectors.js"></script>
 <script src="/dom/nodes/ParentNode-querySelector-All.js"></script>
 <script src="Element-matches.js"></script>
 <style>iframe { visibility: hidden; position: absolute; }</style>
 
 <div id="log">This test requires JavaScript.</div>
 
 <script>
-var docType  = "html"; // Only run tests suitable for HTML
-
-var frame = document.createElement("iframe"),
-    doc;
+async_test(function() {
+  var frame = document.createElement("iframe");
+  frame.onload = this.step_func_done(init);
+  frame.src = "/dom/nodes/ParentNode-querySelector-All-content.html#target";
+  document.body.appendChild(frame);
+});
 
-frame.onload = init;
-frame.src = "/dom/nodes/ParentNode-querySelector-All-content.html#target";
-document.body.appendChild(frame);
-
-function init() {
+function init(e) {
   /*
    * This test suite tests Selectors API methods in 4 different contexts:
    * 1. Document node
    * 2. In-document Element node
    * 3. Detached Element node (an element with no parent, not in the document)
    * 4. Document Fragment node
    *
    * For each context, the following tests are run:
@@ -35,23 +33,25 @@ function init() {
    *
    * The matches() tests are run
    * All the selectors tested for both the valid and invalid selector tests are found in selectors.js.
    * See comments in that file for documentation of the format used.
    *
    * The level2-lib.js file contains all the common test functions for running each of the aforementioned tests
    */
 
+  var docType  = "html"; // Only run tests suitable for HTML
+
   // Prepare the nodes for testing
-  doc = frame.contentDocument;                 // Document Node tests
+  var doc = e.target.contentDocument;                 // Document Node tests
 
   var element = doc.getElementById("root");   // In-document Element Node tests
 
   //Setup the namespace tests
-  setupSpecialElements(element);
+  setupSpecialElements(doc, element);
 
   var outOfScope = element.cloneNode(true);   // Append this to the body before running the in-document
                                                // Element tests, but after running the Document tests. This
                                                // tests that no elements that are not descendants of element
                                                // are selected.
 
   traverse(outOfScope, function(elem) {        // Annotate each element as being a clone; used for verifying
     elem.setAttribute("data-clone", "");     // that none of these elements ever match.
--- a/testing/web-platform/tests/dom/nodes/Node-isEqualNode.xhtml
+++ b/testing/web-platform/tests/dom/nodes/Node-isEqualNode.xhtml
@@ -29,16 +29,40 @@ test(function() {
   a.setAttribute("b", "baz")
   var b = document.createElement("foo")
   b.setAttribute("b", "baz")
   b.setAttribute("a", "bar")
   assert_true(a.isEqualNode(b))
 }, "isEqualNode should return true when the attributes are in a different order")
 
 test(function() {
+  var a = document.createElementNS("ns", "prefix:foo")
+  var b = document.createElementNS("ns", "prefix:foo")
+  assert_true(a.isEqualNode(b))
+}, "isEqualNode should return true if elements have same namespace, prefix, and local name")
+
+test(function() {
+  var a = document.createElementNS("ns1", "prefix:foo")
+  var b = document.createElementNS("ns2", "prefix:foo")
+  assert_false(a.isEqualNode(b))
+}, "isEqualNode should return false if elements have different namespace")
+
+test(function() {
+  var a = document.createElementNS("ns", "prefix1:foo")
+  var b = document.createElementNS("ns", "prefix2:foo")
+  assert_false(a.isEqualNode(b))
+}, "isEqualNode should return false if elements have different prefix")
+
+test(function() {
+  var a = document.createElementNS("ns", "prefix:foo1")
+  var b = document.createElementNS("ns", "prefix:foo2")
+  assert_false(a.isEqualNode(b))
+}, "isEqualNode should return false if elements have different local name")
+
+test(function() {
   var a = document.createElement("foo")
   a.setAttributeNS("ns", "x:a", "bar")
   var b = document.createElement("foo")
   b.setAttributeNS("ns", "y:a", "bar")
   assert_true(a.isEqualNode(b))
 }, "isEqualNode should return true when the attributes have different prefixes")
 var internalSubset = async_test("isEqualNode should return true when only the internal subsets of DocumentTypes differ.")
 var wait = 2;
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/dom/nodes/Node-lookupNamespaceURI.html
@@ -0,0 +1,119 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>LookupNamespaceURI and IsDefaultNamespace tests</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+</head>
+<body>
+<h1>LookupNamespaceURI and IsDefaultNamespace</h1>
+<div id="log"/>
+<script>
+function lookupNamespaceURI(node, prefix, expected, name) {
+  test(function() {
+    assert_equals(node.lookupNamespaceURI(prefix), expected);
+  }, name);
+}
+
+function isDefaultNamespace(node, namespace, expected, name) {
+  test(function() {
+    assert_equals(node.isDefaultNamespace(namespace), expected);
+  }, name);
+}
+
+
+var frag = document.createDocumentFragment();
+lookupNamespaceURI(frag, null, null, 'DocumentFragment should have null namespace');
+lookupNamespaceURI(frag, '', null, 'DocumentFragment should have null namespace');
+lookupNamespaceURI(frag, 'foo', null, 'DocumentFragment should have null namespace');
+lookupNamespaceURI(frag, 'xmlns', null, 'DocumentFragment should have null namespace');
+isDefaultNamespace(frag, null, true, 'DocumentFragment is in default namespace');
+isDefaultNamespace(frag, '', true, 'DocumentFragment is in default namespace');
+isDefaultNamespace(frag, 'foo', false, 'DocumentFragment is in default namespace');
+isDefaultNamespace(frag, 'xmlns', false, 'DocumentFragment is in default namespace');
+
+
+
+var fooElem = document.createElementNS('fooNamespace', 'prefix:elem');
+fooElem.setAttribute('bar', 'value');
+
+lookupNamespaceURI(fooElem, null, null, 'Element should have null namespace');
+lookupNamespaceURI(fooElem, '', null, 'Element should have null namespace');
+lookupNamespaceURI(fooElem, 'fooNamespace', null, 'Element should not have namespace matching prefix with namespaceURI value');
+lookupNamespaceURI(fooElem, 'xmlns', null, 'Element should not have XMLNS namespace');
+lookupNamespaceURI(fooElem, 'prefix', 'fooNamespace', 'Element has namespace URI matching prefix');
+isDefaultNamespace(fooElem, null, true, 'Empty namespace is not default');
+isDefaultNamespace(fooElem, '', true, 'Empty namespace is not default');
+isDefaultNamespace(fooElem, 'fooNamespace', false, 'fooNamespace is not default');
+isDefaultNamespace(fooElem, 'http://www.w3.org/2000/xmlns/', false, 'xmlns namespace is not default');
+
+fooElem.setAttributeNS('http://www.w3.org/2000/xmlns/', 'xmlns:bar', 'barURI');
+fooElem.setAttributeNS('http://www.w3.org/2000/xmlns/', 'xmlns', 'bazURI');
+
+lookupNamespaceURI(fooElem, null, 'bazURI', 'Element should have baz namespace');
+lookupNamespaceURI(fooElem, '', 'bazURI', 'Element should have baz namespace');
+lookupNamespaceURI(fooElem, 'prefix', 'fooNamespace', 'Element has namespace URI matching prefix');
+lookupNamespaceURI(fooElem, 'xmlns', null, 'Element does not has namespace with xlmns prefix');
+lookupNamespaceURI(fooElem, 'bar', 'barURI', 'Element has bar namespace');
+
+isDefaultNamespace(fooElem, null, false, 'Empty namespace is not default');
+isDefaultNamespace(fooElem, '', false, 'Empty namespace is not default');
+isDefaultNamespace(fooElem, 'fooNamespace', false, 'fooNamespace is not default');
+isDefaultNamespace(fooElem, 'http://www.w3.org/2000/xmlns/', false, 'xmlns namespace is not default');
+isDefaultNamespace(fooElem, 'barURI', false, 'bar namespace is not default');
+isDefaultNamespace(fooElem, 'bazURI', true, 'baz namespace is default');
+
+var comment = document.createComment('comment');
+fooElem.appendChild(comment);
+
+lookupNamespaceURI(comment, null, 'bazURI', 'Comment should inherit baz namespace');
+lookupNamespaceURI(comment, '', 'bazURI', 'Comment should inherit  baz namespace');
+lookupNamespaceURI(comment, 'prefix', 'fooNamespace', 'Comment should inherit namespace URI matching prefix');
+lookupNamespaceURI(comment, 'bar', 'barURI', 'Comment should inherit bar namespace');
+
+isDefaultNamespace(comment, null, false, 'For comment, empty namespace is not default');
+isDefaultNamespace(comment, '', false, 'For comment, empty namespace is not default');
+isDefaultNamespace(comment, 'fooNamespace', false, 'For comment, fooNamespace is not default');
+isDefaultNamespace(comment, 'http://www.w3.org/2000/xmlns/', false, 'For comment, xmlns namespace is not default');
+isDefaultNamespace(comment, 'barURI', false, 'For comment, inherited bar namespace is not default');
+isDefaultNamespace(comment, 'bazURI', true, 'For comment, inherited baz namespace is default');
+
+var fooChild = document.createElementNS('childNamespace', 'childElem');
+fooElem.appendChild(fooChild);
+
+lookupNamespaceURI(fooChild, null, 'childNamespace', 'Child element should inherit baz namespace');
+lookupNamespaceURI(fooChild, '', 'childNamespace', 'Child element should have null namespace');
+lookupNamespaceURI(fooChild, 'xmlns', null, 'Child element should not have XMLNS namespace');
+lookupNamespaceURI(fooChild, 'prefix', 'fooNamespace', 'Child element has namespace URI matching prefix');
+
+isDefaultNamespace(fooChild, null, false, 'Empty namespace is not default for child');
+isDefaultNamespace(fooChild, '', false, 'Empty namespace is not default for child');
+isDefaultNamespace(fooChild, 'fooNamespace', false, 'fooNamespace is not default for child');
+isDefaultNamespace(fooChild, 'http://www.w3.org/2000/xmlns/', false, 'xmlns namespace is not default for child');
+isDefaultNamespace(fooChild, 'barURI', false, 'bar namespace is not default for child');
+isDefaultNamespace(fooChild, 'bazURI', false, 'baz namespace is default for child');
+isDefaultNamespace(fooChild, 'childNamespace', true, 'childNamespace is default for child');
+
+document.documentElement.setAttributeNS('http://www.w3.org/2000/xmlns/', 'xmlns:bar', 'barURI');
+document.documentElement.setAttributeNS('http://www.w3.org/2000/xmlns/', 'xmlns', 'bazURI');
+
+lookupNamespaceURI(document, null, 'http://www.w3.org/1999/xhtml', 'Document should have xhtml namespace');
+lookupNamespaceURI(document, '', 'http://www.w3.org/1999/xhtml', 'Document should have xhtml namespace');
+lookupNamespaceURI(document, 'prefix', null, 'Document has no namespace URI matching prefix');
+lookupNamespaceURI(document, 'bar', 'barURI', 'Document has bar namespace');
+
+isDefaultNamespace(document, null, false, 'For document, Empty namespace is not default');
+isDefaultNamespace(document, '', false, 'For document, Empty namespace is not default');
+isDefaultNamespace(document, 'fooNamespace', false, 'For document, fooNamespace is not default');
+isDefaultNamespace(document, 'http://www.w3.org/2000/xmlns/', false, 'For document, xmlns namespace is not default');
+isDefaultNamespace(document, 'barURI', false, 'For document, bar namespace is not default');
+isDefaultNamespace(document, 'bazURI', false, 'For document, baz namespace is not default');
+isDefaultNamespace(document, 'http://www.w3.org/1999/xhtml', true, 'For document, xhtml namespace is default');
+
+var comment = document.createComment('comment');
+document.appendChild(comment);
+lookupNamespaceURI(comment, 'bar', null, 'Comment does not have bar namespace');
+
+</script>
+</body>
+</html>
--- a/testing/web-platform/tests/dom/nodes/ParentNode-querySelector-All.html
+++ b/testing/web-platform/tests/dom/nodes/ParentNode-querySelector-All.html
@@ -5,27 +5,24 @@
 <script src="/resources/testharnessreport.js"></script>
 <script src="selectors.js"></script>
 <script src="ParentNode-querySelector-All.js"></script>
 <style>iframe { visibility: hidden; position: absolute; }</style>
 
 <div id="log">This test requires JavaScript.</div>
 
 <script>
-var testType = TEST_QSA;
-var docType  = "html"; // Only run tests suitable for HTML
-
-var frame = document.createElement("iframe"),
-    doc;
+async_test(function() {
+  var frame = document.createElement("iframe");
+  frame.onload = this.step_func_done(init);
+  frame.src = "ParentNode-querySelector-All-content.html#target";
+  document.body.appendChild(frame);
+});
 
-frame.onload = init;
-frame.src = "ParentNode-querySelector-All-content.html#target";
-document.body.appendChild(frame);
-
-function init() {
+function init(e) {
   /*
    * This test suite tests Selectors API methods in 4 different contexts:
    * 1. Document node
    * 2. In-document Element node
    * 3. Detached Element node (an element with no parent, not in the document)
    * 4. Document Fragment node
    *
    * For each context, the following tests are run:
@@ -50,23 +47,26 @@ function init() {
    * can be found in selectors.js.
    *
    * All the selectors tested for both the valid and invalid selector tests are found in selectors.js.
    * See comments in that file for documentation of the format used.
    *
    * The ParentNode-querySelector-All.js file contains all the common test functions for running each of the aforementioned tests
    */
 
+  var testType = TEST_QSA;
+  var docType  = "html"; // Only run tests suitable for HTML
+
   // Prepare the nodes for testing
-  doc = frame.contentDocument;                 // Document Node tests
+  var doc = e.target.contentDocument;                 // Document Node tests
 
   var element = doc.getElementById("root");   // In-document Element Node tests
 
   //Setup the namespace tests
-  setupSpecialElements(element);
+  setupSpecialElements(doc, element);
 
   var outOfScope = element.cloneNode(true);   // Append this to the body before running the in-document
                                                // Element tests, but after running the Document tests. This
                                                // tests that no elements that are not descendants of element
                                                // are selected.
 
   traverse(outOfScope, function(elem) {        // Annotate each element as being a clone; used for verifying
     elem.setAttribute("data-clone", "");     // that none of these elements ever match.
@@ -84,20 +84,20 @@ function init() {
   interfaceCheck("Fragment", fragment);
   interfaceCheck("In-document Element", element);
 
   runSpecialSelectorTests("Document", doc);
   runSpecialSelectorTests("Detached Element", detached);
   runSpecialSelectorTests("Fragment", fragment);
   runSpecialSelectorTests("In-document Element", element);
 
-  verifyStaticList("Document", doc);
-  verifyStaticList("Detached Element", detached);
-  verifyStaticList("Fragment", fragment);
-  verifyStaticList("In-document Element", element);
+  verifyStaticList("Document", doc, doc);
+  verifyStaticList("Detached Element", doc, detached);
+  verifyStaticList("Fragment", doc, fragment);
+  verifyStaticList("In-document Element", doc, element);
 
   runInvalidSelectorTest("Document", doc, invalidSelectors);
   runInvalidSelectorTest("Detached Element", detached, invalidSelectors);
   runInvalidSelectorTest("Fragment", fragment, invalidSelectors);
   runInvalidSelectorTest("In-document Element", element, invalidSelectors);
 
   runValidSelectorTest("Document", doc, validSelectors, testType, docType);
   runValidSelectorTest("Detached Element", detached, validSelectors, testType, docType);
--- a/testing/web-platform/tests/dom/nodes/ParentNode-querySelector-All.js
+++ b/testing/web-platform/tests/dom/nodes/ParentNode-querySelector-All.js
@@ -1,14 +1,14 @@
 // Require selectors.js to be included before this.
 
 /*
  * Create and append special elements that cannot be created correctly with HTML markup alone.
  */
-function setupSpecialElements(parent) {
+function setupSpecialElements(doc, parent) {
   // Setup null and undefined tests
   parent.appendChild(doc.createElement("null"));
   parent.appendChild(doc.createElement("undefined"));
 
   // Setup namespace tests
   var anyNS = doc.createElement("div");
   var noNS = doc.createElement("div");
   anyNS.id = "any-namespace";
@@ -70,17 +70,17 @@ function interfaceCheck(type, obj) {
     }
   }, type + ".querySelectorAll returns NodeList instance")
 }
 
 /*
  * Verify that the NodeList returned by querySelectorAll is static and and that a new list is created after
  * each call. A static list should not be affected by subsequent changes to the DOM.
  */
-function verifyStaticList(type, root) {
+function verifyStaticList(type, doc, root) {
   var pre, post, preLength;
 
   test(function() {
     pre = root.querySelectorAll("div");
     preLength = pre.length;
 
     var div = doc.createElement("div");
     (root.body || root).appendChild(div);
--- a/testing/web-platform/tests/dom/nodes/ParentNode-querySelector-All.xht
+++ b/testing/web-platform/tests/dom/nodes/ParentNode-querySelector-All.xht
@@ -7,27 +7,24 @@
 <script src="selectors.js"></script>
 <script src="ParentNode-querySelector-All.js"></script>
 <style>iframe { visibility: hidden; position: absolute; }</style>
 </head>
 <body>
 <div id="log">This test requires JavaScript.</div>
 
 <script><![CDATA[
-var testType = TEST_QSA;
-var docType  = "xhtml"; // Only run tests suitable for XHTML
-
-var frame = document.createElement("iframe"),
-    doc;
+async_test(function() {
+  var frame = document.createElement("iframe");
+  frame.onload = this.step_func_done(init);
+  frame.src = "ParentNode-querySelector-All-content.xht#target";
+  document.body.appendChild(frame);
+})
 
-frame.onload = init;
-frame.src = "ParentNode-querySelector-All-content.xht#target";
-document.body.appendChild(frame);
-
-function init() {
+function init(e) {
   /*
    * This test suite tests Selectors API methods in 4 different contexts:
    * 1. Document node
    * 2. In-document Element node
    * 3. Detached Element node (an element with no parent, not in the document)
    * 4. Document Fragment node
    *
    * For each context, the following tests are run:
@@ -52,23 +49,26 @@ function init() {
    * can be found in selectors.js.
    *
    * All the selectors tested for both the valid and invalid selector tests are found in selectors.js.
    * See comments in that file for documentation of the format used.
    *
    * The ParentNode-querySelector-All.js file contains all the common test functions for running each of the aforementioned tests
    */
 
+  var testType = TEST_QSA;
+  var docType  = "xhtml"; // Only run tests suitable for XHTML
+
   // Prepare the nodes for testing
-  doc = frame.contentDocument;                 // Document Node tests
+  var doc = e.target.contentDocument;                 // Document Node tests
 
   var element = doc.getElementById("root");   // In-document Element Node tests
 
   //Setup the namespace tests
-  setupSpecialElements(element);
+  setupSpecialElements(doc, element);
 
   var outOfScope = element.cloneNode(true);   // Append this to the body before running the in-document
                                                // Element tests, but after running the Document tests. This
                                                // tests that no elements that are not descendants of element
                                                // are selected.
 
   traverse(outOfScope, function(elem) {        // Annotate each element as being a clone; used for verifying
     elem.setAttribute("data-clone", "");     // that none of these elements ever match.
@@ -86,20 +86,20 @@ function init() {
   interfaceCheck("Fragment", fragment);
   interfaceCheck("In-document Element", element);
 
   runSpecialSelectorTests("Document", doc);
   runSpecialSelectorTests("Detached Element", detached);
   runSpecialSelectorTests("Fragment", fragment);
   runSpecialSelectorTests("In-document Element", element);
 
-  verifyStaticList("Document", doc);
-  verifyStaticList("Detached Element", detached);
-  verifyStaticList("Fragment", fragment);
-  verifyStaticList("In-document Element", element);
+  verifyStaticList("Document", doc, doc);
+  verifyStaticList("Detached Element", doc, detached);
+  verifyStaticList("Fragment", doc, fragment);
+  verifyStaticList("In-document Element", doc, element);
 
   runInvalidSelectorTest("Document", doc, invalidSelectors);
   runInvalidSelectorTest("Detached Element", detached, invalidSelectors);
   runInvalidSelectorTest("Fragment", fragment, invalidSelectors);
   runInvalidSelectorTest("In-document Element", element, invalidSelectors);
 
   runValidSelectorTest("Document", doc, validSelectors, testType, docType);
   runValidSelectorTest("Detached Element", detached, validSelectors, testType, docType);
--- a/testing/web-platform/tests/dom/ranges/Range-cloneContents.html
+++ b/testing/web-platform/tests/dom/ranges/Range-cloneContents.html
@@ -41,20 +41,21 @@ function myCloneContents(range) {
   // original end offset be the context object's start and end nodes and
   // offsets, respectively."
   var originalStartNode = range.startContainer;
   var originalStartOffset = range.startOffset;
   var originalEndNode = range.endContainer;
   var originalEndOffset = range.endOffset;
 
   // "If original start node and original end node are the same, and they are
-  // a Text or Comment node:"
+  // a Text, ProcessingInstruction, or Comment node:"
   if (range.startContainer == range.endContainer
   && (range.startContainer.nodeType == Node.TEXT_NODE
-  || range.startContainer.nodeType == Node.COMMENT_NODE)) {
+  || range.startContainer.nodeType == Node.COMMENT_NODE
+  || range.startContainer.nodeType == Node.PROCESSING_INSTRUCTION_NODE)) {
     // "Let clone be the result of calling cloneNode(false) on original
     // start node."
     var clone = originalStartNode.cloneNode(false);
 
     // "Set the data of clone to the result of calling
     // substringData(original start offset, original end offset − original
     // start offset) on original start node."
     clone.data = originalStartNode.substringData(originalStartOffset,
@@ -125,20 +126,21 @@ function myCloneContents(range) {
       if (commonAncestor.childNodes[i].nodeType
       == Node.DOCUMENT_TYPE_NODE) {
         return "HIERARCHY_REQUEST_ERR";
       }
       containedChildren.push(commonAncestor.childNodes[i]);
     }
   }
 
-  // "If first partially contained child is a Text or Comment node:"
+  // "If first partially contained child is a Text, ProcessingInstruction, or Comment node:"
   if (firstPartiallyContainedChild
   && (firstPartiallyContainedChild.nodeType == Node.TEXT_NODE
-  || firstPartiallyContainedChild.nodeType == Node.COMMENT_NODE)) {
+  || firstPartiallyContainedChild.nodeType == Node.COMMENT_NODE
+  || firstPartiallyContainedChild.nodeType == Node.PROCESSING_INSTRUCTION_NODE)) {
     // "Let clone be the result of calling cloneNode(false) on original
     // start node."
     var clone = originalStartNode.cloneNode(false);
 
     // "Set the data of clone to the result of calling substringData() on
     // original start node, with original start offset as the first
     // argument and (length of original start node − original start offset)
     // as the second."
@@ -180,20 +182,21 @@ function myCloneContents(range) {
     // "Let clone be the result of calling cloneNode(true) of contained
     // child."
     var clone = containedChildren[i].cloneNode(true);
 
     // "Append clone as the last child of frag."
     frag.appendChild(clone);
   }
 
-  // "If last partially contained child is a Text or Comment node:"
+  // "If last partially contained child is a Text, ProcessingInstruction, or Comment node:"
   if (lastPartiallyContainedChild
   && (lastPartiallyContainedChild.nodeType == Node.TEXT_NODE
-  || lastPartiallyContainedChild.nodeType == Node.COMMENT_NODE)) {
+  || lastPartiallyContainedChild.nodeType == Node.COMMENT_NODE
+  || lastPartiallyContainedChild.nodeType == Node.PROCESSING_INSTRUCTION_NODE)) {
     // "Let clone be the result of calling cloneNode(false) on original
     // end node."
     var clone = originalEndNode.cloneNode(false);
 
     // "Set the data of clone to the result of calling substringData(0,
     // original end offset) on original end node."
     clone.data = originalEndNode.substringData(0, originalEndOffset);
 
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/html/rendering/non-replaced-elements/the-fieldset-element-0/min-width-not-important.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="utf-8">
+    <title>Rendering requirements test (suggested default rendering): fieldset min-width is overridable</title>
+    <link rel="author" title="Chris Rebert" href="http://chrisrebert.com">
+    <link rel="help" href="https://html.spec.whatwg.org/multipage/rendering.html#the-fieldset-and-legend-elements">
+    <link rel="help" href="http://drafts.csswg.org/css2/visudet.html#min-max-widths">
+    <link rel="help" href="http://drafts.csswg.org/css-sizing/#width-height-keywords">
+    <link rel="match" href="ref.html">
+    <meta name="flags" content="">
+    <meta name="assert" content="fieldset's default min-width should be overridable since it's not !important and not spec'd to be non-overridable">
+    <style>
+body {
+    margin: 10px;
+}
+#cover {
+    background-color: green;
+    position: absolute;
+    left: 10px;
+    top: 10px;
+    height: 100px;
+    width: 100px;
+    z-index: 2;
+}
+fieldset {
+    min-width: 0;/* property under test */
+    /* zero these out so it renders more like a div element */
+    border: none;
+    margin: 0;
+    padding: 0;
+}
+.outer {
+    width: 100px;
+}
+.inner {
+    background-color: red;
+    color: red;
+    height: 100px;
+    overflow: scroll;
+    white-space: nowrap;
+}
+    </style>
+</head>
+<body>
+    <div class="outer">
+        <fieldset>
+            <div class="inner">a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a</div>
+        </fieldset>
+    </div>
+    <p>Test passes if there is a <strong>filled green square</strong> and <strong>no red</strong>.</p>
+    <div id="cover"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/html/rendering/non-replaced-elements/the-fieldset-element-0/ref.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="utf-8">
+    <title>Rendering requirements Reftest Reference</title>
+    <style>
+body {
+    margin: 10px;
+}
+div {
+    background-color: green;
+    height: 100px;
+    width: 100px;
+}
+    </style>
+</head>
+<body>
+    <div></div>
+    <p>Test passes if there is a <strong>filled green square</strong> and <strong>no red</strong>.</p>
+</body>
+</html>
--- a/testing/web-platform/tests/html/semantics/forms/constraints/form-validation-validity-stepMismatch.html
+++ b/testing/web-platform/tests/html/semantics/forms/constraints/form-validation-validity-stepMismatch.html
@@ -1,11 +1,11 @@
 <!DOCTYPE html>
 <meta charset="utf-8">
-<title>The constraint validation API Test: element.validity.patternMismatch</title>
+<title>The constraint validation API Test: element.validity.stepMismatch</title>
 <link rel="author" title="Intel" href="http://www.intel.com/">
 <link rel="help" href="https://html.spec.whatwg.org/multipage/#dom-validitystate-stepmismatch">
 <link rel="help" href="https://html.spec.whatwg.org/multipage/#the-constraint-validation-api">
 <script src="/resources/testharness.js"></script>
 <script src="/resources/testharnessreport.js"></script>
 <script src="support/validator.js"></script>
 <div id="log"></div>
 <script>
--- a/testing/web-platform/tests/html/semantics/forms/the-label-element/label-attributes.html
+++ b/testing/web-platform/tests/html/semantics/forms/the-label-element/label-attributes.html
@@ -116,9 +116,13 @@
                   "The 'form' property for a label with a form owner should return the form owner.");
   }, "A label's form attribute should return its form owner.");
 
   test(function () {
     assert_equals(document.getElementById("lbl6").form, null,
                   "The 'form' property for a label without a form owner should return null.");
   }, "Check that the labels property of a form control with no label returns a zero-length NodeList.");
 
+  // htmlFor attribute
+  test(function () {
+    assert_equals(document.getElementById("lbl2").htmlFor, "testx");
+  }, "A label's htmlFor attribute must reflect the for content attribute");
 </script>
--- a/testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/audio-tag/top-level/keep-scheme-redirect/allowed.https.html
+++ b/testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/audio-tag/top-level/keep-scheme-redirect/allowed.https.html
@@ -1,57 +1,40 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
+<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
     <meta charset='utf-8'>
     <meta name="description" content="Test behavior of allowed content.">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="http://www.w3.org/TR/mixed-content/">
     <meta name="assert" content="opt_in_method: http-csp
                                  origin: same-host-https
                                  source_scheme: https
                                  context_nesting: top-level
                                  redirection: keep-scheme-redirect
                                  subresource: audio-tag
                                  expectation: allowed">
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
-    <!-- Common global functions for mixed-content tests. -->
     <script src="/mixed-content/generic/common.js"></script>
-    <!-- The original specification JSON for validating the scenario. -->
-    <script src="/mixed-content/spec_json.js"></script>
-    <!-- Internal checking of the tests -->
-    <script src="/mixed-content/generic/sanity-checker.js"></script>
-    <!-- Simple wrapper API for all mixed-content test cases. -->
     <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
   </head>
   <body>
-    <h1>Allowed content</h1>
-    <h2>Test behavior of allowed content.</h2>
-    <pre>opt_in_method: http-csp
-                                 origin: same-host-https
-                                 source_scheme: https
-                                 context_nesting: top-level
-                                 redirection: keep-scheme-redirect
-                                 subresource: audio-tag
-                                 expectation: allowed</pre>
-
-    <p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
-       details for this test.</p>
-
-    <div id="log"></div>
     <script>
       MixedContentTestCase(
         {
           "opt_in_method": "http-csp",
           "origin": "same-host-https",
           "source_scheme": "https",
           "context_nesting": "top-level",
           "redirection": "keep-scheme-redirect",
           "subresource": "audio-tag",
           "expectation": "allowed"
         },
         document.querySelector("meta[name=assert]").content,
         new SanityChecker()
       ).start();
       </script>
+    <div id="log"></div>
   </body>
 </html>
--- a/testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/audio-tag/top-level/no-redirect/allowed.https.html
+++ b/testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/audio-tag/top-level/no-redirect/allowed.https.html
@@ -1,57 +1,40 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
+<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
     <meta charset='utf-8'>
     <meta name="description" content="Test behavior of allowed content.">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="http://www.w3.org/TR/mixed-content/">
     <meta name="assert" content="opt_in_method: http-csp
                                  origin: same-host-https
                                  source_scheme: https
                                  context_nesting: top-level
                                  redirection: no-redirect
                                  subresource: audio-tag
                                  expectation: allowed">
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
-    <!-- Common global functions for mixed-content tests. -->
     <script src="/mixed-content/generic/common.js"></script>
-    <!-- The original specification JSON for validating the scenario. -->
-    <script src="/mixed-content/spec_json.js"></script>
-    <!-- Internal checking of the tests -->
-    <script src="/mixed-content/generic/sanity-checker.js"></script>
-    <!-- Simple wrapper API for all mixed-content test cases. -->
     <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
   </head>
   <body>
-    <h1>Allowed content</h1>
-    <h2>Test behavior of allowed content.</h2>
-    <pre>opt_in_method: http-csp
-                                 origin: same-host-https
-                                 source_scheme: https
-                                 context_nesting: top-level
-                                 redirection: no-redirect
-                                 subresource: audio-tag
-                                 expectation: allowed</pre>
-
-    <p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
-       details for this test.</p>
-
-    <div id="log"></div>
     <script>
       MixedContentTestCase(
         {
           "opt_in_method": "http-csp",
           "origin": "same-host-https",
           "source_scheme": "https",
           "context_nesting": "top-level",
           "redirection": "no-redirect",
           "subresource": "audio-tag",
           "expectation": "allowed"
         },
         document.querySelector("meta[name=assert]").content,
         new SanityChecker()
       ).start();
       </script>
+    <div id="log"></div>
   </body>
 </html>
--- a/testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/fetch-request/top-level/keep-scheme-redirect/allowed.https.html
+++ b/testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/fetch-request/top-level/keep-scheme-redirect/allowed.https.html
@@ -1,57 +1,40 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
+<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
     <meta charset='utf-8'>
     <meta name="description" content="Test behavior of allowed content.">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="http://www.w3.org/TR/mixed-content/">
     <meta name="assert" content="opt_in_method: http-csp
                                  origin: same-host-https
                                  source_scheme: https
                                  context_nesting: top-level
                                  redirection: keep-scheme-redirect
                                  subresource: fetch-request
                                  expectation: allowed">
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
-    <!-- Common global functions for mixed-content tests. -->
     <script src="/mixed-content/generic/common.js"></script>
-    <!-- The original specification JSON for validating the scenario. -->
-    <script src="/mixed-content/spec_json.js"></script>
-    <!-- Internal checking of the tests -->
-    <script src="/mixed-content/generic/sanity-checker.js"></script>
-    <!-- Simple wrapper API for all mixed-content test cases. -->
     <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
   </head>
   <body>
-    <h1>Allowed content</h1>
-    <h2>Test behavior of allowed content.</h2>
-    <pre>opt_in_method: http-csp
-                                 origin: same-host-https
-                                 source_scheme: https
-                                 context_nesting: top-level
-                                 redirection: keep-scheme-redirect
-                                 subresource: fetch-request
-                                 expectation: allowed</pre>
-
-    <p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
-       details for this test.</p>
-
-    <div id="log"></div>
     <script>
       MixedContentTestCase(
         {
           "opt_in_method": "http-csp",
           "origin": "same-host-https",
           "source_scheme": "https",
           "context_nesting": "top-level",
           "redirection": "keep-scheme-redirect",
           "subresource": "fetch-request",
           "expectation": "allowed"
         },
         document.querySelector("meta[name=assert]").content,
         new SanityChecker()
       ).start();
       </script>
+    <div id="log"></div>
   </body>
 </html>
--- a/testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/fetch-request/top-level/no-redirect/allowed.https.html
+++ b/testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/fetch-request/top-level/no-redirect/allowed.https.html
@@ -1,57 +1,40 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
+<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
     <meta charset='utf-8'>
     <meta name="description" content="Test behavior of allowed content.">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="http://www.w3.org/TR/mixed-content/">
     <meta name="assert" content="opt_in_method: http-csp
                                  origin: same-host-https
                                  source_scheme: https
                                  context_nesting: top-level
                                  redirection: no-redirect
                                  subresource: fetch-request
                                  expectation: allowed">
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
-    <!-- Common global functions for mixed-content tests. -->
     <script src="/mixed-content/generic/common.js"></script>
-    <!-- The original specification JSON for validating the scenario. -->
-    <script src="/mixed-content/spec_json.js"></script>
-    <!-- Internal checking of the tests -->
-    <script src="/mixed-content/generic/sanity-checker.js"></script>
-    <!-- Simple wrapper API for all mixed-content test cases. -->
     <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
   </head>
   <body>
-    <h1>Allowed content</h1>
-    <h2>Test behavior of allowed content.</h2>
-    <pre>opt_in_method: http-csp
-                                 origin: same-host-https
-                                 source_scheme: https
-                                 context_nesting: top-level
-                                 redirection: no-redirect
-                                 subresource: fetch-request
-                                 expectation: allowed</pre>
-
-    <p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
-       details for this test.</p>
-
-    <div id="log"></div>
     <script>
       MixedContentTestCase(
         {
           "opt_in_method": "http-csp",
           "origin": "same-host-https",
           "source_scheme": "https",
           "context_nesting": "top-level",
           "redirection": "no-redirect",
           "subresource": "fetch-request",
           "expectation": "allowed"
         },
         document.querySelector("meta[name=assert]").content,
         new SanityChecker()
       ).start();
       </script>
+    <div id="log"></div>
   </body>
 </html>
--- a/testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/form-tag/top-level/keep-scheme-redirect/allowed.https.html
+++ b/testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/form-tag/top-level/keep-scheme-redirect/allowed.https.html
@@ -1,57 +1,40 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
+<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
     <meta charset='utf-8'>
     <meta name="description" content="Test behavior of allowed content.">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="http://www.w3.org/TR/mixed-content/">
     <meta name="assert" content="opt_in_method: http-csp
                                  origin: same-host-https
                                  source_scheme: https
                                  context_nesting: top-level
                                  redirection: keep-scheme-redirect
                                  subresource: form-tag
                                  expectation: allowed">
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
-    <!-- Common global functions for mixed-content tests. -->
     <script src="/mixed-content/generic/common.js"></script>
-    <!-- The original specification JSON for validating the scenario. -->
-    <script src="/mixed-content/spec_json.js"></script>
-    <!-- Internal checking of the tests -->
-    <script src="/mixed-content/generic/sanity-checker.js"></script>
-    <!-- Simple wrapper API for all mixed-content test cases. -->
     <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
   </head>
   <body>
-    <h1>Allowed content</h1>
-    <h2>Test behavior of allowed content.</h2>
-    <pre>opt_in_method: http-csp
-                                 origin: same-host-https
-                                 source_scheme: https
-                                 context_nesting: top-level
-                                 redirection: keep-scheme-redirect
-                                 subresource: form-tag
-                                 expectation: allowed</pre>
-
-    <p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
-       details for this test.</p>
-
-    <div id="log"></div>
     <script>
       MixedContentTestCase(
         {
           "opt_in_method": "http-csp",
           "origin": "same-host-https",
           "source_scheme": "https",
           "context_nesting": "top-level",
           "redirection": "keep-scheme-redirect",
           "subresource": "form-tag",
           "expectation": "allowed"
         },
         document.querySelector("meta[name=assert]").content,
         new SanityChecker()
       ).start();
       </script>
+    <div id="log"></div>
   </body>
 </html>
--- a/testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/form-tag/top-level/no-redirect/allowed.https.html
+++ b/testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/form-tag/top-level/no-redirect/allowed.https.html
@@ -1,57 +1,40 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
+<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
     <meta charset='utf-8'>
     <meta name="description" content="Test behavior of allowed content.">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="http://www.w3.org/TR/mixed-content/">
     <meta name="assert" content="opt_in_method: http-csp
                                  origin: same-host-https
                                  source_scheme: https
                                  context_nesting: top-level
                                  redirection: no-redirect
                                  subresource: form-tag
                                  expectation: allowed">
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
-    <!-- Common global functions for mixed-content tests. -->
     <script src="/mixed-content/generic/common.js"></script>
-    <!-- The original specification JSON for validating the scenario. -->
-    <script src="/mixed-content/spec_json.js"></script>
-    <!-- Internal checking of the tests -->
-    <script src="/mixed-content/generic/sanity-checker.js"></script>
-    <!-- Simple wrapper API for all mixed-content test cases. -->
     <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
   </head>
   <body>
-    <h1>Allowed content</h1>
-    <h2>Test behavior of allowed content.</h2>
-    <pre>opt_in_method: http-csp
-                                 origin: same-host-https
-                                 source_scheme: https
-                                 context_nesting: top-level
-                                 redirection: no-redirect
-                                 subresource: form-tag
-                                 expectation: allowed</pre>
-
-    <p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
-       details for this test.</p>
-
-    <div id="log"></div>
     <script>
       MixedContentTestCase(
         {
           "opt_in_method": "http-csp",
           "origin": "same-host-https",
           "source_scheme": "https",
           "context_nesting": "top-level",
           "redirection": "no-redirect",
           "subresource": "form-tag",
           "expectation": "allowed"
         },
         document.querySelector("meta[name=assert]").content,
         new SanityChecker()
       ).start();
       </script>
+    <div id="log"></div>
   </body>
 </html>
--- a/testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/iframe-tag/top-level/keep-scheme-redirect/allowed.https.html
+++ b/testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/iframe-tag/top-level/keep-scheme-redirect/allowed.https.html
@@ -1,57 +1,40 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
+<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
     <meta charset='utf-8'>
     <meta name="description" content="Test behavior of allowed content.">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="http://www.w3.org/TR/mixed-content/">
     <meta name="assert" content="opt_in_method: http-csp
                                  origin: same-host-https
                                  source_scheme: https
                                  context_nesting: top-level
                                  redirection: keep-scheme-redirect
                                  subresource: iframe-tag
                                  expectation: allowed">
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
-    <!-- Common global functions for mixed-content tests. -->
     <script src="/mixed-content/generic/common.js"></script>
-    <!-- The original specification JSON for validating the scenario. -->
-    <script src="/mixed-content/spec_json.js"></script>
-    <!-- Internal checking of the tests -->
-    <script src="/mixed-content/generic/sanity-checker.js"></script>
-    <!-- Simple wrapper API for all mixed-content test cases. -->
     <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
   </head>
   <body>
-    <h1>Allowed content</h1>
-    <h2>Test behavior of allowed content.</h2>
-    <pre>opt_in_method: http-csp
-                                 origin: same-host-https
-                                 source_scheme: https
-                                 context_nesting: top-level
-                                 redirection: keep-scheme-redirect
-                                 subresource: iframe-tag
-                                 expectation: allowed</pre>
-
-    <p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
-       details for this test.</p>
-
-    <div id="log"></div>
     <script>
       MixedContentTestCase(
         {
           "opt_in_method": "http-csp",
           "origin": "same-host-https",
           "source_scheme": "https",
           "context_nesting": "top-level",
           "redirection": "keep-scheme-redirect",
           "subresource": "iframe-tag",
           "expectation": "allowed"
         },
         document.querySelector("meta[name=assert]").content,
         new SanityChecker()
       ).start();
       </script>
+    <div id="log"></div>
   </body>
 </html>
--- a/testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/iframe-tag/top-level/no-redirect/allowed.https.html
+++ b/testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/iframe-tag/top-level/no-redirect/allowed.https.html
@@ -1,57 +1,40 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
+<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
     <meta charset='utf-8'>
     <meta name="description" content="Test behavior of allowed content.">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="http://www.w3.org/TR/mixed-content/">
     <meta name="assert" content="opt_in_method: http-csp
                                  origin: same-host-https
                                  source_scheme: https
                                  context_nesting: top-level
                                  redirection: no-redirect
                                  subresource: iframe-tag
                                  expectation: allowed">
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
-    <!-- Common global functions for mixed-content tests. -->
     <script src="/mixed-content/generic/common.js"></script>
-    <!-- The original specification JSON for validating the scenario. -->
-    <script src="/mixed-content/spec_json.js"></script>
-    <!-- Internal checking of the tests -->
-    <script src="/mixed-content/generic/sanity-checker.js"></script>
-    <!-- Simple wrapper API for all mixed-content test cases. -->
     <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
   </head>
   <body>
-    <h1>Allowed content</h1>
-    <h2>Test behavior of allowed content.</h2>
-    <pre>opt_in_method: http-csp
-                                 origin: same-host-https
-                                 source_scheme: https
-                                 context_nesting: top-level
-                                 redirection: no-redirect
-                                 subresource: iframe-tag
-                                 expectation: allowed</pre>
-
-    <p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
-       details for this test.</p>
-
-    <div id="log"></div>
     <script>
       MixedContentTestCase(
         {
           "opt_in_method": "http-csp",
           "origin": "same-host-https",
           "source_scheme": "https",
           "context_nesting": "top-level",
           "redirection": "no-redirect",
           "subresource": "iframe-tag",
           "expectation": "allowed"
         },
         document.querySelector("meta[name=assert]").content,
         new SanityChecker()
       ).start();
       </script>
+    <div id="log"></div>
   </body>
 </html>
--- a/testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/img-tag/top-level/keep-scheme-redirect/allowed.https.html
+++ b/testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/img-tag/top-level/keep-scheme-redirect/allowed.https.html
@@ -1,57 +1,40 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
+<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
     <meta charset='utf-8'>
     <meta name="description" content="Test behavior of allowed content.">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="http://www.w3.org/TR/mixed-content/">
     <meta name="assert" content="opt_in_method: http-csp
                                  origin: same-host-https
                                  source_scheme: https
                                  context_nesting: top-level
                                  redirection: keep-scheme-redirect
                                  subresource: img-tag
                                  expectation: allowed">
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
-    <!-- Common global functions for mixed-content tests. -->
     <script src="/mixed-content/generic/common.js"></script>
-    <!-- The original specification JSON for validating the scenario. -->
-    <script src="/mixed-content/spec_json.js"></script>
-    <!-- Internal checking of the tests -->
-    <script src="/mixed-content/generic/sanity-checker.js"></script>
-    <!-- Simple wrapper API for all mixed-content test cases. -->
     <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
   </head>
   <body>
-    <h1>Allowed content</h1>
-    <h2>Test behavior of allowed content.</h2>
-    <pre>opt_in_method: http-csp
-                                 origin: same-host-https
-                                 source_scheme: https
-                                 context_nesting: top-level
-                                 redirection: keep-scheme-redirect
-                                 subresource: img-tag
-                                 expectation: allowed</pre>
-
-    <p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
-       details for this test.</p>
-
-    <div id="log"></div>
     <script>
       MixedContentTestCase(
         {
           "opt_in_method": "http-csp",
           "origin": "same-host-https",
           "source_scheme": "https",
           "context_nesting": "top-level",
           "redirection": "keep-scheme-redirect",
           "subresource": "img-tag",
           "expectation": "allowed"
         },
         document.querySelector("meta[name=assert]").content,
         new SanityChecker()
       ).start();
       </script>
+    <div id="log"></div>
   </body>
 </html>
--- a/testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/img-tag/top-level/no-redirect/allowed.https.html
+++ b/testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/img-tag/top-level/no-redirect/allowed.https.html
@@ -1,57 +1,40 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
+<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
     <meta charset='utf-8'>
     <meta name="description" content="Test behavior of allowed content.">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="http://www.w3.org/TR/mixed-content/">
     <meta name="assert" content="opt_in_method: http-csp
                                  origin: same-host-https
                                  source_scheme: https
                                  context_nesting: top-level
                                  redirection: no-redirect
                                  subresource: img-tag
                                  expectation: allowed">
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
-    <!-- Common global functions for mixed-content tests. -->
     <script src="/mixed-content/generic/common.js"></script>
-    <!-- The original specification JSON for validating the scenario. -->
-    <script src="/mixed-content/spec_json.js"></script>
-    <!-- Internal checking of the tests -->
-    <script src="/mixed-content/generic/sanity-checker.js"></script>
-    <!-- Simple wrapper API for all mixed-content test cases. -->
     <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
   </head>
   <body>
-    <h1>Allowed content</h1>
-    <h2>Test behavior of allowed content.</h2>
-    <pre>opt_in_method: http-csp
-                                 origin: same-host-https
-                                 source_scheme: https
-                                 context_nesting: top-level
-                                 redirection: no-redirect
-                                 subresource: img-tag
-                                 expectation: allowed</pre>
-
-    <p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
-       details for this test.</p>
-
-    <div id="log"></div>
     <script>
       MixedContentTestCase(
         {
           "opt_in_method": "http-csp",
           "origin": "same-host-https",
           "source_scheme": "https",
           "context_nesting": "top-level",
           "redirection": "no-redirect",
           "subresource": "img-tag",
           "expectation": "allowed"
         },
         document.querySelector("meta[name=assert]").content,
         new SanityChecker()
       ).start();
       </script>
+    <div id="log"></div>
   </body>
 </html>
--- a/testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/link-css-tag/top-level/keep-scheme-redirect/allowed.https.html
+++ b/testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/link-css-tag/top-level/keep-scheme-redirect/allowed.https.html
@@ -1,57 +1,40 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
+<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
     <meta charset='utf-8'>
     <meta name="description" content="Test behavior of allowed content.">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="http://www.w3.org/TR/mixed-content/">
     <meta name="assert" content="opt_in_method: http-csp
                                  origin: same-host-https
                                  source_scheme: https
                                  context_nesting: top-level
                                  redirection: keep-scheme-redirect
                                  subresource: link-css-tag
                                  expectation: allowed">
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
-    <!-- Common global functions for mixed-content tests. -->
     <script src="/mixed-content/generic/common.js"></script>
-    <!-- The original specification JSON for validating the scenario. -->
-    <script src="/mixed-content/spec_json.js"></script>
-    <!-- Internal checking of the tests -->
-    <script src="/mixed-content/generic/sanity-checker.js"></script>
-    <!-- Simple wrapper API for all mixed-content test cases. -->
     <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
   </head>
   <body>
-    <h1>Allowed content</h1>
-    <h2>Test behavior of allowed content.</h2>
-    <pre>opt_in_method: http-csp
-                                 origin: same-host-https
-                                 source_scheme: https
-                                 context_nesting: top-level
-                                 redirection: keep-scheme-redirect
-                                 subresource: link-css-tag
-                                 expectation: allowed</pre>
-
-    <p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
-       details for this test.</p>
-
-    <div id="log"></div>
     <script>
       MixedContentTestCase(
         {
           "opt_in_method": "http-csp",
           "origin": "same-host-https",
           "source_scheme": "https",
           "context_nesting": "top-level",
           "redirection": "keep-scheme-redirect",
           "subresource": "link-css-tag",
           "expectation": "allowed"
         },
         document.querySelector("meta[name=assert]").content,
         new SanityChecker()
       ).start();
       </script>
+    <div id="log"></div>
   </body>
 </html>
--- a/testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/link-css-tag/top-level/no-redirect/allowed.https.html
+++ b/testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/link-css-tag/top-level/no-redirect/allowed.https.html
@@ -1,57 +1,40 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
+<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
     <meta charset='utf-8'>
     <meta name="description" content="Test behavior of allowed content.">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="http://www.w3.org/TR/mixed-content/">
     <meta name="assert" content="opt_in_method: http-csp
                                  origin: same-host-https
                                  source_scheme: https
                                  context_nesting: top-level
                                  redirection: no-redirect
                                  subresource: link-css-tag
                                  expectation: allowed">
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
-    <!-- Common global functions for mixed-content tests. -->
     <script src="/mixed-content/generic/common.js"></script>
-    <!-- The original specification JSON for validating the scenario. -->
-    <script src="/mixed-content/spec_json.js"></script>
-    <!-- Internal checking of the tests -->
-    <script src="/mixed-content/generic/sanity-checker.js"></script>
-    <!-- Simple wrapper API for all mixed-content test cases. -->
     <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
   </head>
   <body>
-    <h1>Allowed content</h1>
-    <h2>Test behavior of allowed content.</h2>
-    <pre>opt_in_method: http-csp
-                                 origin: same-host-https
-                                 source_scheme: https
-                                 context_nesting: top-level
-                                 redirection: no-redirect
-                                 subresource: link-css-tag
-                                 expectation: allowed</pre>
-
-    <p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
-       details for this test.</p>
-
-    <div id="log"></div>
     <script>
       MixedContentTestCase(
         {
           "opt_in_method": "http-csp",
           "origin": "same-host-https",
           "source_scheme": "https",
           "context_nesting": "top-level",
           "redirection": "no-redirect",
           "subresource": "link-css-tag",
           "expectation": "allowed"
         },
         document.querySelector("meta[name=assert]").content,
         new SanityChecker()
       ).start();
       </script>
+    <div id="log"></div>
   </body>
 </html>
--- a/testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/link-prefetch-tag/top-level/keep-scheme-redirect/allowed.https.html
+++ b/testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/link-prefetch-tag/top-level/keep-scheme-redirect/allowed.https.html
@@ -1,57 +1,40 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
+<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
     <meta charset='utf-8'>
     <meta name="description" content="Test behavior of allowed content.">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="http://www.w3.org/TR/mixed-content/">
     <meta name="assert" content="opt_in_method: http-csp
                                  origin: same-host-https
                                  source_scheme: https
                                  context_nesting: top-level
                                  redirection: keep-scheme-redirect
                                  subresource: link-prefetch-tag
                                  expectation: allowed">
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
-    <!-- Common global functions for mixed-content tests. -->
     <script src="/mixed-content/generic/common.js"></script>
-    <!-- The original specification JSON for validating the scenario. -->
-    <script src="/mixed-content/spec_json.js"></script>
-    <!-- Internal checking of the tests -->
-    <script src="/mixed-content/generic/sanity-checker.js"></script>
-    <!-- Simple wrapper API for all mixed-content test cases. -->
     <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
   </head>
   <body>
-    <h1>Allowed content</h1>
-    <h2>Test behavior of allowed content.</h2>
-    <pre>opt_in_method: http-csp
-                                 origin: same-host-https
-                                 source_scheme: https
-                                 context_nesting: top-level
-                                 redirection: keep-scheme-redirect
-                                 subresource: link-prefetch-tag
-                                 expectation: allowed</pre>
-
-    <p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
-       details for this test.</p>
-
-    <div id="log"></div>
     <script>
       MixedContentTestCase(
         {
           "opt_in_method": "http-csp",
           "origin": "same-host-https",
           "source_scheme": "https",
           "context_nesting": "top-level",
           "redirection": "keep-scheme-redirect",
           "subresource": "link-prefetch-tag",
           "expectation": "allowed"
         },
         document.querySelector("meta[name=assert]").content,
         new SanityChecker()
       ).start();
       </script>
+    <div id="log"></div>
   </body>
 </html>
--- a/testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/link-prefetch-tag/top-level/no-redirect/allowed.https.html
+++ b/testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/link-prefetch-tag/top-level/no-redirect/allowed.https.html
@@ -1,57 +1,40 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
+<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
     <meta charset='utf-8'>
     <meta name="description" content="Test behavior of allowed content.">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="http://www.w3.org/TR/mixed-content/">
     <meta name="assert" content="opt_in_method: http-csp
                                  origin: same-host-https
                                  source_scheme: https
                                  context_nesting: top-level
                                  redirection: no-redirect
                                  subresource: link-prefetch-tag
                                  expectation: allowed">
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
-    <!-- Common global functions for mixed-content tests. -->
     <script src="/mixed-content/generic/common.js"></script>
-    <!-- The original specification JSON for validating the scenario. -->
-    <script src="/mixed-content/spec_json.js"></script>
-    <!-- Internal checking of the tests -->
-    <script src="/mixed-content/generic/sanity-checker.js"></script>
-    <!-- Simple wrapper API for all mixed-content test cases. -->
     <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
   </head>
   <body>
-    <h1>Allowed content</h1>
-    <h2>Test behavior of allowed content.</h2>
-    <pre>opt_in_method: http-csp
-                                 origin: same-host-https
-                                 source_scheme: https
-                                 context_nesting: top-level
-                                 redirection: no-redirect
-                                 subresource: link-prefetch-tag
-                                 expectation: allowed</pre>
-
-    <p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
-       details for this test.</p>
-
-    <div id="log"></div>
     <script>
       MixedContentTestCase(
         {
           "opt_in_method": "http-csp",
           "origin": "same-host-https",
           "source_scheme": "https",
           "context_nesting": "top-level",
           "redirection": "no-redirect",
           "subresource": "link-prefetch-tag",
           "expectation": "allowed"
         },
         document.querySelector("meta[name=assert]").content,
         new SanityChecker()
       ).start();
       </script>
+    <div id="log"></div>
   </body>
 </html>
--- a/testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/object-tag/top-level/keep-scheme-redirect/allowed.https.html
+++ b/testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/object-tag/top-level/keep-scheme-redirect/allowed.https.html
@@ -1,57 +1,40 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
+<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
     <meta charset='utf-8'>
     <meta name="description" content="Test behavior of allowed content.">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="http://www.w3.org/TR/mixed-content/">
     <meta name="assert" content="opt_in_method: http-csp
                                  origin: same-host-https
                                  source_scheme: https
                                  context_nesting: top-level
                                  redirection: keep-scheme-redirect
                                  subresource: object-tag
                                  expectation: allowed">
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
-    <!-- Common global functions for mixed-content tests. -->
     <script src="/mixed-content/generic/common.js"></script>
-    <!-- The original specification JSON for validating the scenario. -->
-    <script src="/mixed-content/spec_json.js"></script>
-    <!-- Internal checking of the tests -->
-    <script src="/mixed-content/generic/sanity-checker.js"></script>
-    <!-- Simple wrapper API for all mixed-content test cases. -->
     <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
   </head>
   <body>
-    <h1>Allowed content</h1>
-    <h2>Test behavior of allowed content.</h2>
-    <pre>opt_in_method: http-csp
-                                 origin: same-host-https
-                                 source_scheme: https
-                                 context_nesting: top-level
-                                 redirection: keep-scheme-redirect
-                                 subresource: object-tag
-                                 expectation: allowed</pre>
-
-    <p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
-       details for this test.</p>
-
-    <div id="log"></div>
     <script>
       MixedContentTestCase(
         {
           "opt_in_method": "http-csp",
           "origin": "same-host-https",
           "source_scheme": "https",
           "context_nesting": "top-level",
           "redirection": "keep-scheme-redirect",
           "subresource": "object-tag",
           "expectation": "allowed"
         },
         document.querySelector("meta[name=assert]").content,
         new SanityChecker()
       ).start();
       </script>
+    <div id="log"></div>
   </body>
 </html>
--- a/testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/object-tag/top-level/no-redirect/allowed.https.html
+++ b/testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/object-tag/top-level/no-redirect/allowed.https.html
@@ -1,57 +1,40 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
+<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
     <meta charset='utf-8'>
     <meta name="description" content="Test behavior of allowed content.">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="http://www.w3.org/TR/mixed-content/">
     <meta name="assert" content="opt_in_method: http-csp
                                  origin: same-host-https
                                  source_scheme: https
                                  context_nesting: top-level
                                  redirection: no-redirect
                                  subresource: object-tag
                                  expectation: allowed">
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
-    <!-- Common global functions for mixed-content tests. -->
     <script src="/mixed-content/generic/common.js"></script>
-    <!-- The original specification JSON for validating the scenario. -->
-    <script src="/mixed-content/spec_json.js"></script>
-    <!-- Internal checking of the tests -->
-    <script src="/mixed-content/generic/sanity-checker.js"></script>
-    <!-- Simple wrapper API for all mixed-content test cases. -->
     <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
   </head>
   <body>
-    <h1>Allowed content</h1>
-    <h2>Test behavior of allowed content.</h2>
-    <pre>opt_in_method: http-csp
-                                 origin: same-host-https
-                                 source_scheme: https
-                                 context_nesting: top-level
-                                 redirection: no-redirect
-                                 subresource: object-tag
-                                 expectation: allowed</pre>
-
-    <p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
-       details for this test.</p>
-
-    <div id="log"></div>
     <script>
       MixedContentTestCase(
         {
           "opt_in_method": "http-csp",
           "origin": "same-host-https",
           "source_scheme": "https",
           "context_nesting": "top-level",
           "redirection": "no-redirect",
           "subresource": "object-tag",
           "expectation": "allowed"
         },
         document.querySelector("meta[name=assert]").content,
         new SanityChecker()
       ).start();
       </script>
+    <div id="log"></div>
   </body>
 </html>
--- a/testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/picture-tag/top-level/keep-scheme-redirect/allowed.https.html
+++ b/testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/picture-tag/top-level/keep-scheme-redirect/allowed.https.html
@@ -1,57 +1,40 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
+<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
     <meta charset='utf-8'>
     <meta name="description" content="Test behavior of allowed content.">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="http://www.w3.org/TR/mixed-content/">
     <meta name="assert" content="opt_in_method: http-csp
                                  origin: same-host-https
                                  source_scheme: https
                                  context_nesting: top-level
                                  redirection: keep-scheme-redirect
                                  subresource: picture-tag
                                  expectation: allowed">
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
-    <!-- Common global functions for mixed-content tests. -->
     <script src="/mixed-content/generic/common.js"></script>
-    <!-- The original specification JSON for validating the scenario. -->
-    <script src="/mixed-content/spec_json.js"></script>
-    <!-- Internal checking of the tests -->
-    <script src="/mixed-content/generic/sanity-checker.js"></script>
-    <!-- Simple wrapper API for all mixed-content test cases. -->
     <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
   </head>
   <body>
-    <h1>Allowed content</h1>
-    <h2>Test behavior of allowed content.</h2>
-    <pre>opt_in_method: http-csp
-                                 origin: same-host-https
-                                 source_scheme: https
-                                 context_nesting: top-level
-                                 redirection: keep-scheme-redirect
-                                 subresource: picture-tag
-                                 expectation: allowed</pre>
-
-    <p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
-       details for this test.</p>
-
-    <div id="log"></div>
     <script>
       MixedContentTestCase(
         {
           "opt_in_method": "http-csp",
           "origin": "same-host-https",
           "source_scheme": "https",
           "context_nesting": "top-level",
           "redirection": "keep-scheme-redirect",
           "subresource": "picture-tag",
           "expectation": "allowed"
         },
         document.querySelector("meta[name=assert]").content,
         new SanityChecker()
       ).start();
       </script>
+    <div id="log"></div>
   </body>
 </html>
--- a/testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/picture-tag/top-level/no-redirect/allowed.https.html
+++ b/testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/picture-tag/top-level/no-redirect/allowed.https.html
@@ -1,57 +1,40 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
+<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
     <meta charset='utf-8'>
     <meta name="description" content="Test behavior of allowed content.">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="http://www.w3.org/TR/mixed-content/">
     <meta name="assert" content="opt_in_method: http-csp
                                  origin: same-host-https
                                  source_scheme: https
                                  context_nesting: top-level
                                  redirection: no-redirect
                                  subresource: picture-tag
                                  expectation: allowed">
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
-    <!-- Common global functions for mixed-content tests. -->
     <script src="/mixed-content/generic/common.js"></script>
-    <!-- The original specification JSON for validating the scenario. -->
-    <script src="/mixed-content/spec_json.js"></script>
-    <!-- Internal checking of the tests -->
-    <script src="/mixed-content/generic/sanity-checker.js"></script>
-    <!-- Simple wrapper API for all mixed-content test cases. -->
     <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
   </head>
   <body>
-    <h1>Allowed content</h1>
-    <h2>Test behavior of allowed content.</h2>
-    <pre>opt_in_method: http-csp
-                                 origin: same-host-https
-                                 source_scheme: https
-                                 context_nesting: top-level
-                                 redirection: no-redirect
-                                 subresource: picture-tag
-                                 expectation: allowed</pre>
-
-    <p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
-       details for this test.</p>
-
-    <div id="log"></div>
     <script>
       MixedContentTestCase(
         {
           "opt_in_method": "http-csp",
           "origin": "same-host-https",
           "source_scheme": "https",
           "context_nesting": "top-level",
           "redirection": "no-redirect",
           "subresource": "picture-tag",
           "expectation": "allowed"
         },
         document.querySelector("meta[name=assert]").content,
         new SanityChecker()
       ).start();
       </script>
+    <div id="log"></div>
   </body>
 </html>
--- a/testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/script-tag/top-level/keep-scheme-redirect/allowed.https.html
+++ b/testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/script-tag/top-level/keep-scheme-redirect/allowed.https.html
@@ -1,57 +1,40 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
+<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
     <meta charset='utf-8'>
     <meta name="description" content="Test behavior of allowed content.">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="http://www.w3.org/TR/mixed-content/">
     <meta name="assert" content="opt_in_method: http-csp
                                  origin: same-host-https
                                  source_scheme: https
                                  context_nesting: top-level
                                  redirection: keep-scheme-redirect
                                  subresource: script-tag
                                  expectation: allowed">
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
-    <!-- Common global functions for mixed-content tests. -->
     <script src="/mixed-content/generic/common.js"></script>
-    <!-- The original specification JSON for validating the scenario. -->
-    <script src="/mixed-content/spec_json.js"></script>
-    <!-- Internal checking of the tests -->
-    <script src="/mixed-content/generic/sanity-checker.js"></script>
-    <!-- Simple wrapper API for all mixed-content test cases. -->
     <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
   </head>
   <body>
-    <h1>Allowed content</h1>
-    <h2>Test behavior of allowed content.</h2>
-    <pre>opt_in_method: http-csp
-                                 origin: same-host-https
-                                 source_scheme: https
-                                 context_nesting: top-level
-                                 redirection: keep-scheme-redirect
-                                 subresource: script-tag
-                                 expectation: allowed</pre>
-
-    <p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
-       details for this test.</p>
-
-    <div id="log"></div>
     <script>
       MixedContentTestCase(
         {
           "opt_in_method": "http-csp",
           "origin": "same-host-https",
           "source_scheme": "https",
           "context_nesting": "top-level",
           "redirection": "keep-scheme-redirect",
           "subresource": "script-tag",
           "expectation": "allowed"
         },
         document.querySelector("meta[name=assert]").content,
         new SanityChecker()
       ).start();
       </script>
+    <div id="log"></div>
   </body>
 </html>
--- a/testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/script-tag/top-level/no-redirect/allowed.https.html
+++ b/testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/script-tag/top-level/no-redirect/allowed.https.html
@@ -1,57 +1,40 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
+<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
     <meta charset='utf-8'>
     <meta name="description" content="Test behavior of allowed content.">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="http://www.w3.org/TR/mixed-content/">
     <meta name="assert" content="opt_in_method: http-csp
                                  origin: same-host-https
                                  source_scheme: https
                                  context_nesting: top-level
                                  redirection: no-redirect
                                  subresource: script-tag
                                  expectation: allowed">
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
-    <!-- Common global functions for mixed-content tests. -->
     <script src="/mixed-content/generic/common.js"></script>
-    <!-- The original specification JSON for validating the scenario. -->
-    <script src="/mixed-content/spec_json.js"></script>
-    <!-- Internal checking of the tests -->
-    <script src="/mixed-content/generic/sanity-checker.js"></script>
-    <!-- Simple wrapper API for all mixed-content test cases. -->
     <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
   </head>
   <body>
-    <h1>Allowed content</h1>
-    <h2>Test behavior of allowed content.</h2>
-    <pre>opt_in_method: http-csp
-                                 origin: same-host-https
-                                 source_scheme: https
-                                 context_nesting: top-level
-                                 redirection: no-redirect
-                                 subresource: script-tag
-                                 expectation: allowed</pre>
-
-    <p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
-       details for this test.</p>
-
-    <div id="log"></div>
     <script>
       MixedContentTestCase(
         {
           "opt_in_method": "http-csp",
           "origin": "same-host-https",
           "source_scheme": "https",
           "context_nesting": "top-level",
           "redirection": "no-redirect",
           "subresource": "script-tag",
           "expectation": "allowed"
         },
         document.querySelector("meta[name=assert]").content,
         new SanityChecker()
       ).start();
       </script>
+    <div id="log"></div>
   </body>
 </html>
--- a/testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/video-tag/top-level/keep-scheme-redirect/allowed.https.html
+++ b/testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/video-tag/top-level/keep-scheme-redirect/allowed.https.html
@@ -1,57 +1,40 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
+<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
     <meta charset='utf-8'>
     <meta name="description" content="Test behavior of allowed content.">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="http://www.w3.org/TR/mixed-content/">
     <meta name="assert" content="opt_in_method: http-csp
                                  origin: same-host-https
                                  source_scheme: https
                                  context_nesting: top-level
                                  redirection: keep-scheme-redirect
                                  subresource: video-tag
                                  expectation: allowed">
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
-    <!-- Common global functions for mixed-content tests. -->
     <script src="/mixed-content/generic/common.js"></script>
-    <!-- The original specification JSON for validating the scenario. -->
-    <script src="/mixed-content/spec_json.js"></script>
-    <!-- Internal checking of the tests -->
-    <script src="/mixed-content/generic/sanity-checker.js"></script>
-    <!-- Simple wrapper API for all mixed-content test cases. -->
     <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
   </head>
   <body>
-    <h1>Allowed content</h1>
-    <h2>Test behavior of allowed content.</h2>
-    <pre>opt_in_method: http-csp
-                                 origin: same-host-https
-                                 source_scheme: https
-                                 context_nesting: top-level
-                                 redirection: keep-scheme-redirect
-                                 subresource: video-tag
-                                 expectation: allowed</pre>
-
-    <p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
-       details for this test.</p>
-
-    <div id="log"></div>
     <script>
       MixedContentTestCase(
         {
           "opt_in_method": "http-csp",
           "origin": "same-host-https",
           "source_scheme": "https",
           "context_nesting": "top-level",
           "redirection": "keep-scheme-redirect",
           "subresource": "video-tag",
           "expectation": "allowed"
         },
         document.querySelector("meta[name=assert]").content,
         new SanityChecker()
       ).start();
       </script>
+    <div id="log"></div>
   </body>
 </html>
--- a/testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/video-tag/top-level/no-redirect/allowed.https.html
+++ b/testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/video-tag/top-level/no-redirect/allowed.https.html
@@ -1,57 +1,40 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
+<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
     <meta charset='utf-8'>
     <meta name="description" content="Test behavior of allowed content.">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="http://www.w3.org/TR/mixed-content/">
     <meta name="assert" content="opt_in_method: http-csp
                                  origin: same-host-https
                                  source_scheme: https
                                  context_nesting: top-level
                                  redirection: no-redirect
                                  subresource: video-tag
                                  expectation: allowed">
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
-    <!-- Common global functions for mixed-content tests. -->
     <script src="/mixed-content/generic/common.js"></script>
-    <!-- The original specification JSON for validating the scenario. -->
-    <script src="/mixed-content/spec_json.js"></script>
-    <!-- Internal checking of the tests -->
-    <script src="/mixed-content/generic/sanity-checker.js"></script>
-    <!-- Simple wrapper API for all mixed-content test cases. -->
     <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
   </head>
   <body>
-    <h1>Allowed content</h1>
-    <h2>Test behavior of allowed content.</h2>
-    <pre>opt_in_method: http-csp
-                                 origin: same-host-https
-                                 source_scheme: https
-                                 context_nesting: top-level
-                                 redirection: no-redirect
-                                 subresource: video-tag
-                                 expectation: allowed</pre>
-
-    <p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
-       details for this test.</p>
-
-    <div id="log"></div>
     <script>
       MixedContentTestCase(
         {
           "opt_in_method": "http-csp",
           "origin": "same-host-https",
           "source_scheme": "https",
           "context_nesting": "top-level",
           "redirection": "no-redirect",
           "subresource": "video-tag",
           "expectation": "allowed"
         },
         document.querySelector("meta[name=assert]").content,
         new SanityChecker()
       ).start();
       </script>
+    <div id="log"></div>
   </body>
 </html>
--- a/testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/worker-request/top-level/keep-scheme-redirect/allowed.https.html
+++ b/testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/worker-request/top-level/keep-scheme-redirect/allowed.https.html
@@ -1,57 +1,40 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
+<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
     <meta charset='utf-8'>
     <meta name="description" content="Test behavior of allowed content.">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="http://www.w3.org/TR/mixed-content/">
     <meta name="assert" content="opt_in_method: http-csp
                                  origin: same-host-https
                                  source_scheme: https
                                  context_nesting: top-level
                                  redirection: keep-scheme-redirect
                                  subresource: worker-request
                                  expectation: allowed">
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
-    <!-- Common global functions for mixed-content tests. -->
     <script src="/mixed-content/generic/common.js"></script>
-    <!-- The original specification JSON for validating the scenario. -->
-    <script src="/mixed-content/spec_json.js"></script>
-    <!-- Internal checking of the tests -->
-    <script src="/mixed-content/generic/sanity-checker.js"></script>
-    <!-- Simple wrapper API for all mixed-content test cases. -->
     <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
   </head>
   <body>
-    <h1>Allowed content</h1>
-    <h2>Test behavior of allowed content.</h2>
-    <pre>opt_in_method: http-csp
-                                 origin: same-host-https
-                                 source_scheme: https
-                                 context_nesting: top-level
-                                 redirection: keep-scheme-redirect
-                                 subresource: worker-request
-                                 expectation: allowed</pre>
-
-    <p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
-       details for this test.</p>
-
-    <div id="log"></div>
     <script>
       MixedContentTestCase(
         {
           "opt_in_method": "http-csp",
           "origin": "same-host-https",
           "source_scheme": "https",
           "context_nesting": "top-level",
           "redirection": "keep-scheme-redirect",
           "subresource": "worker-request",
           "expectation": "allowed"
         },
         document.querySelector("meta[name=assert]").content,
         new SanityChecker()
       ).start();
       </script>
+    <div id="log"></div>
   </body>
 </html>
--- a/testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/worker-request/top-level/no-redirect/allowed.https.html
+++ b/testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/worker-request/top-level/no-redirect/allowed.https.html
@@ -1,57 +1,40 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
+<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
     <meta charset='utf-8'>
     <meta name="description" content="Test behavior of allowed content.">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="http://www.w3.org/TR/mixed-content/">
     <meta name="assert" content="opt_in_method: http-csp
                                  origin: same-host-https
                                  source_scheme: https
                                  context_nesting: top-level
                                  redirection: no-redirect
                                  subresource: worker-request
                                  expectation: allowed">
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
-    <!-- Common global functions for mixed-content tests. -->
     <script src="/mixed-content/generic/common.js"></script>
-    <!-- The original specification JSON for validating the scenario. -->
-    <script src="/mixed-content/spec_json.js"></script>
-    <!-- Internal checking of the tests -->
-    <script src="/mixed-content/generic/sanity-checker.js"></script>
-    <!-- Simple wrapper API for all mixed-content test cases. -->
     <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
   </head>
   <body>
-    <h1>Allowed content</h1>
-    <h2>Test behavior of allowed content.</h2>
-    <pre>opt_in_method: http-csp
-                                 origin: same-host-https
-                                 source_scheme: https
-                                 context_nesting: top-level
-                                 redirection: no-redirect
-                                 subresource: worker-request
-                                 expectation: allowed</pre>
-
-    <p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
-       details for this test.</p>
-
-    <div id="log"></div>
     <script>
       MixedContentTestCase(
         {
           "opt_in_method": "http-csp",
           "origin": "same-host-https",
           "source_scheme": "https",
           "context_nesting": "top-level",
           "redirection": "no-redirect",
           "subresource": "worker-request",
           "expectation": "allowed"
         },
         document.querySelector("meta[name=assert]").content,
         new SanityChecker()
       ).start();
       </script>
+    <div id="log"></div>
   </body>
 </html>
--- a/testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/xhr-request/top-level/keep-scheme-redirect/allowed.https.html
+++ b/testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/xhr-request/top-level/keep-scheme-redirect/allowed.https.html
@@ -1,57 +1,40 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
+<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
     <meta charset='utf-8'>
     <meta name="description" content="Test behavior of allowed content.">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="http://www.w3.org/TR/mixed-content/">
     <meta name="assert" content="opt_in_method: http-csp
                                  origin: same-host-https
                                  source_scheme: https
                                  context_nesting: top-level
                                  redirection: keep-scheme-redirect
                                  subresource: xhr-request
                                  expectation: allowed">
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
-    <!-- Common global functions for mixed-content tests. -->
     <script src="/mixed-content/generic/common.js"></script>
-    <!-- The original specification JSON for validating the scenario. -->
-    <script src="/mixed-content/spec_json.js"></script>
-    <!-- Internal checking of the tests -->
-    <script src="/mixed-content/generic/sanity-checker.js"></script>
-    <!-- Simple wrapper API for all mixed-content test cases. -->
     <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
   </head>
   <body>
-    <h1>Allowed content</h1>
-    <h2>Test behavior of allowed content.</h2>
-    <pre>opt_in_method: http-csp
-                                 origin: same-host-https
-                                 source_scheme: https
-                                 context_nesting: top-level
-                                 redirection: keep-scheme-redirect
-                                 subresource: xhr-request
-                                 expectation: allowed</pre>
-
-    <p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
-       details for this test.</p>
-
-    <div id="log"></div>
     <script>
       MixedContentTestCase(
         {
           "opt_in_method": "http-csp",
           "origin": "same-host-https",
           "source_scheme": "https",
           "context_nesting": "top-level",
           "redirection": "keep-scheme-redirect",
           "subresource": "xhr-request",
           "expectation": "allowed"
         },
         document.querySelector("meta[name=assert]").content,
         new SanityChecker()
       ).start();
       </script>
+    <div id="log"></div>
   </body>
 </html>
--- a/testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/xhr-request/top-level/no-redirect/allowed.https.html
+++ b/testing/web-platform/tests/mixed-content/allowed/http-csp/same-host-https/xhr-request/top-level/no-redirect/allowed.https.html
@@ -1,57 +1,40 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
+<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
     <meta charset='utf-8'>
     <meta name="description" content="Test behavior of allowed content.">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="http://www.w3.org/TR/mixed-content/">
     <meta name="assert" content="opt_in_method: http-csp
                                  origin: same-host-https
                                  source_scheme: https
                                  context_nesting: top-level
                                  redirection: no-redirect
                                  subresource: xhr-request
                                  expectation: allowed">
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
-    <!-- Common global functions for mixed-content tests. -->
     <script src="/mixed-content/generic/common.js"></script>
-    <!-- The original specification JSON for validating the scenario. -->
-    <script src="/mixed-content/spec_json.js"></script>
-    <!-- Internal checking of the tests -->
-    <script src="/mixed-content/generic/sanity-checker.js"></script>
-    <!-- Simple wrapper API for all mixed-content test cases. -->
     <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
   </head>
   <body>
-    <h1>Allowed content</h1>
-    <h2>Test behavior of allowed content.</h2>
-    <pre>opt_in_method: http-csp
-                                 origin: same-host-https
-                                 source_scheme: https
-                                 context_nesting: top-level
-                                 redirection: no-redirect
-                                 subresource: xhr-request
-                                 expectation: allowed</pre>
-
-    <p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
-       details for this test.</p>
-
-    <div id="log"></div>
     <script>
       MixedContentTestCase(
         {
           "opt_in_method": "http-csp",
           "origin": "same-host-https",
           "source_scheme": "https",
           "context_nesting": "top-level",
           "redirection": "no-redirect",
           "subresource": "xhr-request",
           "expectation": "allowed"
         },
         document.querySelector("meta[name=assert]").content,
         new SanityChecker()
       ).start();
       </script>
+    <div id="log"></div>
   </body>
 </html>
--- a/testing/web-platform/tests/mixed-content/allowed/meta-csp/same-host-https/audio-tag/top-level/no-redirect/allowed.https.html
+++ b/testing/web-platform/tests/mixed-content/allowed/meta-csp/same-host-https/audio-tag/top-level/no-redirect/allowed.https.html
@@ -1,57 +1,40 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
+<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
     <meta charset='utf-8'>
     <meta name="description" content="Test behavior of allowed content.">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="http://www.w3.org/TR/mixed-content/">
     <meta name="assert" content="opt_in_method: meta-csp
                                  origin: same-host-https
                                  source_scheme: https
                                  context_nesting: top-level
                                  redirection: no-redirect
                                  subresource: audio-tag
-                                 expectation: allowed"><meta http-equiv="Content-Security-Policy" content="block-all-mixed-content">
+                                 expectation: allowed">
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
-    <!-- Common global functions for mixed-content tests. -->
     <script src="/mixed-content/generic/common.js"></script>
-    <!-- The original specification JSON for validating the scenario. -->
-    <script src="/mixed-content/spec_json.js"></script>
-    <!-- Internal checking of the tests -->
-    <script src="/mixed-content/generic/sanity-checker.js"></script>
-    <!-- Simple wrapper API for all mixed-content test cases. -->
     <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
   </head>
   <body>
-    <h1>Allowed content</h1>
-    <h2>Test behavior of allowed content.</h2>
-    <pre>opt_in_method: meta-csp
-                                 origin: same-host-https
-                                 source_scheme: https
-                                 context_nesting: top-level
-                                 redirection: no-redirect
-                                 subresource: audio-tag
-                                 expectation: allowed</pre>
-
-    <p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
-       details for this test.</p>
-
-    <div id="log"></div>
     <script>
       MixedContentTestCase(
         {
           "opt_in_method": "meta-csp",
           "origin": "same-host-https",
           "source_scheme": "https",
           "context_nesting": "top-level",
           "redirection": "no-redirect",
           "subresource": "audio-tag",
           "expectation": "allowed"
         },
         document.querySelector("meta[name=assert]").content,
         new SanityChecker()
       ).start();
       </script>
+    <div id="log"></div>
   </body>
 </html>
--- a/testing/web-platform/tests/mixed-content/allowed/meta-csp/same-host-https/fetch-request/top-level/no-redirect/allowed.https.html
+++ b/testing/web-platform/tests/mixed-content/allowed/meta-csp/same-host-https/fetch-request/top-level/no-redirect/allowed.https.html
@@ -1,57 +1,40 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
+<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
     <meta charset='utf-8'>
     <meta name="description" content="Test behavior of allowed content.">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="http://www.w3.org/TR/mixed-content/">
     <meta name="assert" content="opt_in_method: meta-csp
                                  origin: same-host-https
                                  source_scheme: https
                                  context_nesting: top-level
                                  redirection: no-redirect
                                  subresource: fetch-request
-                                 expectation: allowed"><meta http-equiv="Content-Security-Policy" content="block-all-mixed-content">
+                                 expectation: allowed">
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
-    <!-- Common global functions for mixed-content tests. -->
     <script src="/mixed-content/generic/common.js"></script>
-    <!-- The original specification JSON for validating the scenario. -->
-    <script src="/mixed-content/spec_json.js"></script>
-    <!-- Internal checking of the tests -->
-    <script src="/mixed-content/generic/sanity-checker.js"></script>
-    <!-- Simple wrapper API for all mixed-content test cases. -->
     <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
   </head>
   <body>
-    <h1>Allowed content</h1>
-    <h2>Test behavior of allowed content.</h2>
-    <pre>opt_in_method: meta-csp
-                                 origin: same-host-https
-                                 source_scheme: https
-                                 context_nesting: top-level
-                                 redirection: no-redirect
-                                 subresource: fetch-request
-                                 expectation: allowed</pre>
-
-    <p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
-       details for this test.</p>
-
-    <div id="log"></div>
     <script>
       MixedContentTestCase(
         {
           "opt_in_method": "meta-csp",
           "origin": "same-host-https",
           "source_scheme": "https",
           "context_nesting": "top-level",
           "redirection": "no-redirect",
           "subresource": "fetch-request",
           "expectation": "allowed"
         },
         document.querySelector("meta[name=assert]").content,
         new SanityChecker()
       ).start();
       </script>
+    <div id="log"></div>
   </body>
 </html>
--- a/testing/web-platform/tests/mixed-content/allowed/meta-csp/same-host-https/form-tag/top-level/no-redirect/allowed.https.html
+++ b/testing/web-platform/tests/mixed-content/allowed/meta-csp/same-host-https/form-tag/top-level/no-redirect/allowed.https.html
@@ -1,57 +1,40 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
+<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
     <meta charset='utf-8'>
     <meta name="description" content="Test behavior of allowed content.">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="http://www.w3.org/TR/mixed-content/">
     <meta name="assert" content="opt_in_method: meta-csp
                                  origin: same-host-https
                                  source_scheme: https
                                  context_nesting: top-level
                                  redirection: no-redirect
                                  subresource: form-tag
-                                 expectation: allowed"><meta http-equiv="Content-Security-Policy" content="block-all-mixed-content">
+                                 expectation: allowed">
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
-    <!-- Common global functions for mixed-content tests. -->
     <script src="/mixed-content/generic/common.js"></script>
-    <!-- The original specification JSON for validating the scenario. -->
-    <script src="/mixed-content/spec_json.js"></script>
-    <!-- Internal checking of the tests -->
-    <script src="/mixed-content/generic/sanity-checker.js"></script>
-    <!-- Simple wrapper API for all mixed-content test cases. -->
     <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
   </head>
   <body>
-    <h1>Allowed content</h1>
-    <h2>Test behavior of allowed content.</h2>
-    <pre>opt_in_method: meta-csp
-                                 origin: same-host-https
-                                 source_scheme: https
-                                 context_nesting: top-level
-                                 redirection: no-redirect
-                                 subresource: form-tag
-                                 expectation: allowed</pre>
-
-    <p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
-       details for this test.</p>
-
-    <div id="log"></div>
     <script>
       MixedContentTestCase(
         {
           "opt_in_method": "meta-csp",
           "origin": "same-host-https",
           "source_scheme": "https",
           "context_nesting": "top-level",
           "redirection": "no-redirect",
           "subresource": "form-tag",
           "expectation": "allowed"
         },
         document.querySelector("meta[name=assert]").content,
         new SanityChecker()
       ).start();
       </script>
+    <div id="log"></div>
   </body>
 </html>
--- a/testing/web-platform/tests/mixed-content/allowed/meta-csp/same-host-https/iframe-tag/top-level/no-redirect/allowed.https.html
+++ b/testing/web-platform/tests/mixed-content/allowed/meta-csp/same-host-https/iframe-tag/top-level/no-redirect/allowed.https.html
@@ -1,57 +1,40 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
+<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
     <meta charset='utf-8'>
     <meta name="description" content="Test behavior of allowed content.">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="http://www.w3.org/TR/mixed-content/">
     <meta name="assert" content="opt_in_method: meta-csp
                                  origin: same-host-https
                                  source_scheme: https
                                  context_nesting: top-level
                                  redirection: no-redirect
                                  subresource: iframe-tag
-                                 expectation: allowed"><meta http-equiv="Content-Security-Policy" content="block-all-mixed-content">
+                                 expectation: allowed">
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
-    <!-- Common global functions for mixed-content tests. -->
     <script src="/mixed-content/generic/common.js"></script>
-    <!-- The original specification JSON for validating the scenario. -->
-    <script src="/mixed-content/spec_json.js"></script>
-    <!-- Internal checking of the tests -->
-    <script src="/mixed-content/generic/sanity-checker.js"></script>
-    <!-- Simple wrapper API for all mixed-content test cases. -->
     <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
   </head>
   <body>
-    <h1>Allowed content</h1>
-    <h2>Test behavior of allowed content.</h2>
-    <pre>opt_in_method: meta-csp
-                                 origin: same-host-https
-                                 source_scheme: https
-                                 context_nesting: top-level
-                                 redirection: no-redirect
-                                 subresource: iframe-tag
-                                 expectation: allowed</pre>
-
-    <p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
-       details for this test.</p>
-
-    <div id="log"></div>
     <script>
       MixedContentTestCase(
         {
           "opt_in_method": "meta-csp",
           "origin": "same-host-https",
           "source_scheme": "https",
           "context_nesting": "top-level",
           "redirection": "no-redirect",
           "subresource": "iframe-tag",
           "expectation": "allowed"
         },
         document.querySelector("meta[name=assert]").content,
         new SanityChecker()
       ).start();
       </script>
+    <div id="log"></div>
   </body>
 </html>
--- a/testing/web-platform/tests/mixed-content/allowed/meta-csp/same-host-https/img-tag/top-level/no-redirect/allowed.https.html
+++ b/testing/web-platform/tests/mixed-content/allowed/meta-csp/same-host-https/img-tag/top-level/no-redirect/allowed.https.html
@@ -1,57 +1,40 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
+<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
     <meta charset='utf-8'>
     <meta name="description" content="Test behavior of allowed content.">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="http://www.w3.org/TR/mixed-content/">
     <meta name="assert" content="opt_in_method: meta-csp
                                  origin: same-host-https
                                  source_scheme: https
                                  context_nesting: top-level
                                  redirection: no-redirect
                                  subresource: img-tag
-                                 expectation: allowed"><meta http-equiv="Content-Security-Policy" content="block-all-mixed-content">
+                                 expectation: allowed">
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
-    <!-- Common global functions for mixed-content tests. -->
     <script src="/mixed-content/generic/common.js"></script>
-    <!-- The original specification JSON for validating the scenario. -->
-    <script src="/mixed-content/spec_json.js"></script>
-    <!-- Internal checking of the tests -->
-    <script src="/mixed-content/generic/sanity-checker.js"></script>
-    <!-- Simple wrapper API for all mixed-content test cases. -->
     <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
   </head>
   <body>
-    <h1>Allowed content</h1>
-    <h2>Test behavior of allowed content.</h2>
-    <pre>opt_in_method: meta-csp
-                                 origin: same-host-https
-                                 source_scheme: https
-                                 context_nesting: top-level
-                                 redirection: no-redirect
-                                 subresource: img-tag
-                                 expectation: allowed</pre>
-
-    <p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
-       details for this test.</p>
-
-    <div id="log"></div>
     <script>
       MixedContentTestCase(
         {
           "opt_in_method": "meta-csp",
           "origin": "same-host-https",
           "source_scheme": "https",
           "context_nesting": "top-level",
           "redirection": "no-redirect",
           "subresource": "img-tag",
           "expectation": "allowed"
         },
         document.querySelector("meta[name=assert]").content,
         new SanityChecker()
       ).start();
       </script>
+    <div id="log"></div>
   </body>
 </html>
--- a/testing/web-platform/tests/mixed-content/allowed/meta-csp/same-host-https/link-css-tag/top-level/no-redirect/allowed.https.html
+++ b/testing/web-platform/tests/mixed-content/allowed/meta-csp/same-host-https/link-css-tag/top-level/no-redirect/allowed.https.html
@@ -1,57 +1,40 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
+<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
     <meta charset='utf-8'>
     <meta name="description" content="Test behavior of allowed content.">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="http://www.w3.org/TR/mixed-content/">
     <meta name="assert" content="opt_in_method: meta-csp
                                  origin: same-host-https
                                  source_scheme: https
                                  context_nesting: top-level
                                  redirection: no-redirect
                                  subresource: link-css-tag
-                                 expectation: allowed"><meta http-equiv="Content-Security-Policy" content="block-all-mixed-content">
+                                 expectation: allowed">
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
-    <!-- Common global functions for mixed-content tests. -->
     <script src="/mixed-content/generic/common.js"></script>
-    <!-- The original specification JSON for validating the scenario. -->
-    <script src="/mixed-content/spec_json.js"></script>
-    <!-- Internal checking of the tests -->
-    <script src="/mixed-content/generic/sanity-checker.js"></script>
-    <!-- Simple wrapper API for all mixed-content test cases. -->
     <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
   </head>
   <body>
-    <h1>Allowed content</h1>
-    <h2>Test behavior of allowed content.</h2>
-    <pre>opt_in_method: meta-csp
-                                 origin: same-host-https
-                                 source_scheme: https
-                                 context_nesting: top-level
-                                 redirection: no-redirect
-                                 subresource: link-css-tag
-                                 expectation: allowed</pre>
-
-    <p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
-       details for this test.</p>
-
-    <div id="log"></div>
     <script>
       MixedContentTestCase(
         {
           "opt_in_method": "meta-csp",
           "origin": "same-host-https",
           "source_scheme": "https",
           "context_nesting": "top-level",
           "redirection": "no-redirect",
           "subresource": "link-css-tag",
           "expectation": "allowed"
         },
         document.querySelector("meta[name=assert]").content,
         new SanityChecker()
       ).start();
       </script>
+    <div id="log"></div>
   </body>
 </html>
--- a/testing/web-platform/tests/mixed-content/allowed/meta-csp/same-host-https/link-prefetch-tag/top-level/no-redirect/allowed.https.html
+++ b/testing/web-platform/tests/mixed-content/allowed/meta-csp/same-host-https/link-prefetch-tag/top-level/no-redirect/allowed.https.html
@@ -1,57 +1,40 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
+<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
     <meta charset='utf-8'>
     <meta name="description" content="Test behavior of allowed content.">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="http://www.w3.org/TR/mixed-content/">
     <meta name="assert" content="opt_in_method: meta-csp
                                  origin: same-host-https
                                  source_scheme: https
                                  context_nesting: top-level
                                  redirection: no-redirect
                                  subresource: link-prefetch-tag
-                                 expectation: allowed"><meta http-equiv="Content-Security-Policy" content="block-all-mixed-content">
+                                 expectation: allowed">
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
-    <!-- Common global functions for mixed-content tests. -->
     <script src="/mixed-content/generic/common.js"></script>
-    <!-- The original specification JSON for validating the scenario. -->
-    <script src="/mixed-content/spec_json.js"></script>
-    <!-- Internal checking of the tests -->
-    <script src="/mixed-content/generic/sanity-checker.js"></script>
-    <!-- Simple wrapper API for all mixed-content test cases. -->
     <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
   </head>
   <body>
-    <h1>Allowed content</h1>
-    <h2>Test behavior of allowed content.</h2>
-    <pre>opt_in_method: meta-csp
-                                 origin: same-host-https
-                                 source_scheme: https
-                                 context_nesting: top-level
-                                 redirection: no-redirect
-                                 subresource: link-prefetch-tag
-                                 expectation: allowed</pre>
-
-    <p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
-       details for this test.</p>
-
-    <div id="log"></div>
     <script>
       MixedContentTestCase(
         {
           "opt_in_method": "meta-csp",
           "origin": "same-host-https",
           "source_scheme": "https",
           "context_nesting": "top-level",
           "redirection": "no-redirect",
           "subresource": "link-prefetch-tag",
           "expectation": "allowed"
         },
         document.querySelector("meta[name=assert]").content,
         new SanityChecker()
       ).start();
       </script>
+    <div id="log"></div>
   </body>
 </html>
--- a/testing/web-platform/tests/mixed-content/allowed/meta-csp/same-host-https/object-tag/top-level/no-redirect/allowed.https.html
+++ b/testing/web-platform/tests/mixed-content/allowed/meta-csp/same-host-https/object-tag/top-level/no-redirect/allowed.https.html
@@ -1,57 +1,40 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
+<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
     <meta charset='utf-8'>
     <meta name="description" content="Test behavior of allowed content.">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="http://www.w3.org/TR/mixed-content/">
     <meta name="assert" content="opt_in_method: meta-csp
                                  origin: same-host-https
                                  source_scheme: https
                                  context_nesting: top-level
                                  redirection: no-redirect
                                  subresource: object-tag
-                                 expectation: allowed"><meta http-equiv="Content-Security-Policy" content="block-all-mixed-content">
+                                 expectation: allowed">
     <script src="/resources/testharness.js"></script>
     <script sr